|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
ElGrigon Član
Pridružen-a: Pon 24 Jul 2006 22:38 Prispevkov: 3880 Aktiv.: 17.96 Kraj: okolica Lenarta
|
Objavljeno: 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);
}
|
_________________ lp, ElGrigon
Nazadnje urejal/a ElGrigon Čet Avg 09, 2018 7:26 am; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
|
Peter Član
Pridružen-a: Sre 30 Jun 2004 12:55 Prispevkov: 375 Aktiv.: 1.68 Kraj: Pod krvavcem nekje
|
Objavljeno: Č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);
} _________________ Vse se da pokvarit, le če se dovol časa ukvarjaš z njo!!! |
|
Nazaj na vrh |
|
|
ElGrigon Član
Pridružen-a: Pon 24 Jul 2006 22:38 Prispevkov: 3880 Aktiv.: 17.96 Kraj: okolica Lenarta
|
Objavljeno: Č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. _________________ lp, ElGrigon |
|
Nazaj na vrh |
|
|
ElGrigon Član
Pridružen-a: Pon 24 Jul 2006 22:38 Prispevkov: 3880 Aktiv.: 17.96 Kraj: okolica Lenarta
|
Objavljeno: Čet Avg 09, 2018 9:11 am Naslov sporočila: |
|
|
OK, hvala. Preveč sem bolil v ekran že. _________________ lp, ElGrigon |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 70 dni
Powered by phpBB © 2001, 2005 phpBB Group
|