60 nap alatt Arduino #9 - Bemenet
- Makula Norbert
- Újonc
- Hozzászólások: 6
- Csatlakozott: 2015. február 24. kedd, 8:17
60 nap alatt Arduino #9 - Bemenet
Szerintetek mit ronthattam el? Megcsináltam a kapcsolást és hiába nyomom meg a gombot nem történik semmi. 123D Circuits alatt csináltam. Az Elektromanoid leírása alapján működött, de lassan aludt el.
http://www.elektromanoid.hu/ardu_3.html
A képet a Képfeltöltés.hu tárolja. http://www.kepfeltoltes.hu
http://www.elektromanoid.hu/ardu_3.html
A képet a Képfeltöltés.hu tárolja. http://www.kepfeltoltes.hu
Re: 60 nap alatt Arduino #9 - Bemenet
Programkód?
- Makula Norbert
- Újonc
- Hozzászólások: 6
- Csatlakozott: 2015. február 24. kedd, 8:17
Re: 60 nap alatt Arduino #9 - Bemenet
Kód: Egész kijelölése
/*
Nyomogomb
Demonstracios program a nyomogomb - LED kapcsolathoz
60 nap alatt Arduino tanfolyam
(c) TavIR http://www.tavir.hu
*/
void setup(){
pinMode(6, INPUT);
// D6 labon kapcsolo, lab bemenet
pinMode(7, OUTPUT);
// D7 lab: LED
digitalWrite(6, HIGH);
// D6-on felhuzo bekapcsol
}
void loop() {
digitalWrite(7, digitalRead(6));
// a D6 jelszintje a D7-re kiirodik
}
- Makula Norbert
- Újonc
- Hozzászólások: 6
- Csatlakozott: 2015. február 24. kedd, 8:17
Re: 60 nap alatt Arduino #9 - Bemenet
Ma megint kipróbáltam most működött amikor lenyomtam elaludt a led.
Köszönöm a segítséget!
Köszönöm a segítséget!
Re: 60 nap alatt Arduino #9 - Bemenet
Azt szeretném megkérdezni hogy ha a kapott áramkört kötöm be, tehát saját külső felhúzó ellenállást kötök be, akkor miért van szükség erre a sorra:
digitalWrite(6, HIGH);
Elvileg ugye ez kapcsolja be a belső felhúzó ellenállást. Viszont ha van külső akkor minek a belső?
Illetve miért nem ajánlatos a belsőt használni? Ha az ember összerak egy bonyolultabb áramkört akkor azért nem rossz ha nem foglalja a helyet jó pár fölös ellenállás.
Ez a teljes kód, de gondolom mindenki találkozott már vele :
digitalWrite(6, HIGH);
Elvileg ugye ez kapcsolja be a belső felhúzó ellenállást. Viszont ha van külső akkor minek a belső?
Illetve miért nem ajánlatos a belsőt használni? Ha az ember összerak egy bonyolultabb áramkört akkor azért nem rossz ha nem foglalja a helyet jó pár fölös ellenállás.
Ez a teljes kód, de gondolom mindenki találkozott már vele :
Kód: Egész kijelölése
void setup(){
pinMode(6, INPUT);
// D6 labon kapcsolo, lab bemenet
pinMode(7, OUTPUT);
// D7 lab: LED
digitalWrite(6, HIGH);
// D6-on felhuzo bekapcsol
}
void loop() {
digitalWrite(7, digitalRead(6));
// a D6 jelszintje a D7-re kiirodik
}
Re: 60 nap alatt Arduino #9 - Bemenet
A tanfolyamban is ott van, de itt is:
http://tavir.hu/konyv-tipushiba-3-pullup-ellenallas
"De miért nem jó ez a megoldás?
Mert a belső felhúzó ellenállás értéke kb. 20 kohm. És ha hosszú vezetékkel csatlakozik a kapcsoló, mindenféle parazita jeleket képes a vezeték (mint antenna) összeszedni. Az AVR chipek új generációja, melyre az "A" végződés utal (pl. ATMega-8A), illetve a picopower technológia chipjei (pl. ATMega-328P) belső felhúzóellenállása 80...120 kohmos! Azaz még érzékenyebb lesz a bemenet."
A külső kell, a belső felhúzása ekkor elhagyható....
http://tavir.hu/konyv-tipushiba-3-pullup-ellenallas
"De miért nem jó ez a megoldás?
Mert a belső felhúzó ellenállás értéke kb. 20 kohm. És ha hosszú vezetékkel csatlakozik a kapcsoló, mindenféle parazita jeleket képes a vezeték (mint antenna) összeszedni. Az AVR chipek új generációja, melyre az "A" végződés utal (pl. ATMega-8A), illetve a picopower technológia chipjei (pl. ATMega-328P) belső felhúzóellenállása 80...120 kohmos! Azaz még érzékenyebb lesz a bemenet."
A külső kell, a belső felhúzása ekkor elhagyható....
-
- Újonc
- Hozzászólások: 5
- Csatlakozott: 2015. augusztus 17. hétfő, 20:51
Re: 60 nap alatt Arduino #9 - Bemenet
nekem folyamatosan világít a LED és gombnyomásra alszik ki.
így kell működnie?
a programot a leckéből másoltam ki.
így kell működnie?
a programot a leckéből másoltam ki.
Re: 60 nap alatt Arduino #9 - Bemenet
Röviden, igen! Mert a PIN6 bemenet beolvasott állapotát írja ki a PIN7-es kimenetre.
A belső felhúzóellenállás bekapcsolására találtam egy makrót: INPUT_PULLUP -névvel.
Egyszerűbb vele dolgozni, de a program és hardver megértését a tanagyag jól szemlélteti.
Biztos fogok még új makrókkal találkozni amik jól használhatók lesznek.
De nem szaladnék ennyire előre, mert van még mit tanulni.
A belső felhúzóellenállás bekapcsolására találtam egy makrót: INPUT_PULLUP -névvel.
Egyszerűbb vele dolgozni, de a program és hardver megértését a tanagyag jól szemlélteti.
Biztos fogok még új makrókkal találkozni amik jól használhatók lesznek.
De nem szaladnék ennyire előre, mert van még mit tanulni.
by _jani_
-
- Újonc
- Hozzászólások: 2
- Csatlakozott: 2019. június 10. hétfő, 13:18
Re: 60 nap alatt Arduino #9 - Bemenet
Sziasztok!
Most kezdtem tanulgatni az ardunio programozást! 5 ledes futófény, oda vissza mindenfelé villog stb! Bekötöttem egy nyomógombot ahogy a lecke leírta! Működik ahogy kell! Viszont nem tudok rájönni, hogy alap állapotban ne világítson a led! A lecke szerint alap állapotban világít a led és a gomb lenyomásával elalszik! Én ezt meg szeretném fordítani, de nem bírok rájönni, hogy alap állapotba miért küld jelet a kivezetésen! Először a külső és belső ellenállásokat iktattam ki, kapcsoltam ki, be össze vissza minden kombinációba, majd rájöttem ,hogy ez eleve hülyeség, mert a kivezetés van feszültség alatt!
A "void setup" résznél van egy "digitalWrite(2, HIGH);" sor! Ezt gondoltam, hogy itt lesz a megoldás! Átírtam LOW-ra, aztán ki is töröltem az egész sort, de semmi nem változott!
Hol van a kutya elásva?
Most kezdtem tanulgatni az ardunio programozást! 5 ledes futófény, oda vissza mindenfelé villog stb! Bekötöttem egy nyomógombot ahogy a lecke leírta! Működik ahogy kell! Viszont nem tudok rájönni, hogy alap állapotban ne világítson a led! A lecke szerint alap állapotban világít a led és a gomb lenyomásával elalszik! Én ezt meg szeretném fordítani, de nem bírok rájönni, hogy alap állapotba miért küld jelet a kivezetésen! Először a külső és belső ellenállásokat iktattam ki, kapcsoltam ki, be össze vissza minden kombinációba, majd rájöttem ,hogy ez eleve hülyeség, mert a kivezetés van feszültség alatt!
A "void setup" résznél van egy "digitalWrite(2, HIGH);" sor! Ezt gondoltam, hogy itt lesz a megoldás! Átírtam LOW-ra, aztán ki is töröltem az egész sort, de semmi nem változott!
Hol van a kutya elásva?
Re: 60 nap alatt Arduino #9 - Bemenet
A nyomógombokat kétféle képpen lehet bekötni! HIGH VAGY LOW !!
De ezt az arduino referenc taglalja részletesen. Látogass el oda!
De attól függetlenül hogy hogy kötötd be még a prog.ban tudod ugy kezelni hogy fordítva működjön.
De ezt az arduino referenc taglalja részletesen. Látogass el oda!
De attól függetlenül hogy hogy kötötd be még a prog.ban tudod ugy kezelni hogy fordítva működjön.
Re: 60 nap alatt Arduino #9 - Bemenet
Kód: Egész kijelölése
//PELDAKOD NYOMOGOMBOS LEDKAPCSOLO
int led=5;
int gomb=9;
void setup(){
pinMode(led,OUTPUT);
pinMode(gomb,INPUT);
digitalWrite(gomb,HIGH);
}
void setup(){
if(digitalRead(9)==HIGH){
delay(5);
digitalWrite(5,LOW);
}
else{digitalWrite(5,HIGH);}
}
-
- Újonc
- Hozzászólások: 2
- Csatlakozott: 2019. június 10. hétfő, 13:18
Re: 60 nap alatt Arduino #9 - Bemenet
Köszönöm Verjoz! Próbálom értelmezni is a leírtakat! De ha jól vettem észre a "void loop" helyett is "void setup"-ot írtál!
Köszi a weblap tippet! használni fogom!
Igen így most úgy működik ahogy elképzeltem! De a megértés miatt:
void setup(){
pinMode(6, INPUT);
// D6 labon kapcsolo, lab bemenet
pinMode(7, OUTPUT);
// D7 lab: LED
digitalWrite(6, HIGH);
// D6-on felhuzo bekapcsol
}
void loop() {
digitalWrite(7, digitalRead(6));
// a D6 jelszintje a D7-re kiirodik
}
Ez a program ami a tananyagban van! A tájékoztató jellegű sallangokat már felismerem! Természetesen a ki és bemeneteket módosítottam a saját bekötésemre! Itt mit kellene változtatni, hogy úgyan úgy működjön, mint amit küldtél? Jelenleg világít a led folyamatosan, a gomb nyomvatartásával pedig elalszik! a "digitalWrite(6, HIGH);" sort gondoltam hogy kell módosítani LOW-ra! De semmit nem változtat!
Ebben tudsz segíteni? Megérteni szeretném! Előre is köszi!
Köszi a weblap tippet! használni fogom!
Igen így most úgy működik ahogy elképzeltem! De a megértés miatt:
void setup(){
pinMode(6, INPUT);
// D6 labon kapcsolo, lab bemenet
pinMode(7, OUTPUT);
// D7 lab: LED
digitalWrite(6, HIGH);
// D6-on felhuzo bekapcsol
}
void loop() {
digitalWrite(7, digitalRead(6));
// a D6 jelszintje a D7-re kiirodik
}
Ez a program ami a tananyagban van! A tájékoztató jellegű sallangokat már felismerem! Természetesen a ki és bemeneteket módosítottam a saját bekötésemre! Itt mit kellene változtatni, hogy úgyan úgy működjön, mint amit küldtél? Jelenleg világít a led folyamatosan, a gomb nyomvatartásával pedig elalszik! a "digitalWrite(6, HIGH);" sort gondoltam hogy kell módosítani LOW-ra! De semmit nem változtat!
Ebben tudsz segíteni? Megérteni szeretném! Előre is köszi!
Re: 60 nap alatt Arduino #9 - Bemenet
Köszi a helyesbítést! Ilyen a figyelmetlenség részemről.
Az én kódom feltételt vizsgál! Egy elágazás a program lefutásában.
A tananyag meg egy fő ciklus ami mindíg teljesül és végrehajtva lefut.
Egyedüli megoldás hogy ugyanúgy működjön, a hardweres konfiguráció (bekötés) megváltoztatása.
X pin-100ohm-10kohm-gnd.
Az x pin a bemenet!
5v-nyomógomb-a 100ohmos és 10 k ellenállás közé bekötve.
A led szokásos modon!
Ez így magas állapoti kapcsolás.
A bemenetet lehúzod a gndre vagyis alapesetben low az állapota, majd mikor az 5v megérkezik high lesz.
Van magyar oldal is ami tud segíteni:ob121 re googléz rá.
Az én kódom feltételt vizsgál! Egy elágazás a program lefutásában.
A tananyag meg egy fő ciklus ami mindíg teljesül és végrehajtva lefut.
Egyedüli megoldás hogy ugyanúgy működjön, a hardweres konfiguráció (bekötés) megváltoztatása.
X pin-100ohm-10kohm-gnd.
Az x pin a bemenet!
5v-nyomógomb-a 100ohmos és 10 k ellenállás közé bekötve.
A led szokásos modon!
Ez így magas állapoti kapcsolás.
A bemenetet lehúzod a gndre vagyis alapesetben low az állapota, majd mikor az 5v megérkezik high lesz.
Van magyar oldal is ami tud segíteni:ob121 re googléz rá.
Re: 60 nap alatt Arduino #9 - Bemenet
Jah és belső felhúzot kapcsold le.
Re: 60 nap alatt Arduino #9 - Bemenet
Lusta voltam szétszedni a futofényt igy bele illesztettem a nyomogombot, amd a belsö LED-et kapcsolja (pin13). A kapcsolásra csak akkor kerülhet sor, ha lefut a futofény ciklusa.
Kód: Egész kijelölése
// CHASING LIGHT and a SWITCH
// 8 LEDs on Ports 2-9 and LED#13 - on board
int unit=100; //Speed
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(13, OUTPUT); // Internal LED
pinMode(12, INPUT); // pushbutton
digitalWrite(12,HIGH); //pull up resistors
}
void loop() {
for(int i=2; i<5; i++){ //run from 2-5
digitalWrite(i,HIGH); //turn on LED #i
digitalWrite(11-i,HIGH); //turn on LED 11-#i
delay(unit); //time for ON
digitalWrite(i,LOW); //turn off LED #i
digitalWrite(11-i,LOW); //turn off LED 11-#i
delay(unit);
}
for(int i=5; i>2; i--){ //run from 5-2 (reverse)
digitalWrite(i,HIGH); //turn on LED #i
digitalWrite(11-i,HIGH); //turn on LED 11-#i
delay(unit); //time for ON
digitalWrite(i,LOW); //turn of LED #i
digitalWrite(11-i,LOW); //turn of LED 11-#i
delay(unit);
digitalWrite(13,digitalRead(12)); //Read pin12, forward it to Pin13 to control the LED #13
}
}
Éljenek a vonatok!
http://www.youtube.com/playlist?list=PLF2674BF4E3765682
http://www.youtube.com/playlist?list=PLF2674BF4E3765682