collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Semáforo  (Lida 3413 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.372
    • 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?