primo skecth fatto da me ho provato a creare uno skecth per un semaforo usando un pulsante per cambiarne la fase (1- chiuso per le auto, aperto per i pedoni 2- aspetta 3- aperto per le auto, chiuso per i pedoni) una volta salito in terza fase, torna alla prima.

eccolo ::

(commenti in portoghese)

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

Commenti

  • utilizzi queste due varianti per le assegnazioni di variabili … int vermelhoc = 1; e int estadosemaforo == 1; …. uno di questi non è la sintassi corretta …. cerca come assegnare i valori delle variabili

Risposta

Hai molti molti errori di sintassi di base nel tuo codice. Hai davvero bisogno di leggere e studiare ancora di base C e C ++ prima di andare oltre.

Ecco alcuni esempi di ciò che ho trovato:

  • Hai punto e virgola dove “non dovrebbe esserci
  • Mescoli == e = dappertutto
  • estadosemaforo == estadosemaforo 1++; non ha alcun senso: non ho idea di cosa intendi in questo campo
  • Variabili definite in setup può essere utilizzato solo in setup. Se desideri utilizzare una variabile in più funzioni, deve essere globale.
  • estadosemaforo può essere solo 1 o 2. Si reimposta a 1 ogni volta che loop() viene eseguito.
  • Non puoi aspettarti di leggere un segnaposto una volta e che il suo valore cambi magicamente: devi leggerlo ogni volta in cui vuoi conoscere lo stato del pin.
  • Stai leggendo da un pin digitale, quindi utilizzi i risultati di quella lettura per configurare un pin e poi aspettati che faccia qualcosa di utile.

Commenti

  • i ' sto davvero iniziando da lì, ma, grazie mille. non ' nemmeno pensato a questi errori.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *