premier skecth fait par moi-même, jai essayé de créer un skecth pour un feu de signalisation en utilisant un bouton poussoir pour changer sa phase (1- fermé pour les voitures, ouvert pour les piétons 2- attendre 3- ouvert pour les voitures, fermé pour les piétons) une fois arrivé troisième phase, revient à la première.

voilà:

(commentaires en portugais)

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

Commentaires

  • vous utilisez ces deux variantes pour les affectations de variables … int vermelhoc = 1; et int estadosemaforo == 1; …. lun dentre eux nest pas la syntaxe correcte …. veuillez rechercher comment attribuer des valeurs de variable

Réponse

Vous avez de nombreuses erreurs de syntaxe de base dans votre code. Vous devez vraiment lire et étudier les bases du C et du C ++ avant daller plus loin.

Voici quelques exemples de ce que jai trouvé:

  • Vous avez des points-virgules là où il ne devrait pas être
  • Vous mélangez == et = partout
  • estadosemaforo == estadosemaforo 1++; na aucun sens – je nai aucune idée de ce que vous voulez dire ici
  • Variables définies dans setup ne peut être utilisé que dans setup. Si vous souhaitez utiliser une variable dans plusieurs fonctions, elle doit être globale.
  • estadosemaforo ne peut être que 1 ou 2. Il se réinitialise à 1 chaque fois que loop() sexécute.
  • Vous ne pouvez pas vous attendre à lire une épingle une seule fois et à voir sa valeur changer comme par magie – vous devez le lire tous les lheure à laquelle vous voulez connaître létat de la broche.
  • Vous lisez une broche numérique, puis utilisez les résultats de cette lecture pour configurer une broche – et attendez-vous à ce quelle fasse quelque chose dutile.

Commentaires

  • i ' Je commence vraiment par là, mais merci beaucoup. Je navais même pas ' pensé à ces erreurs.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *