Arduino funktioniert nicht?

Hallo zusammen,

Ich wollte eben wieder etwas mit meinem Arduino machen. Um genau zu sein, einen einfachen 9g Servo steuern.

Allerdings lässt sich nichts auf den Arduino schreiben.

Com-Anschlussnummer habe ich jetzt auch schon mehrmals geändert. Auchanders Kable, anderen USB Port usw. Hat aber nichts gebracht.

(Was mir übrigens auch noch aufgefallen ist: Die grüne LED auf dem Arduino leuchtet durchgehend und blinkt nicht beim versuch ihn zu beschreiben.)

Bekomme immer diese Fehlermeldung:

avrdude: ser_open(): can't open device "\\.\COM3": Das System kann die angegebene Datei nicht finden.




avrdude: ser_drain(): read error: Das Handle ist ung�ltig.




avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




Der ausgewählte serielle Port 
 ist nicht vorhanden oder das Board ist nicht angeschlossen
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: Das Handle ist ung�ltig.




avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer


Wäre sehr dankbar, wenn mir jemand helfen könnte.

Computer, Software, Microsoft, Programm, Netzteil, Hardware, Elektronik, programmieren, Elektrik, Mikrocontroller, Gaming, Cplusplus, Motor, Arduino, CPP, Visual Studio, Servo, Arduino Uno, Arduino IDE
Wie kann ich diese delays mit millis ersetzen?

Hallo, ich versuche mir gerade die millis Funktion beizubringen. Zurzeit verstehe ich wie man Blink without delay an der internen LED programmiert, aber ich blicke nicht ganz durch, wie ich mein ganzes Programm mit millis ersetze. Ich möchte nämlich, dass sich zwei Motoren abhängig von den Messwerten eines Ultraschallsensors drehen. Wenn die Distanz >=5 ist, sollen sie sich beide vorwärts drehen ansonsten für 3 Sekunden rückwärts (Im Code sieht es nur so komisch aus mit FORWARD und BACKWARD, weil ich die Anschlüsse bei einem Motor falsch angelötet habe). Ich würde mich sehr über eine Antwort freuen :)

#include <AFMotor.h>
#include <Servo.h>


//AF_DCMotor motor1(1);
//AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);


int trigPin = 9;
int echoPin = 10;


unsigned long currentmillis;
unsigned long previousmillis;
const long interval_1 = 1000;
const long interval_2 = 10;


void setup() {
  Serial.begin(9600); 
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);


//  motor1.setSpeed(250);
//  motor1.run(RELEASE);
//  motor2.setSpeed(250);
//  motor2.run(RELEASE);
  motor3.setSpeed(250);
  motor3.run(RELEASE);
  motor4.setSpeed(250);
  motor4.run(RELEASE);


}


void loop() {
  //Ultraschallsensor
  currentmillis = millis();
  long duration, distance;


  if (currentmillis - previousmillis >= interval_1){
  digitalWrite(trigPin,HIGH);
  //delay(1000);
     previousmillis = currentmillis;
  }
  if (currentmillis - previousmillis >= interval_2){
  digitalWrite(trigPin, LOW);
  duration=pulseIn(echoPin, HIGH);
  distance =(duration/2)/29.1;
  Serial.print(distance);
  Serial.println("CM");
  //delay (10);
     previousmillis = currentmillis;
  }


//Motoren


//vorwärts
if (distance >=5){
  motor3.run(FORWARD);
  motor4.run(BACKWARD);
}
//rückwärts
if (currentmillis - previousmillis <= interval_1){
  if (distance <=5) {
  motor3.run(BACKWARD);
  motor4.run(FORWARD);
  //delay(3000);
    previousmillis = currentmillis;
  }
}
Arduino, Arduino Uno

Meistgelesene Beiträge zum Thema Arduino Uno