collapse

* Posts Recentes

Cerca eléctrica por SerraCabo
[14 de Junho de 2025, 23:26]


Alguém arranja motores? por almamater
[10 de Junho de 2025, 22:34]


Condensador 4.7uF 0603 por brunus
[09 de Junho de 2025, 15:52]


+ LASERs por dropes
[30 de Maio de 2025, 23:11]


Lenovo IdeaPad 3 Não liga por jm_araujo
[07 de Maio de 2025, 19:10]


Identificar Diodo Zenner por filjoa
[01 de Maio de 2025, 23:07]


Meu novo robô por dropes
[18 de Março de 2025, 14:51]


JBL partybox On-The-Go por almamater
[21 de Fevereiro de 2025, 23:32]


Talking Reverse Engineering with an Absolute Legend! por SerraCabo
[13 de Fevereiro de 2025, 09:56]


Motoserra Stihl 120C por brunus
[11 de Fevereiro de 2025, 16:29]

Autor Tópico: Semáforo  (Lida 6115 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Rui

  • Mini Robot
  • *
  • Mensagens: 24
Semáforo
« em: 01 de Agosto de 2009, 15:09 »
Recebi ontem o meu Arduino e tenho dado umas vistas de olhos nalguns tutoriais que andam por aí.
Vi um post sobre um "semáforo" algures e decidi fazer um também, o resultado foi este:


É a primeira vez que trabalho com microcontroladores mas como já programo à uns anos estou-me a safar :P

Aqui fica o código:
Código: [Seleccione]
#define VERMELHO 2
#define AMARELO 3
#define VERDE 4
#define VERMELHO2 5
#define BOTAO 6

bool peao = false;
bool parar = false;

void setup()
{
  pinMode(VERMELHO, OUTPUT);
  pinMode(AMARELO, OUTPUT);
  pinMode(VERDE, OUTPUT);
  pinMode(VERMELHO2, OUTPUT);
  pinMode(BOTAO, INPUT);
}

void loop()
{
  peao = digitalRead(BOTAO);
  if (parar)
  {
    digitalWrite(VERDE, LOW);
    digitalWrite(AMARELO, HIGH);
    delay(2000);
    digitalWrite(AMARELO, LOW);
    digitalWrite(VERMELHO, HIGH);
    delay(1000);
    digitalWrite(VERMELHO2, LOW);
    delay(10000);
    parar = false;
  }
  else
  {
    digitalWrite(VERMELHO2, HIGH);
    for (int i=1; i<=50; i++)
    {
      if (!peao)
        peao = digitalRead(BOTAO);
      delay(40);
    }
    digitalWrite(VERMELHO, LOW);
    digitalWrite(AMARELO, LOW);
    digitalWrite(VERDE, HIGH);
  }
 
  if (peao)
  {
    parar = true;
    delay(2000);
  }
}

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:Semáforo
« Responder #1 em: 01 de Agosto de 2009, 15:27 »
Muito bem :)
Nada melhor para começar. Agora em vez do botão usas um sensor de presença. Depois fazes uma mini-cidade com legos :)

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.378
    • Tiago Rodrigues
Re:Semáforo
« Responder #2 em: 02 de Agosto de 2009, 17:25 »
Muito bom, parabéns ;)

Gostei bastante.

Offline Rui

  • Mini Robot
  • *
  • Mensagens: 24
Re:Semáforo
« Responder #3 em: 02 de Agosto de 2009, 22:30 »
Obrigado :)
Vou ver se faço alguma coisa que se mexa, mas primeiro preciso de uma ponte h e de mais umas coisas.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:Semáforo
« Responder #4 em: 02 de Agosto de 2009, 22:36 »
Por falares em coisa que se mexe, agora era um carrinho que andava a seguir uma linha, até aqui nada de complicado e facilmente consegues fazer, e depois um sensor de cor, e em função da cor do semáforo o carro andava ou não. :D

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re:Semáforo
« Responder #5 em: 03 de Agosto de 2009, 01:33 »
Eu ate gostava que me falassem mais sobre os sensores de cor.
Isso é feito com que? Uma câmara? Infravermelhos?