質問: Arduino UnoはUSBのHIDインターフェイスとして動作しません 私はarduinoウノレブ3を持っており、それは完全に正常に動作します。私が使っているOSはKali Linux 2.0で、arduinoのすべてのものを普通にアップロードすることができます。 私はこのチュートリアルに従っています: Arduino Uno usbのHIDインターフェイスデバイスとして arduino uno r3を隠しデバイスとして使用するアップロードした後 ``` Arduino-keyboard-0.3.hex ``` ファイル、私はボードをサイクルするプラグインと私は例の点滅プログラムをアップロードしようとします。それは常に言う: ``` Serial Port /dev/ttyACM0 not found. Retry the upload with another serial port? /dev/ttyS0 ``` / dev/ttyACM0は私のデフォルトのarduinoポートで、/ dev/ttyS0は接続されている私のUSBデバイスの一つです。決して、私はアップロードしようとしましたが、ボードは応答していません。誰かが私を助けてくれますか?
回答: ATMega16U2チップをHIDデバイスとして再プログラムしました。したがって、もはやAtmega328Pとコンピュータの間のシリアルインタフェースとして機能しません。通常動作に戻るには、ATMega16U2のファームウェアをリフレッシュする必要があります。 私はブートローダアップローダページでこれをどのように行うかについての指示があります。要するに、元の16進ファイルを元に戻す必要があります。 ``` sudo dfu-programmer atmega16u2 flash Arduino-atmega16u2-Uno-firmware-Rev3.hex ``` UnoをHIDデバイスに変える他の方法もあります。 「Virtual USB Arduino」を検索してください。 もっと簡単に、Arduino LeonardoやArduino Microを手に入れてください。 > > はい、HIDとして**使用**するにはどうすればよいですか? > ...それは**それ**を検出することはできませんので、どのように**それ**にコードをアップロードすることができるだろう... > > > ここに「それ」とは何ですか?この写真を見てください: !Uno from above Unoには2つのプロセッサがあります。 ATMega16U2をリフレッシュしたようです。 ATMega16U2をHID、またはAtmega328PをHIDとして使用しますか?彼らはまったく異なるテクニックを必要とします。 ATMega16U2をリフレッシュすると、USBインタフェース経由でAtmega328Pに "到達"できなくなります。 リンクしたページには、ATMega16U2をプログラミングするためのワークフローがあります。あなたはそれに従っていますか?もしそうなら、どの部分があなたのために働いていないのですか?そうでない場合は、どうしてですか?