pierwszy skecth zrobiony przeze mnie próbowałem stworzyć skecth dla sygnalizacji świetlnej za pomocą jednego przycisku, aby zmienić jego fazę (1- zamknięte dla samochodów, otwarte dla pieszych 2 – poczekaj 3 – otwarte dla samochodów, zamknięte dla pieszych) raz dostałem się na trzecie faza, wraca do pierwszej.

oto idzie:

(komentarze w języku portugalskim)

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

Komentarze

  • używasz tych dwóch odmian do przypisań zmiennych … int vermelhoc = 1; i int estadosemaforo == 1; …. jedna z nich nie jest poprawną składnią …. sprawdź, jak przypisywać wartości zmiennych

Odpowiedź

W kodzie jest wiele podstawowych błędów składniowych. Naprawdę musisz trochę więcej poczytać i przestudiować podstawowe C i C ++, zanim przejdziesz dalej.

Oto kilka przykładów tego, co znalazłem:

  • Masz średniki tam, gdzie nie powinno być „t”
  • W każdym miejscu mylisz == i =
  • estadosemaforo == estadosemaforo 1++; w ogóle nie ma sensu – nie mam pojęcia, co masz na myśli
  • Zmienne zdefiniowane w setup może być używany tylko w setup. Jeśli chcesz używać zmiennej w wielu funkcjach, musi być globalna.
  • estadosemaforo może mieć tylko 1 lub 2. Resetuje się do 1 za każdym razem, gdy loop() uruchamia się.
  • Nie możesz po prostu oczekiwać, że przeczytasz pinezkę raz i zmieni się magicznie jego wartość – musisz ją czytać co gdy chcesz poznać stan pinezki.
  • Czytasz z cyfrowego pinu, a następnie używasz wyników tego odczytu do skonfigurowania pinezki – i oczekujesz, że zrobi coś pożytecznego.

Komentarze

  • i ' Tak naprawdę zaczynam, ale bardzo dziękuję. nie myślał nawet o tych błędach '.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *