e result to the serial monitor This example code is in the public domain. */
// digital pin 2 has a pushbutton attached to it. Give it a name:int pushButton = 2;
// the setup routine runs once when you press reset:void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // make the pushbutton's pin an input: pinMode(pushButton, INPUT);}
// the loop routine runs over and over again forever:void loop() { // read the input pin: int buttonState = digitalRead(pushButton); // print out the state of the button: Serial.println(buttonState); delay(1); // delay in between reads for stability}
Veja se o valor fica oscilando sozinho entre 0 e 1.
Se sim, era o mesmo problema que aconteceu comigo..
Monte o circuito do botão como na imagem:
http://www.acroname.com/howto/button/button.html
Eu usei a primeira imagem!
Á proposito, eu fiz uma nova versão do software.
Eu não consigo testar pq eu nao tenho led suficiente haha
Testa ae!!
//Semaforos Via 1int semaforoVerdeVia1 = 2;int semaforoAmareloVia1 = 3;int semaforoVermelhoVia1 = 4;
//Semaforos Via 2int semaforoVerdeVia2 = 2;int semaforoAmareloVia2 = 3;int semaforoVermelhoVia2 = 4;
//Semaforos Pedestreint semaforoVerdePedestre = 5;int semaforoVermelhoPedestre = 6;
//Botão Semaforoint botaoSemaforo = 7;
//Valor do botãoint valorLidoBotao = 0;
void setup() { //Definições iniciais //Semaforos Via 1 pinMode(semaforoVerdeVia1, OUTPUT); pinMode(semaforoAmareloVia1, OUTPUT); pinMode(semaforoVermelhoVia1, OUTPUT); //Semaforos Via 2 pinMode(semaforoVerdeVia2, OUTPUT); pinMode(semaforoAmareloVia2, OUTPUT); pinMode(semaforoVermelhoVia2, OUTPUT); //Semaforos Pedestre pinMode(semaforoVerdePedestre, OUTPUT); pinMode(semaforoVermelhoPedestre, OUTPUT); //Botão Semaforo pinMode(botaoSemaforo, INPUT); iniciaStatusSemaforo();
//Serial Serial.begin(9600);}
void loop () { valorLidoBotao = digitalRead(botaoSemaforo);
if(valorLidoBotao == 1){ botaPressionado(); }}
void botaPressionado(){ //Amarela os semaforos e espera 1 segundo semaforosAmarelos(); delay(1000); //Vermelha os semaforos das vias e esverdeia o do pedestre semaforosVermelhos(); semaforosPedestreVerde(); delay(5000); semaforosPedestreVermelho(); semaforosVerdes();}
void semaforosVerdes(){ //Semaforos Via 1 digitalWrite(semaforoVerdeVia1, HIGH); digitalWrite(semaforoAmareloVia1, LOW); digitalWrite(semaforoVermelhoVia1, LOW); //Semaforos Via 2 digitalWrite(semaforoVerdeVia2, HIGH); digitalWrite(semaforoAmareloVia2, LOW); digitalWrite(semaforoVermelhoVia2, LOW);}
void semaforosAmarelos(){ //Semaforos Via 1 digitalWrite(semaforoVerdeVia1, LOW); digitalWrite(semaforoAmareloVia1, HIGH); digitalWrite(semaforoVermelhoVia1, LOW); //Semaforos Via 2 digitalWrite(semaforoVerdeVia2, LOW); digitalWrite(semaforoAmareloVia2, HIGH); digitalWrite(semaforoVermelhoVia2, LOW);}
void semaforosVermelhos(){ //Semaforos Via 1 digitalWrite(semaforoVerdeVia1, LOW); digitalWrite(semaforoAmareloVia1, LOW); digitalWrite(semaforoVermelhoVia1, HIGH); //Semaforos Via 2 digitalWrite(semaforoVerdeVia2, LOW); digitalWrite(semaforoAmareloVia2, LOW); digitalWrite(semaforoVermelhoVia2, HIGH);}
void semaforosPedestreVerde(){ digitalWrite(semaforoVerdePedestre, HIGH); digitalWrite(semaforoVermelhoPedestre, LOW);}
void semaforosPedestreVermelho(){ digitalWrite(semaforoVerdePedestre, LOW); digitalWrite(semaforoVermelhoPedestre, HIGH);}
void iniciaStatusSemaforo(){ semaforosVerdes(); semaforosPedestreVermelho();}
…
Olá pessoa!
copiei e colei o codigo do semaforo mas esta dando um erro.
alguem pode dar uma olhada? o link do codigo é esse:
http://arduino.labdegaragem.com/Guia_preview/EK_10_semaforo.html
ê colocou linguagem ladder, logica de reles usado em PLC, você busca um semáforo em linguagem ladder, ou com linguagem usada para programar Arduino?
Abs.…
Adicionado por Carlos kwiek ao 23:13 em 15 agosto 2015
sas perguntas?
Se não explicar sua dificuldade fica quase impossível conseguir ajuda-lo.
Ref:
http://labdegaragem.com/forum/topics/semaforo-carros-e-pedestre
http://labdegaragem.com/forum/topics/fazer-led-piscar-no-btn1-e-voltar-apagando-no-btn2…
Adicionado por mineirin RV ao 19:20 em 17 outubro 2019
m um cruzamento.
Na faculdade posso utilizar botões na protoboard, mas em casa não tenho esses botões, então resolvi utilizar um joystick shield em um Arduino Uno para poder aproveitar os botões e no outro Arduino Uno, os semaforos.
O problema, é que não estou conseguindo enviar um vetor de 6 posições de um Arduino para outro e trata-lo.
......
Projeto esta anexado.…