erstem Skecth Von mir selbst gemacht habe ich versucht, mit einem Druckknopf einen Skecth für eine Ampel zu erstellen, um deren Phase zu ändern (1 – geschlossen für Autos, offen für Fußgänger 2 – warten 3 – offen für Autos, geschlossen für Fußgänger), sobald ich auf dem dritten Platz angekommen bin Phase, kommt zurück zur ersten.

hier geht es ::

(Kommentare auf Portugiesisch)

/* */ void setup() { //declaraçao de variaveis globais. int vermelhoc = 1; int verdec =2; int amareloc = 3; int vermelhop = 4; int verdep = 5; //valor atribuido a variavel botao e definido pela leitura do estado do pino 7: HIGH ou LOW int botao = digitalRead(7); //definiçao do sentido de corrente eletrica. pinMode(vermelhoc, OUTPUT); pinMode(verdec, OUTPUT); pinMode(amareloc, OUTPUT); pinMode(vermelhop, OUTPUT); pinMode(verdep, OUTPUT); pinMode(botao, INPUT); } void loop() { //definiçao de variaveis locais int estadosemaforo == 1; //corpo da funçao que define o sistema de fases if(botao == HIGH;){ estadosemaforo == estadosemaforo 1++; } if( estadosemaforo == 4 ){ estadosemaforo == 1; } if ( estadosemaforo == 1 ){ // semaforo dos carros digitalWrite(vermelhoc, HIGH); digitalWrite(amareloc, LOW); digitalWrite(verdec, LOW); //semaforo de pedestres digitalWrite(vermelhop, LOW); digitalWrite(verdep, HIGH); } if ( estadosemaforo == 2 ){ // semaforo dos carros digitalWrite(vermelhoc, LOW); digitalWrite(amareloc, HIGH); digitalWrite(verdec, LOW); //semaforo de pedestres digitalWrite(vermelhop, HIGH); digitalWrite(verdep, LOW); } if ( estadosemaforo == 3 ){ // semaforo dos carros digitalWrite(vermelhoc, LOW); digitalWrite(amareloc, LOW); digitalWrite(verdec, HIGH); //semaforo de pedestres digitalWrite(vermelhop, HIGH); digitalWrite(verdep, LOW); } } 

Kommentare

  • Sie verwenden diese beiden Varianten für Variablenzuweisungen … int vermelhoc = 1; und int estadosemaforo == 1; …. eine davon ist nicht die richtige Syntax …. bitte recherchieren Sie, wie man variable Werte zuweist

Antwort

Ihr Code enthält viele grundlegende Syntaxfehler. Sie müssen wirklich noch etwas mehr über C und C ++ lesen und lernen, bevor Sie fortfahren.

Hier sind einige Beispiele für das, was ich gefunden habe:

  • Sie haben Semikolons, bei denen es nicht „
  • “ geben sollte. Sie verwechseln == und = überall
  • estadosemaforo == estadosemaforo 1++; macht überhaupt keinen Sinn – ich habe keine Ahnung, was Sie dort meinen
  • Variablen definiert in setup kann nur in setup verwendet werden. Wenn Sie eine Variable in mehreren Funktionen verwenden möchten, muss sie global sein.
  • estadosemaforo kann immer nur 1 oder 2 sein. Es wird jedes Mal auf 1 zurückgesetzt, wenn loop() ausgeführt wird.
  • Sie können nicht erwarten, dass ein Pin einmal gelesen wird und sich sein Wert magisch ändert – Sie müssen ihn jedes Mal lesen Mal, wenn Sie den Pin-Status wissen möchten.
  • Sie lesen von einem digitalen Pin und verwenden dann die Ergebnisse dieses Lesevorgangs, um einen Pin zu konfigurieren – und erwarten dann, dass er etwas Nützliches bewirkt.

Kommentare

  • Ich ' fange wirklich dort an, aber vielen Dank. ' hat nicht einmal über diese Fehler nachgedacht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.