Seuraa 
Viestejä6
Liittynyt7.2.2015

Moi,

Tarkoituksena olisi saada led syttymään kun nappia painaa sekunnin. Mitä if-komennon sulkeiden sisään pitää laittaa, että arduino osaa mitata kuinka kauan nappi on painettuna eli HIGH asennossa? Ja onnistuuko tämä edes if-komennolla?

P.S. Olen melko aloittelija

Kommentit (7)

o_turunen
Seuraa 
Viestejä13990
Liittynyt16.3.2005

Varmaan jotain tällaista:

pinMode(pin1, INPUT);      // sets the digital pin1  as input
pinMode(pin2, OUTPUT);      // sets the digital pin2  as output
 

a = digitalRead(pin1);
if(a==1)
{
    delay(1000);
    a = digitalRead(pin1);
    if(a==1)
        digitalWrite(pin2, HIGH);

}

Korant: Oikea fysiikka on oikeampaa kuin sinun klassinen mekaniikkasi. Jos olet eri mieltä kanssani olet ilman muuta väärässä.

o_turunen
Seuraa 
Viestejä13990
Liittynyt16.3.2005

Niin ja tietysti input-pinniin alasvetovastus ja painike ylös.

Korant: Oikea fysiikka on oikeampaa kuin sinun klassinen mekaniikkasi. Jos olet eri mieltä kanssani olet ilman muuta väärässä.

kfa
Seuraa 
Viestejä2517
Liittynyt13.3.2008

o_turunen kirjoitti:
Niin ja tietysti input-pinniin alasvetovastus ja painike ylös.

https://www.arduino.cc/en/Tutorial/DigitalPins

Jos on kyseessä AVR - pohjainen arduino niin ulkoista ylösvetovastusta ei välttämättä tarvita. ATmega prosessoreissa voi IO-pinniin ohjelmoida sisäisen ylösvedon, jolloin käytetään prosessorista itsestään löytyvää 20...50 kohmin vastusta. Minimissään riittää siis se, että ulkoinen kytkin maadoittaa pinnin.

Kim Fallström kfa+news@iki.fi

jaho
Seuraa 
Viestejä515
Liittynyt19.3.2012

o_turunen kirjoitti:
Varmaan jotain tällaista:

pinMode(pin1, INPUT);      // sets the digital pin1  as input
pinMode(pin2, OUTPUT);      // sets the digital pin2  as output
 

a = digitalRead(pin1);
if(a==1)
{
    delay(1000);
    a = digitalRead(pin1);
    if(a==1)
        digitalWrite(pin2, HIGH);

}

Koodi vaatii sitten virittelyä tuotantoa varten. Tuo sytyttää ledin myös kahdella sopivalla peräkkäisellä painalluksella.

Suosituimmat

Uusimmat

Uusimmat

Suosituimmat