první skecth vyrobil jsem sám pomocí jednoho tlačítka jsem změnil jeho fázi (1 zavřený pro automobily, otevřený pro chodce 2 – počkejte 3 – otevřený pro automobily, uzavřený pro chodce) a jednou jsem se dostal na třetí fáze, vrací se k první.

tady to jde ::

(komentáře v portugalštině)

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

Komentáře

  • tyto dvě varianty používáte pro přiřazení proměnných … int vermelhoc = 1; a int estadosemaforo == 1; …. jedním z nich není správná syntaxe …. prozkoumejte, jak přiřadit hodnoty proměnných

odpověď

V kódu je mnoho základních chyb syntaxe. Než budete pokračovat, musíte si ještě přečíst a prostudovat základní C a C ++.

Zde je několik příkladů toho, co jsem našel:

  • Máte středníky, kde by neměly být
  • namícháte == a = všude
  • estadosemaforo == estadosemaforo 1++; nemá vůbec smysl – nemám ponětí, co tím myslíte
  • proměnné definované v setup lze použít pouze v setup. Pokud chcete použít proměnnou ve více funkcích, musí být musí globální.
  • estadosemaforo může být vždy pouze 1 nebo 2. Při každém spuštění loop() se resetuje na 1.
  • Nelze očekávat, že si jednou přečtete špendlík a jeho hodnota se magicky změní – musíte jej číst každý čas, kdy chcete znát stav špendlíku.
  • Čtete z digitálního špendlíku a poté pomocí výsledků tohoto čtení nakonfigurujete špendlík – a pak očekáváte, že udělá něco užitečného.

Komentáře

  • i ' tam to opravdu začíná, ale děkuji. o těchto chybách jsem ' ani nepřemýšlel.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *