Azt szeretem a legjobban a hardware programozásban, hogy itt végre azzal foglalkozhatok, ami a leginkább leköt, és ez többekkel ellentétben nem az, ahogy életre keltek egy tárgyat, hanem az, ahogy összeszerelem. Abban a pillanatban, ahogy a legutóbbi projektnél elhagyta ML száját, hogy az LCD kijelzőt azért nem tudjuk összekötni a hőmérővel, mert bele kellene forrasztani a pineket, már tudtam, hogy legközelebb tuti az LCD kijelzőt akarom majd használni, de csak azért, hogy forraszthassak :D
És végre eljött ez a nap is, bár nem a legkorszerűbb eszközökkel, mert ML eBay-es "játék" forrasztócuccait örököltem meg, de ahhoz, hogy pár pint odaragasszunk az LCD-hez, pont jó lesz.
Már most elkezdtem nézegetni a kedvenc oldalamon, hogy mit kell majd csinálnom, és örömmel láttam, hogy a negyedik oldalon a forrasztás van, úgyhogy igazából holnap délelőtt már neki is állhatok, ahogy kiválogattam a szükséges alkatrészeket :)
Az már biztos, hogy ez is library-val fog dolgozni, mint a négyszámjegyű kijelző, de mivel már találkoztam ezzel a helyzettel, legalább most már a dolgok felét értem, ami történni fog, és mivel az összekötés része sem tűnik az eddigieknél bonyolultabbnak, bízok abban, hogy a forrasztási részen kívül nem lesz szükségem ML-re, de majd holnap meglátjuk.
Tehát amire szükségünk lesz, az maga a kijelző, az Arduino, a breadboard, egy újdonság, hivatalos nevén potenciométer (bakker, ez a potméter?! loool, már csilliószor hallottam, de sose tudtam, hogy mi az...) és egy köteg jumper wire. Mivel a korábbi készítményeimhez még érzelmi kötelékek fűznek, az egyik új Arduino-t és breadboard-ot fogom be a melóra. Ja, egyébként pont ma érkeztek meg a mini breadboard-ok is, és ezúton hívnám fel a figyelmet egy piaci résre, mert rózsaszínűt sehol sem találtam :(
Miután lecsippentettem a lábsorról a megfelelő mennyiséget, már neki is állhattam a már annyira várt forrasztásnak, de most még időben megnéztem, hogy hogyan kell odaszögelni az Arduino-hoz, nehogy jó szokásomhoz híven ezt is fordítva csináljam, mert ezt nem két köröm árán szedném szét, az biztos.
És megtörtént a forrasztás :D Háááát, én azt hittem, hogy ez sokkal könnyebb dolog, de durván remegett a kezem, és annyira pici helyre kellett fókuszálnom, hogy tisztára összegabalyodtak a szemgolyóim :D
Ezek összeadva a forrasztó eurocentekben mérhető értékével az alábbi eredményt adták, mondjuk balról a negyedik szerintem csodálatos lett, de azért kinéz, hogy néhány pint összeházasítottam, aminek egy apró zárlat lesz a vége :D
U.i.: nyilván ezek a forrasztások annyira lettek stabilak, mint amennyire szépek, úgyhogy még egy kicsit meg kellett őket simogatnom, viszont rájöttem, hogy miért írta emberünk azt, hogy rakjuk rá a breadboard-ra az LCD-t. Így, hogy a lábmentes rész szépen ráfeküdt, a lábak pont úgy lógtak le róla, hogy kényelmesen hozzájuk fértem, a lámpát is tudtam úgy pakolni közvetlenül magam elé, hogy telibevilágítsa az egészet, és rögtön nem bandzsítottam meg kézremegtem, viszont szebbre is sikerült a forrasztás, plusz már nem is mászkálnak el a lábak.
Akkor most neki is állhatok összepasszintani a ledet és az Arduino-t, valahogy így:
Ezzel gyorsan megvoltam, közben rájöttem, hogy kezdenek kialakulni szokások, ami a jumper wire-t illeti, így pl. hogy az 5V-ot használó lábakat pirossal, a földet használókat pedig zölddel kötöttem össze. Apróság, de kezdem magam már igazi belső körösnek érezni ettől :D
A kódolás mindössze ennyiből áll, de elsőre csak világít ez a nyavalya, szöveget kiírni nem hajlandó. Morcos vagyok.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// include the library code: #include <LiquidCrystal.h> // initialize the library by associating any needed LCD interface pin // with the arduino pin number it is connected to const int rs = 7, en = 8, d4 = 9, d5 = 10, d6 = 11, d7 = 12; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("mukodj!"); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis() / 1000); } |
UPDATE: EGYEDÜL TROUBLESHOOT-OLTAM!!!!!! :)))))))))))))))))))))))))))))))))))))))))
A potmétertől végülis megszabadultam, mert az LCD 3-as lábát átraktam az Arduino 9-esére, amit írásra állítottam be, hogy azzal szabályozzam a kontrasztot, a többi lábat pedig inkább az Arduino 2-5 és 11-12 lábaira tettem. Ja, és hisztiből átírtam a kijelző második sorát, úgyhogy most már nem az utolsó reset-től számítja az időt. Hehe.
Végülis most így néz ki a kód, ami működik is:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
// include the library code: #include <LiquidCrystal.h> // initialize the library by associating any needed LCD interface pin // with the arduino pin number it is connected to const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 11, d7 = 12; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("mukodj!"); pinMode(9, OUTPUT); analogWrite(9, 50); //change 50 to adjust contrast } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); lcd.print("mukodj vegre!"); } |
Ilyen az új vezetékezés (én csináltam a rajzot, ezt is először, azért ilyen, mondjuk friss szemmel nézve ennél kevésbé katyvaszosan is meg lehetett volna oldani, de már csak örültem, hogy sikerült):
És így néz ki az LCD:
Őszintén szólva most nagyon büszke vagyok magamra, mert az első forrasztásom sikerült, és még a problémát is meg tudtam oldani :))))))))
Úgy veszem észre, ML is büszke rám, mert már ki is találta a következő projektet, mégpedig, hogy közvetlenül gépről írjam át a szöveget az LCD-n, úgyhogy lesz még dolgom ezzel is :)
E.