1. ホーム
  2. arduino

[解決済み] arduinoが最後のアップロードで突然 "avrdude: ser_open(): can't open device "\.\COM3""" と表示される。

2022-01-26 23:24:39

質問

arduino unoを使って音の探知機を作っています。 プログラムをアップロードしたところ、コードに誤りがあり、意図しない数値が不当に大きく返されてしまいます。 また、モジュールのコードが間違っていたようなのですが、正しいコードで正しく動作するように接続されていました。

アップロードしたコードは

const int ledPin =13;
const int middleValue = 512;
const int numberOfSamples =128;

int sample;
long signal;
long averageReading;

long runningAverage = 0;
const int averagedOver = 16;

const int threshold=400;

void setup(){
    pinMode(ledPin, OUTPUT)
    Serial.begin(9600)
}

void loop(){
    long sumOfSquares = 0;
    for (int i=0; i<numberOfSamples; i++){
        sample = analogRead(0);
        signal = (sample - middleValue);
        signal *= signal;
        sumOfSquares += signal;
    }
    averageReading = sumOfSquares/numberOfSamples;
    runningAverage=(((averagedOver -1 )*runningAverage)+averageReading)/averagedOver;

    if(runningAverage>threshold){
        digitalWrite(ledPin, HIGH);
    }else{
        digitalWrite(ledPin, LOW);
    }
    Serial.println(runningAverage);
}

arduinoが突然シリアル番号を送信しなくなったので、リセットボタンを押し、デフォルトのコードをアップロードしました。

void setup() {
}

void loop() {
}

に接続できないと表示されます。 COM3 (arduino) が表示され、デバイスを見つけることができません。 arduino uno デバイスマネージャーを使用してPCに正常に接続された (windows 8.1) . 電源やUSBに接続すると、arduinoのLEDライトも点灯します。

シリアル出力を見ようとクリックすると、"port not found"と表示されます。

Arduinoを壊してしまったのでしょうか? どうしたらいいですか?

また、USBを接続したときに、LEDの13番ピンが3回点滅するのを確認しました。私はちょうど何かをアップロードすることはできません。

解決方法を教えてください。

結論から言うと、あなたのArduinoは正常かもしれません。私の知る限りでは、Codeはコントローラを破壊することはできません。

  1. 他のソフトウェアが同じシリアルポートを使用していないか確認してください。2つのソフトウェアが同時に同じシリアルポートを使用することはできません。
  2. PCを再起動してから、もう一度試してみてください
  3. マイコンをボードから取り外し、PCに接続し、COMポートを開いてみてください。もし開いたら、TxピンとRxピンを接続し、データを送信して、データが戻ってくるかどうか確認してください。この方法で、USB-TTLコンバータが正常であることが確認できます。
  4. これが成功したら、マイコンを他のボードに挿入して、プログラムされているかどうかを確認します。

これらのチェックの後、あなたのボード/マイクロコントローラの障害の原因を見つけることができると確信しています。