ensimmäistä luonnetta itse tekemäni yritin luoda liikennevalolle skektin yhdellä painikkeella vaihtaaksesi sen vaiheen (1 – suljettu autoille, avoin jalankulkijoille 2 – odota 3 – auki autoille, suljettu jalankulkijoille), kun pääsin kolmannelle vaihe, palaa ensimmäiseen.
tässä se menee ::
(kommentit portugaliksi)
/* */ 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); } }
Kommentit
Vastaa
Koodissasi on monia monia perussyntaksivirheitä. Sinun täytyy todella lukea ja tutkia lisää C: n ja C ++: n perusteita ennen kuin jatkat eteenpäin.
Tässä on muutama esimerkki siitä, mitä löysin:
- Sinulla on puolipisteet, joissa ei pitäisi olla
- Sekoitat
==
ja=
kaikkialle -
estadosemaforo == estadosemaforo 1++;
ei ole mitään järkeä – minulla ei ole aavistustakaan mitä tarkoitat siellä - Muuttujat, jotka on määritelty kohdassa
setup
voidaan käyttää vain tiedostossasetup
. Jos haluat käyttää muuttujaa useissa toiminnoissa, sen on oltava globaali. -
estadosemaforo
voi olla vain 1 tai 2. Se palautuu arvoon 1 joka kerta, kunloop()
suoritetaan. - Et voi vain odottaa lukevan nastaa kerran ja saada sen arvon maagisesti muuttumaan – sinun on luettava se joka aika, jonka haluat tietää nastan tilan.
- Luet uudelleen digitaalisesta nastasta ja määrität tällöin kyseisen lukun tulokset – ja odotat sitten sen tekevän jotain hyödyllistä.
Kommentit
- i ' aloitan todella siitä, mutta kiitos paljon. ei ollut ' edes ajatellut näitä virheitä.
int vermelhoc = 1;
jaint estadosemaforo == 1;
…. yksi näistä ei ole oikea syntaksi …. tutki kuinka muuttuja-arvot määritetään