www.elektronik.si
Branje I/0

www.elektronik.si -> Arduino sekcija

Avtor: ElGrigonKraj: okolica Lenarta PrispevekObjavljeno: Sre Avg 08, 2018 10:56 pm    Naslov sporočila:  Branje I/0
----------------------------------------------------------------------------
Pozdrav,

Nekaj me zanima, ker nikjer nisem zasledil zakaj je tako.

Če berem digitalni vhod in shranim vrednost v spremenljivko, se ta shrani kot je signal na inputu (5v ali 0V).

Če pa berem input direktno v strukturi npr. "if" pa ga vedno bere kot HIGH.

Primer:
Tako deluje pravilno
Koda:

int sw=2;
int led=11;

void setup{
pinMode(sw,INPUT);
pinMode(led,OUTPUT);
}

void loop{

swstate=digitalRead (sw);

if(swstate==1) digitalWrite(led,HIGH);
else digitalWrite(led,LOW);

}




Tako pa je na inputu vedno signal oz. output je vedno HIGH
Koda:

int sw=2;
int led=11;

void setup{
pinMode(sw,INPUT);
pinMode(led,OUTPUT);
}

void loop{


if(digitalRead(sw==HIGH)) digitalWrite(led,HIGH);
else digitalWrite(led,LOW);

}


Nazadnje urejal/a ElGrigon Čet Avg 09, 2018 7:26 am; skupaj popravljeno 1 krat

Avtor: PeterKraj: Pod krvavcem nekje PrispevekObjavljeno: Čet Avg 09, 2018 7:15 am    Naslov sporočila:  
----------------------------------------------------------------------------
Zdravo

Problem v tvoji kodi je da bereš sw ki je definiran kot int=2 potem pa primerjaš to z bool vrenostjo. Poizkusi takole in bi moralo delovati pravilno.

LP Peter

int sw=2;
int led=11;

void setup{
pinMode(sw,INPUT);
pinMode(led,OUTPUT);
}

void loop{


if(digitalRead (sw)==HIGH) digitalWrite(led,HIGH);
else digitalWrite(led,LOW);

}

Avtor: ElGrigonKraj: okolica Lenarta PrispevekObjavljeno: Čet Avg 09, 2018 7:29 am    Naslov sporočila:  
----------------------------------------------------------------------------
Oprosti, sem spregledal in narobe napisal drugo kodo, ker sem samo kopiral (sem popravil)
Imam točno tako kot si napisal in ni vredu.
Vse dokler inputa ne shranim v spremenljivko in naprej z njo operiram mi bere input HIGH.

Avtor: ElGrigonKraj: okolica Lenarta PrispevekObjavljeno: Čet Avg 09, 2018 9:11 am    Naslov sporočila:  
----------------------------------------------------------------------------
OK, hvala. Preveč sem bolil v ekran že.

Stran 1 od 1

Powered by phpBB © 2001,2002 phpBB Group