første skecth lavet af mig selv forsøgte jeg at skabe en skecth til et trafiklys ved hjælp af en trykknap for at ændre dens fase (1 – lukket for biler, åben for fodgængere 2 – vent 3 – åben for biler, lukket for fodgængere) en gang kommet på tredje fase, kommer tilbage til den første.

her går det ::

(kommentarer på portugisisk)

/* */ 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); } } 

Kommentarer

  • du bruger disse to variationer til variable tildelinger … int vermelhoc = 1; og int estadosemaforo == 1; …. en af disse er ikke den korrekte syntaks …. undersøg, hvordan man tildeler variable værdier

Svar

Du har mange mange grundlæggende syntaksfejl i din kode. Du er virkelig nødt til at læse mere og studere grundlæggende C og C ++, før du går videre.

Her er et par eksempler på, hvad jeg fandt:

  • Du har semikoloner, hvor der ikke burde være
  • Du blander == og = overalt
  • estadosemaforo == estadosemaforo 1++; giver overhovedet ingen mening – jeg har ingen anelse om, hvad du mener der
  • Variabler defineret i setup kan kun bruges i setup. Hvis du vil bruge en variabel i flere funktioner, skal den være være global.
  • estadosemaforo kan kun nogensinde være 1 eller 2. Den nulstilles til 1 hver gang loop() kører.
  • Du kan bare ikke forvente at læse en pin en gang og få dens værdi til at ændre sig magisk – du skal læse den hver tid, du vil vide pin-tilstanden.
  • Du læser fra en digital pin og bruger derefter resultaterne af den læste til at konfigurere en pin – og forventer derefter, at den gør noget nyttigt.

Kommentarer

  • i ' Jeg starter virkelig der, men mange tak. havde ikke ' ikke engang tænkt på disse fejl.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *