Skalbimo mašina yra sukurta skalbti drabužius. Skrudintuvas yra sukurtas kepti duoną. „Roomba“ dulkių siurblys yra sukurtas valyti grindis.... Palaukite, tai tik dalis tiesos! „Roomba“ yra kitoks. Tai - ateities vizija. Tai - prietaisas, kuris gali ne tik atlikti savo tiesioginę funkciją, bet ir būti modifikuojamas šeimininkų. Tai - ideali platforma robotų konstruktoriams ar tiesiog besidomintiems elektronika. Jūs galite išmokyti jį įvairių triukų. Jis gali netgi tapti jūsų draugu. Taigi, leiskite paklausti: „O ką moka tavo „Roomba“?“.
Tokiais žodžiais buvo pradėtas konkursas Elektronika.lt portale. Pirmoji vieta ir prizas - „Roomba 560“ - atiteko Dariui Kasiulevičiui už idėją „Roomba“ išmokinti rašyti.
Ar norite pasigirti draugams, kad jūsų dulkių siurblys moka rašyti savo vardą? Tada skaitykite toliau.
Ko reikės
- Kompiuteris su integruotu arba išoriniu „Bluetooth“ moduliu.
- Siurblys „Roomba 500“ serijos (siurblio modelio pirmasis skaičius turi būti 5).
- „Bluetooth“ modulis su serijiniu interfeisu (skirtas „Roombai“).
- Programa „D-control“ (D-control.exe ir ABC.txt failai turi būti viename aplanke).
- Markeris arba flomasteris.
- A1 formato vatmano lapas.
Suderinamumas
„D-control“ dabartinėje versijoje nepalaiko „Roomba Green“ serijos siurblių. Suderinamumas su „Roomba Green“ serijos siurbliais bus sekančioje „D-control“ programos versijoje.
„D-control“ programa buvo testuojama kompiuteryje su „Windows XP SP2“ operacine sistema. Suderinamumas su „Windows Vista“ – nežinoma.
„D-control“ programa buvo testuojama su „BlueSoleil“ „bluetooth“ valdymo paketu. Suderinamumas su kitais „bluetooth“ valdymo paketais - nežinoma.
„Bluetooth“ moduliai
„Roomba“ bendraus su kompiuteriu per „bluetooth“ (BT) modulius. Pirmas BT turi būti kompiuteryje (integruotas arba išorinis USB modulis). Teoriškai tinka bet kokio gamintojo BT, nes jo veikimas daugiausiai priklauso nuo programines įrangos (tvarkyklių). Pati populiariausia BT valdymo programa yra „BlueSoleil“, su kuria ir buvo testuota „D-control“ programa. Teoriškai turėtų tikti ir kitos programos.
Antras BT turi būti prijungtas prie „Roombos“. Jei elektronika nėra jūsų stiprioji pusė – galite nusipirkti „Rootooth“ - jau paruošta naudojimui su „Roomba“ BT. Jei jus draugaujate su lituokliu, galite naudoti kitą BT. Reikia pažymėti, kad tinka tik BT su UART (serial) sąsaja - tai yra BT turi turėti Rx/Tx išėjimus.
BT pajungimas prie „Roombos“ yra labai paprastas. Jei naudojate „Rootooth“ - tiesiog jungiate kištuką į „Roomba“ SCI lizdą. Jei naudojate kitą BT, jums reikia „Mini-Din-7“ formato kištuko kad tiktu „Roomba“ SCI lizdui. Tokiu kištukų galima nusipirkti, pavyzdžiui, www.lemona.lt (kodas AU/CX-MD7-M). Jūsų BT gali reikalauti 3V arba 5V maitinimo. Lengviausias kelias - panaudoti „Roombos“ bateriją. DĖMĖSIO: Roomba baterijos įtampą reikia sumažinti iki BT maitinimo įtampos naudojant įtampos reguliatorių.
„Roombos“ paruošimas
Prie „Roombos“ reikia pritvirtinti pieštuką arba flomasterį. Jus tai galite padaryti keliais budais:
- Su lipnia juosta tiesiog priklijuokite flomasterį prie „Roombos“ korpuso.
- Parinkite plastikinį vamzdelį, į kurį su nedideliu laisvumu telpa flomasteris. Su lipnia juosta priklijuokite vamzdelį prie „Roombos“. Įdėkite flomasterį į vamzdelį – tokiu budu flomasteris visada prisispaus prie popieriaus lapo netgi esant grindų nelygumams.
- Padekite popieriaus lapą ant lygaus paviršiaus ir pastatykite ant jo „Roombą“.
Darbas su „D-control“ programa
Prieš paleidžiant programą įsitikinkite, kad abudu BT (kompiuteryje ir „Roomboje“) yra pajungti. Pirmą kartą suradus „Rootooth“ „BlueSoleil“ programoje reikia atlikti „Pair“ procedūrą. „Rootooth“ PIN kodas yra 1234 (slaptažodis, reikalingas „Pair“ procedūrai atlikti). Po sėkmingai atliktos „Pair“ procedūros vėliau PIN kodo įvėdinėti nereikės. Paspauskite SPP (serial port profile) ikonėlę kad patikrinti, ar kompiuterio BT prisijungia prie „Rootooth“, ir atsijunkite. Įjunkite „Roombą“ ilgu „CLEAN“ mygtuko paspaudimu - laikykite „CLEAN“ nuspausta apie 10 sekundžių kol išgirsite trumpą melodiją (taip mes perjungiame „Roombos“ SCI bendravimo greitį į 19200 baud). Paleiskite „D-control“ programą ir vadovaukitės nurodymais programos lange:
- Žingsnis 1 – parinkite teisingą „bluetooth“ COM portą (tai galite sužinoti „BlueSoleil“ konfigūravimo lange).
- Žingsnis 2 – prisijunkite prie „Rootooth“ konfigūravimo režime.
- Žingsnis 3 – sukonfigūruokite „Rootooth“ (instrukcija programos lange) ir atsijunkite nuo „Rootooth“.
- Žingsnis 4 – prisijunkite prie „Roombos“.
- Žingsnis 5 – įveskite norimą tekstą langelyje.
- Žingsnis 6 – spauskite mygtuką DRAW!- Roomba atkartos įvestą tekstą ant popieriaus lapo.
Vieną kartą sukonfigūravus „Rootooth“, to daugiau daryti nereikia. Kitą kartą paleidžiant programą iš karto pereikite prie 4 žingsnio (kol neatjungsite „Rootooth“ nuo „Roombos“). Atjungus „Rootooth“ nuo „Roombos“ reikės pakartoti 1 žingsnį, 2 žingsnį ir 3 žingsnį. Taip yra todėl, kad dabar parduodama „Rootooth“ versija neprisimena pakeistų nustatymų po maitinimo atjungimo (gamintojai žada ištaisyti klaidą).
Penkios raides (R,O,M,B,A) yra užprogramuotos ABC.txt faile. Jei jus norite, kad jūsų „Roomba“ išmoktų visą abėcėlę - jums teks patiems užprogramuoti trūkstamas raides. Tam reikės tiesiog papildyti ABC.txt failą naujomis eilutėmis.
Eilutės pavyzdys:
A;137,40,32767;80;137,100,200;1200;137,40,32767; 170;137,100,200;1600;137,40,32767;175;...........
Pirmas simbolis - tai bet kuris spausdinamasis simbolis, kuris gali būti įvedamas į įvesties langelį. Po to pateikiamos komandos, kaip tas simbolis piešiamas. Viskas atskiriama kabliataškiais. „Roombos“ komandos ir duomenys atskiriami kableliais, po to nurodoma, kiek enkoderiai turi suskaičiuoti žingsnelių, kad „Roomba“ pradėtų vykdyti kitą komandą.
Komandų pavyzdžiai:
137,40,32767;80;
137- SCI komandos kodas (žiūrėti Roombos SCI aprašymą).
40- greitis (nuo –500 iki 500, teigiamas greitis- važiuoti pirmyn, neigiamas- važiuoti atgal).
32767- važiuoti tiesiai.
80- nusako atstumą (enkoderių impulsais), kurį reikia pravažiuoti.
137,100,200;1200;
137- SCI komandos kodas (žiūrėti Roombos SCI aprašymą).
100- greitis (nuo –500 iki 500, bet prie didesnių greičių auga enkoderių paklaida).
200- suktis aplink flomasterio ašį.
1200- nusako kampą (enkoderių impulsais), kiek reikia pasisukti.
Su „D-control“ programa jus galite valdyti „Roomba“ rankiniu būdu. Pasinaudokite mygtukais FWD, LFT, RGT, BCK. Nepatartina naudoti rankinį valdymą kol nebaigtas DRAW! ciklas. Geriau sulaukite DRAW! ciklo pabaigos ir tada naudokite rankinio valdymo mygtukus.
„D-control“ programa kartais gali pakibti arba išduoti klaidos pranešimą. Neišsigąskite ir nepanikuokite, tiesiog pirmoji programos versija nėra tobula. Jus galite pagerinti ir praplėsti programos funkcionalumą pasinaudojus projekto išeities (angl. source) failais.
Linkiu jums linksmai praleisti laiką žaidžiant su savo „Roomba“! Galbūt jus tapsite sekančio konkurso laimėtoju!
Papildoma informacija
- „D-control“ programa.
- Vaizdo klipai: DSCN3960.avi [25,3 MB], DSCN3959.avi [42,6 MB], DSCN3958.avi [12,5 MB], DSCN3964.avi [33,9 MB], roomba-draws-letters.mov [21,6 MB].