primer skecth hecho por mí mismo traté de crear un esqueleto para un semáforo usando un botón para cambiar su fase (1- cerrado para autos, abierto para peatones 2- esperar 3- abierto para autos, cerrado para peatones) una vez que llegué a la tercera fase, vuelve a la primera.

aquí va ::

(comentarios en portugués)

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

Comentarios

  • utiliza estas dos variaciones para las asignaciones de variables … int vermelhoc = 1; y int estadosemaforo == 1; …. uno de estos no es la sintaxis correcta …. investigue cómo asignar valores de variable

Respuesta

Tiene muchos errores de sintaxis básicos en su código. Realmente necesitas leer y estudiar un poco más de C y C ++ básico antes de continuar.

Aquí tienes algunos ejemplos de lo que encontré:

  • Tienes punto y coma donde no debería haberlo
  • Mezclas == y = por todas partes
  • estadosemaforo == estadosemaforo 1++; no tiene ningún sentido. No tengo ni idea de lo que quieres decir.
  • Variables definidas en setup solo se puede utilizar en setup. Si desea usar una variable en varias funciones, entonces debe ser global.
  • estadosemaforo solo puede ser 1 o 2. Se restablece a 1 cada vez que loop() se ejecuta.
  • No puede esperar leer un pin una vez y que su valor cambie mágicamente; debe leerlo cada vez que desee saber el estado del pin.
  • Está leyendo de un pin digital y luego utiliza los resultados de esa lectura para configurar un pin, y luego espera que haga algo útil.

Comentarios

  • i ' realmente estoy comenzando por ahí, pero muchas gracias. no había ' ni siquiera había pensado en estos errores.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *