primeiro skecth feito por mim mesmo tentei criar um skecth para um semáforo usando um botão para mudar sua fase (1- fechado para carros, aberto para pedestres 2- esperar 3- aberto para carros, fechado para pedestres) uma vez alcançado na terceira fase, volta para a primeira.

aqui vai ::

(comentários em 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); } } 

Comentários

  • você usa essas duas variações para atribuições de variáveis … int vermelhoc = 1; e int estadosemaforo == 1; …. uma dessas não é a sintaxe correta …. pesquise como atribuir valores de variáveis

Resposta

Você tem muitos erros básicos de sintaxe em seu código. Você realmente precisa ler e estudar mais C e C ++ básicos antes de prosseguir.

Aqui estão alguns exemplos do que descobri:

  • Você tem ponto e vírgula onde não deveria haver
  • Você confunde == e = em todos os lugares
  • estadosemaforo == estadosemaforo 1++; não faz sentido algum – não tenho idéia do que você quer dizer com isso
  • Variáveis definidas em setup só pode ser usado em setup. Se você deseja usar uma variável em múltiplas funções, então ela deve ser global.
  • estadosemaforo só pode ser 1 ou 2. Ele redefine para 1 toda vez que loop() é executado.
  • Você não pode apenas esperar ler um alfinete uma vez e seu valor mudar magicamente – você deve lê-lo a cada vez que você deseja saber o estado do pino.
  • Você está lendo de um pino digital e, em seguida, usa os resultados dessa leitura para configurar um pino – e então espera que ele faça algo útil.

Comentários

  • i ' estou realmente começando aí, mas, muito obrigado. não ' nem pensei sobre esses erros.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *