//Efeito sequencial
//Fernando Ferreira Silva, 10/06/2014
//Licença: GPL
byte led_pin[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; //array para os pinos
int led_delay(70); //intervalo
int direcao = 1;
int led_atual = 0;
unsigned long changetime;
void setup() {
for (int x=0; x<10; x++) { //define todos como saida
pinMode(led_pin[x], OUTPUT);
}
changetime = millis();
}
void loop() {
//verifica o tempo da ultima alteraçao
if ((millis() - changetime) > led_delay) {
troca_led();
changetime = millis();
}
}
void troca_led() {
//apaga todos os leds
for (int x=0; x<10; x++) {
digitalWrite(led_pin[x], LOW);
}
digitalWrite(led_pin[led_atual], HIGH);
led_atual += direcao; //incrementa o valor de direçao
//altera a direcao quando chega ao fim
if (led_atual == 9) {direcao = -1;}
if (led_atual == 0) {direcao = 1;}
}
Mostrando postagens com marcador arduino. Mostrar todas as postagens
Mostrando postagens com marcador arduino. Mostrar todas as postagens
terça-feira, 10 de junho de 2014
LED's Sequenciais
segunda-feira, 9 de junho de 2014
Semáforo Interativo Arduino
//Semaforo interativo
//Fernando Ferreira Silva, 18/02/2014
//Licença:GPL
int car_verm = 12;
int car_ama = 11;
int car_verde = 10;
int ped_verm = 9;
int ped_verde = 8;
int botao = 2;
int crossTime = 5000;
unsigned long changeTime;
void setup(){
pinMode(car_verm, OUTPUT);
pinMode(car_ama, OUTPUT);
pinMode(car_verm, OUTPUT);
pinMode(car_verde, OUTPUT);
pinMode(ped_verm, OUTPUT);
pinMode(ped_verde, OUTPUT);
pinMode(botao, INPUT);
digitalWrite(car_verde, HIGH);
digitalWrite(ped_verm, HIGH);
}
void loop(){
int state = digitalRead(botao); //verifica estado de S1
if (state == HIGH && (millis() - changeTime) > 5000){
changeLights();
}
}
void changeLights(){
digitalWrite(car_verde, LOW);
digitalWrite(car_ama, HIGH);
delay(2000);
digitalWrite(car_ama, LOW);
digitalWrite(car_verm, HIGH);
digitalWrite(ped_verm, LOW);
digitalWrite(ped_verde, HIGH);
delay(crossTime);
for(int x=0; x<10; x++){
digitalWrite(ped_verde, HIGH);
delay(250);
digitalWrite(ped_verde, LOW);
delay(250);
}
digitalWrite(ped_verm, HIGH);
delay(500);
digitalWrite(car_verm, LOW);
digitalWrite(car_verde, HIGH);
//registra o tempo
changeTime = millis();
}
Semáforo Arduino

//Semaforo
//Fernando Ferreira Silva, 09/06/2014
//Licença: GPL
int ledDelay = 10000;
int p_verm = 10;
int p_ama = 9;
int p_verde = 8;
void setup (){
pinMode(p_verm, OUTPUT);
pinMode(p_ama, OUTPUT);
pinMode(p_verde, OUTPUT);
}
void loop(){
digitalWrite(p_verm, HIGH);
delay(ledDelay);
digitalWrite(p_verm, LOW);
digitalWrite(p_verde, HIGH);
delay(ledDelay);
digitalWrite(p_verde, LOW);
digitalWrite(p_ama, HIGH);
delay(2000);
digitalWrite(p_ama, LOW);
}
Assinar:
Postagens
(
Atom
)

