====== Byte2bool ====== **A projekt nehézségi szintje:** könnyű ({{:wiki:project:chili.png|}}{{:wiki:project:chili_g.png|}}{{:wiki:project:chili_g.png|}}{{:wiki:project:chili_g.png|}}) Az Arduino-n egy byte értéke emelkedik ciklusonként eggyel. Amikor eléri a maximumát, túlcsordul, és kezdi elölről a számolást - ezzel legalább nem kell foglalkozni. A byte bitekből áll, ezeknek az értékváltozásait jeleníthetjük meg a Breadboard-ra összerakott kapcsolással. Ez nyolc led-et tartalmaz - nyolc előtét-ellenállással. A LED-ek pin-enként való kikötésénél ügyelni kell arra, hogy az éppen aktuális **byte** tartalmat a monitorra is kiküldjük. A **Serial.print** funkció a soros kommunikációhoz alapból használja az 1. és 2. pin-eket, így a programhoz a 3. pin-től használhatjuk a jeleket. A pin-eket digitális kimeneti csatornaként kell deklarálni. A projekten keresztül jól látható, hogy a legalacsonyabb helyi-értékű 0.bit értéke változik a leggyorsabban. A program futása a //"delay()"// idő változtatásával módosítható. ^{{:wiki:project:byte2bool_animgif.gif|Arduino kids projekt: Byte2bool 1}}^{{:wiki:project:byte2bool_foto.png?320|Arduino kids projekt: Byte2bool 2}}| ===== Projekt alkatrész-szükséglet ===== Arduino UNO board \\ Breadboard \\ Nyolc vezeték (esetleg kötegben) apa-apa típus \\ +egy vezeték apa-apa típus \\ Nyolc LED \\ Nyolc előtét ellenállás (1-5 kΩ) \\ ===== Projekt vezetékezés ===== A LED-ek hosszabbik (katód; +) lábait rendre a pin2 .. pin9-ekhez kell kötni. Az ellenállásokat a LED-ek rövidebbik lábait (anódok; GND) az előtét ellenállásokhoz kell kötni, azoknak a másik lábait a közös grundra (GND) kell beszurkálni. A közös grundot az Arduino GND kimenetére kell kötni. A tápot (5V) nem szükséges bekötni, ezt a LED-ek a kimeneti pin-eken keresztül kapják. {{:wiki:project:byte2bool_wiring.png?400|Byte2bool projekt vezetékezés}} //A képre kattintva az felnagyítható.// ===== További beállítások ===== A projekthez nem szükséges könyvtár hívása, aktort (a LED-eken kívül) vagy szenzort nem tartalmaz. ===== Projekt forráskód ===== // Az Arduino-n egy byte értéke emelkedik ciklusonként eggyel. // Amikor eléri a maximumát, túlcsordul, és kezdi elölről a számolást - // ezzel legalább nem kell foglalkozni. A byte bitekből áll, ezeknek // az értékváltozásait jeleníthetjük meg a Breadboard-ra összerakott // kapcsolással. Ez nyolc led-et tartalmaz - nyolc előtét-ellenállással. // ob121.com, Arduino Projekts, byte2bool #define byteBit0 2 // pin 2: a byte 0. bitje #define byteBit1 3 // pin 3: a byte 1. bitje #define byteBit2 4 // pin 4: a byte 2. bitje #define byteBit3 5 // pin 5: a byte 3. bitje #define byteBit4 6 // pin 6: a byte 4. bitje #define byteBit5 7 // pin 7: a byte 5. bitje #define byteBit6 8 // pin 8: a byte 6. bitje #define byteBit7 9 // pin 9: a byte 7. bitje byte szamol; // ennek a byte-nak a tartalma // lesz a LED-ekkel kijelezve void setup() { // első és egyszeri végrehajtás Serial.begin(9600); // a soros kommunikáció sebessége // :ezt kell a monitoron is beállítani szamol = 0; // a byte 0-ról kezd pinMode(byteBit0, OUTPUT); // a pin-ek definiálása kimenetként, pinMode(byteBit1, OUTPUT); // a #define-nál definiált sorrendben pinMode(byteBit2, OUTPUT); pinMode(byteBit3, OUTPUT); pinMode(byteBit4, OUTPUT); pinMode(byteBit5, OUTPUT); pinMode(byteBit6, OUTPUT); pinMode(byteBit7, OUTPUT); } void loop() { // ciklikus végrehajtás szamol++; // a byte tartalmának a növelése 1-egyel digitalWrite(byteBit0,(bitRead (szamol, 0))); // a byte egy-egy bitjének a kiírása digitalWrite(byteBit1,(bitRead (szamol, 1))); // az adott kimeneti pin-ekre. digitalWrite(byteBit2,(bitRead (szamol, 2))); digitalWrite(byteBit3,(bitRead (szamol, 3))); digitalWrite(byteBit4,(bitRead (szamol, 4))); digitalWrite(byteBit5,(bitRead (szamol, 5))); digitalWrite(byteBit6,(bitRead (szamol, 6))); digitalWrite(byteBit7,(bitRead (szamol, 7))); Serial.print("\n"); // "új sor" a soros monitorra Serial.print(szamol); // a byte tartalmának kiírása a soros monitorra delay(100); // várakozás (0,1 másodperc) - ennek megváltoztatásával } // a program gyorsítható - lassítható. A soros monitoron a led-ek villogása közben az adott kombinációhoz tartozó bájt-érték jelenik meg mindig: {{:wiki:project:byte2bool_monitor.png|}} ===== Megjegyzések a projekthez ===== A byte2bool az Arduino Kids oktatási anyag része. **[[hu:project:arduino|>> Vissza az Arduino projektek listájához]]**