Go Down

Topic: semaforo (Read 389 times) previous topic - next topic

spartacusruggiero

Nov 15, 2013, 10:54 am Last Edit: Nov 15, 2013, 05:08 pm by leo72 Reason: 1
raga sono nuovo con arduino e quessto e' il mio primo post...vorrei sapere se nel programma c'e' qualcosa che non va'.

Code: [Select]
#define pulsante 12
int stato = 0;

void setup ()
{  
pinMode(2,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(4,OUTPUT);
pinMode(pulsante,INPUT);
}
void loop ()
{
  stato  = digitalRead(pulsante);
  if(stato == HIGH)
  {
    digitalWrite(2,HIGH);
    digitalWrite(2,LOW);
    digitalWrite(7,HIGH);
    digitalWrite(7,LOW);
    digitalWrite(8,HIGH);
    digitalWrite(8,LOW);
    }
    else if(stato == LOW)
     {
       digitalWrite(4,HIGH);
       delay(500);
       digitalWrite(4,LOW);
      delay(500);
       }
        }


i led non si accendono.... =( =( =( =( =( =( sicuramente sbaglio i collegamenti,potreste aiutarmi ??? grazie in anticipo

edit by mod

leo72

Per favore leggere il regolamento.

nid69ita

Questo non ha senso:
Code: [Select]
digitalWrite(2,HIGH);
digitalWrite(2,LOW);

Arduino è così veloce che accendi e IMMEDIATAMENTE spegni il led.
my name is IGOR, not AIGOR

Testato

Giusto, usa il delay fra on e off come hai fatto nel else
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

mandymarck

Così potrebbe essere sicuramente meglio:
Code: [Select]
#define pulsante 12
int stato = 0;

void setup ()

pinMode(2,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(4,OUTPUT);
pinMode(pulsante,INPUT);
}
void loop ()
{
   stato  = digitalRead(pulsante);
   if(stato == HIGH)
   {
     digitalWrite(2,HIGH);
delay(5000);
     digitalWrite(2,LOW);
     digitalWrite(7,HIGH);
delay(5000);
     digitalWrite(7,LOW);
     digitalWrite(8,HIGH);
delay(5000);
     digitalWrite(8,LOW);
     }
     else if(stato == LOW)
      {
        digitalWrite(4,HIGH);
        delay(500);
        digitalWrite(4,LOW);
       delay(500);
        }
         }

Regola come vuoi i delay per "temporizzare" il semaforo

Go Up