första skecth jag själv gjorde jag försökte skapa en skecth för ett trafikljus med en tryckknapp för att ändra fas (1- stängd för bilar, öppen för fotgängare 2- vänta 3- öppen för bilar, stängd för fotgängare) kom en gång fas, kommer tillbaka till den första.

här går det ::

(kommentarer på portugisiska)

/* */ 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 använder dessa två varianter för variabla tilldelningar … int vermelhoc = 1; och int estadosemaforo == 1; …. en av dessa är inte rätt syntax …. undersök hur man tilldelar variabla värden

Svar

Du har många grundläggande syntaxfel i din kod. Du måste verkligen läsa och studera mer om grundläggande C och C ++ innan du går längre.

Här är några exempel på vad jag hittade:

  • Du har semikolon där det inte borde finnas
  • Du blandar ihop == och = överallt
  • estadosemaforo == estadosemaforo 1++; är ingen mening alls – jag har ingen aning om vad du menar där
  • Variabler definierade i setup kan endast användas i setup. Om du vill använda en variabel i flera funktioner så måste den vara global.
  • estadosemaforo kan bara vara 1 eller 2. Den återställs till 1 varje gång loop() körs.
  • Du kan inte bara förvänta dig att läsa en stift en gång och få värdet att förändras magiskt – du måste läsa den varje gång tid du vill veta pin-tillståndet.
  • Du läser från en digital pin och använder sedan resultaten från den läsningen för att konfigurera en pin – och förväntar dig att den ska göra något användbart.

Kommentarer

  • i ' jag börjar verkligen där, men tack så mycket. hade inte ' tänkt ens på dessa misstag.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *