Author Archives: Arduino

1602 ekranas per I2C

Šiandien gavau naują žaisliuką – 16×2 dalių LCD ekraną su I2C perėjimu, kuris leidžia sutaupyti daug Arduino kontaktų. Jeigu kam įdomu, pirkau iš ebay, prekės pavadinimas “Yellow Display IIC/I2C/TWI/SP​​I Serial Interface 1602 16X2 Character LCD Module”. Gavau kažką panašaus į tai ką matote paveiksliuke.

Iki šiol jungiausi prie 1602 (Hitachi HD44780) ekranų naudojant standartinę LiquidCrystal biblioteką ir tai veikdavo be jokių problemų: tiesiog sujungi laidus pagal instrukcijas ir viskas važiuoja. Šį kartą buvo kiek sudėtingiau.

Visų pirma, standartinė LiquidCrystal biblioteka nepalaiko pajungimo per I2C. Kiek radau, labiausiai giriama kita biblioteka yra NewLiquidCrystal, kuri palaiko skirtingus ekranų pajungimo tipus, tame tarpe ir I2C. Kas mus, kaip paprastus naudotojus dar domina, tai kad ja naudojamasi lygiai taip pat kaip ir paprasta LiquidCrystal biblioteka, taigi esant reikalui rasti informacijos internete bus daug lengviau. Atsisiuntus, paaiškėjo, kad dar kažko trūksta – ekranas rodė tik juodus kvadratus.

Kiekviena schema leidžianti jungtis prie ekrano per I2C prievadą veikia kiek skirtingai ir norint, kad Arduino biblioteka galėtų parodytų prašomą tekstą, dažnai tenka nurodyti bibliotekai kaip viskas yra pajungta. Mano atveju, “perėjimas” buvo pažymėtas YwRobot užrašu, o naudojama mikrochema “PCF8574”. Pardavėjo puslapyje, visa nurodyta informacija, tebuvo I2C adresas (0x27) kurį ir taip rasti yra labai paprasta. Daugiau jokios naudingos informacijos. O čia, pagrindinė informacija kurią norėčiau pasidalinti šiame įraše: norint, kad NewLiquidCrystal biblioteka veiktų su per I2C pajungtu 1602 ekranu, biblioteką reikia inicializuotu sekančiu būdu:

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

 

ESP8266 – mikrokonktrolleris su WiFi

esp8266-01Visai neseniai prireikė viename produkte pajungti Arduino prie interneto, geriausiai per WiFi. Pradėjęs paieškas nė nesitikėjau ką rasiu. Ogi pasirodo, kad viso pasaulio dabrščiųjų rankų turėtujai jau kurį laiką negali atsidžiaugti nauju kiniečių “išradimu”: ESP8266 mikrokontrolleriu, angliškai vadinamu system-on-a-chip (SoC).

Šis modulis gali prisijungti pire 2.4GHz WiFi 801.11 b/g/n protokolais ir palaiko WPA/WPA2. Be to, jis turi 80/160MHz procesorių, įejimo/išėjimo jungtis (GPIO), 10bitų analoginį-skaitmeninį konverterį (ADC), PWM, I2C, SPI, UART bei daug kitų baisiai skambančių, bet naudingų dalykų. Jis taip pat moka persijungi į gilaus miego režimą, kuomet sunaudojama vos 10uA, kas leidžia kurti įrenginius veikiančius nuo baterijos. Laikas nuo prisikėlimo iš gilaus miego iki pirmojo išsiųsto paketo yra mažesnis už 2m.

Kas man patiko labiausiai, jį visai nebūtina jungti prie Arduino. Gerieji interneto žmonės pritaikė arduino programavimo aplinką (IDE) šiam moduliui ir dabar galima įrašyti programas tiesiogiai į ESP8266. Lygiai tai pat kaip į paprastą arduino. Tam reikia prie Arduino aplinkos pridėti ESP8266 plokštės aprašymus pagal internete pateiktas instrukcijas. Be to, Jums reikės atskiro USB-to-serial adapterio, kad galėtumėte prijungti plokštę prie kompiuterio (ji neturi USB). Rekomenduojamos yra šios:ftdi 232

  • FT232RL
  • CP2102
  • CH340G

Svarbu atkreipti dėmėsį, kad adapteris turi palaikyti 3.3V įtampą, ne sbūtent tokią naudojama ESP8266. Aš nusipirkau FTDI FT232RL iš ebay už $2.99 su pristatymu iš broliškos Kinijos. Tokį pat, kaip pavaizduotas dešinėje, nuotraukoje.

Kitame straipsnyje papasakosiu kokie skirtingi ESP8266 moduliai šiuo metu gaminami bei kokį aš rekomenduočiau pasirinkti. Pasakysiu tik tiek, kad šiuo metu modulių kainos yra apie 2-3 amerikos doleriai. Kas yra pigiau už Arduino, jau nekalbant apie WiFi praplėtimo plokštę skirtą Arduino.

Išleistas Raspberry Pi Zero

Raspberry ir vėl mus stebina, mažindami kompiuterių kainas iki nematytų žemumų. Šiandien Raspberry pristatė naują kompiuteriuką Raspberry Pi Zero, kurio kaina yra tik $5!

Kas gi jame naujo? Visų pirma į akis krenta tai, kad jis yra mažesnis. Be to, jame naudojamos mažesnės jungtys: microSD, miniHDMI ir microUSB, kas gali būti ne visada patogu. Taip pat jame neįlituotos GPIO bei composite video jungtys. Procesorius yra tas pats, kaip ir Raspberry Pi 1, bet pasak gamintojo, jis veikia iki 40% greičiau. Dideliu minusu laikyčiau tai, kad buvo atsisakyta tinklo plokštės. Taigi, norint prisijungti prie tinklo, reikės papildomai įsigyti WiFi arba paprasto tinklo USB kortą, bei, greičiausiai, parėjimą iš microUSB į USB.

Daugiau informacijos (anglų kalba) rasite gamintojo puslapyje.

Iš tikrujų, tokia maža kaina verčia susimąstyti ar ne verta darant sekantį projektą vietoj Arduino panaudoti Raspberri Pi Zero? Šį klausimą palieku Jums, mielieji skaitytojai. O jeigu sugalvosite ką nors įdomaus, būtinai pasidalinkite komentaruose!

Dėmėsio! Neatnaujinkite savo FTDI tvarkyklių (tik Windows)

Šiandien paaiškėjo, kad FTDI čipų gamintoja išleido draiverį-žudiką, kuris atpažįsta padirbtus FTDI čipus ir juos (beveik) užmuša.

FTDI yra čipas kurio pagalba nemažai Arduino versijų bendrauja su kompiuteriu per USB portą. Šie čipai yra gana brangūs, todėl apsukrūs kiniečiai juos kopijuoja stambiais mąstais. FTDI kompanija nesugalvojo nieko protingesnio ir suprogramavo savo naujausius draiverius (tvarkykles) tokiu būdu, kad kai tik programa atpažįsta padirbtą FTDI čipą, ji perrašo jo Product ID ir kompiuteris nebeatpažįsta pajungto įrenginio. Teoriškai, Product ID įmanoma pakeisti atgal, bet situacija pasikartos. Be to, tai tirkai nėra paprastas procesas ir paprastiems vartotojams tikrai nesinorės viso to daryti. Šiuo metu paprasčiausias sprendimo būdas yra tiesiog neatnaujinti tvarkyklių. (Dar geresnis sprendimas, pagaliau pereiti prie linux arba Mac OS ;))

Kaip gi atpažinti ar Jūsų turimi įrenginiai turi savyje originalius FTDI čipus? Manau beveik niekaip. Tieisog, jeigu pirkote kažką pigiai iš ebay arba pirkot tuos pačius elektronikus daiktus brangiai bet lietuviškose e-parduotuvėse, yra labai daug šansų, kad jie gali nustoti veikę…

Daugiau apie problemą rasite šiame šaltinyje apie piktuosius FTDI.

RaspberryPi B+ – raspi tapo dar geresnis

RaspberryPi B+

Šiandien buvo pranešta, kad išleistas atnaujintas Raspberry Pi pavadintas B+ modeliu. Pirmasis raspberryPi (A ir B modeliai) buvo išleista prieš dvejus metus ir nuo to laiko tapo pasaulinio masto hitu. Kurtas kaip pigus ir mažas kompiuteris trečiojo pasaulio šalims, jis tapo mėgstamiausiu viso pasaulio geek’ų žaisliuku (po Arduino, aišku ;)). Jo panaudojimo galymės išties yra beveik neribotos – nuo pigaus kompiuterio su senų konsolės žaidimų emuliatoriumi, prie namų mediatekos centro, iki beveik software’inio FM radio siųstuvo. Viską vainikuoja išties juokinga kaina – vos 35 JAV doleriai.

B+ modeliukas naudoja tą patį BCM2835 ARM architektūros procesorių, bei turi tiek pat, 512MB RAM atminties. Užtat jame yra nemažai kitų, naudngų naujovių:

  • Daugiau GPIO kojų. Dabar galima valdyti ne 26, bet 40 “kojų” prie kurių galima pajungti Arduino, arntenas, rėles ar bet kokį kitokį hardware gėrį.
  • 4 USB. USB 2.0 išėjimų skaičius išaugo nuo 2 iki 4 vnt..
  • Micro SD pakeitė paprastą SD kortelę. Iš tikrujų sunku pasakyti ar čia tirkai pliusas. Priklauso nuo to ar daug turite SD kortelių, jeigu vistiek pirksite naują kortelę, kainos jų nesiskiria, užtat atrodys gražiau, bei užims mažiau vietos.
  • Sumažintas energijos suvartojimas. Puiku, ypač naudojant projektuose veikiančiuose nuo baterijų.
  • Kokybiškesnis garsas. Įdiegtas naujas low-noise maitinimas specialiai audio “plokštei”. Jeigu esat bandę pirmąjį rasPi pajugti prie kolonėlių per jo 3.5mm išėjimą žinote, kokį siaubingą garsą jis grąžindavo (per HDMI garsas ir pirmame modelyje visai OK).
  • Pakoreguota forma. Savo vietą pakeitė USB bei kompozicinio video lizdai, atsirado 4 montavimo skylės. Jeigu turėjote nusipirkę specialią dėžutę, teks pirkti naują.

Mane asmeniškai labiausiai nudžiugino papildomi USB lizdai (dviejų tikrai per mažai, taigi tekdavo naudoti išorinį USB hub’ą su maitinimu) bei pagerintagarso kokybė.

Jeigu jau susigundėte naujuoju žaisliuku, į Lietuvą jį galima užsisakyti per Farnelio Element 24 parduotuvę. Straipsnio rašymo metu kaina bevek 108Lt.

 

Arduino Yún – naujasis Arduino su Linux

Visai neseniai Arduino komanda pristatė savo naujausią kūrinį – Arduino Yún. Tai pirmasis Arduino turintis Linux operacinę sistemą. Be to jame iškarto bus įdiegti WiFi bei Ethernet ryšiai, kurie įrenginiams leis dar paprasčiau jungtis į tinklus kuriant daiktų internetą.Arduino YUN nuotrauka

Naujasis Arduino Yún turi du procesorius. Vienas jų yra ATmega32U4, toks pat kaip ir Arduino Leonardo, standartiškai dirbantis 16MHz greičiu. Jis apdoros standartines Arduino programas, kaip ir kitos Arduino plokštės. Naujovė šiame arduino yra antrasis procesorius: Atheros AR9331 kuris veikia 400MHz greičiu ir turi DDR2 64MB Ram bei 16 MB SPI Flash atminties. Šis mini kompiuteris turi paprasto “laidinio” tinklo jungtį bei WiFi IEEE 802.11 b/g/n 2.4 GHz bevielį tinklą. Jame veikia Linino operacinė sistema paremta OpenWRT, kuri dažniausia naudojama routeriuose ir pritaikyta dirbti su silpna geležim. Joje iškarto bus įdiegtos python bibliotekos, bet norint, bus galima įsidiegti beveik bet kokias Linux serverines programas (veikiančias per terminalą, o ne langų sistemą). Apie tai kaip vyks bendravimas tarp dviejų procesorių, bei kaip praktiškai tai yra vykdoma, parašysiu kitą kartą, kai jau turėsiu įrenginį savo rankose ir išbandysiu viską pats.

Be visa ko, Arduino Yún turi MicroSD kortelės lizdą. Be to, prie jo galima pajungti bet kokius USB įrenginius, kuriems pavyks rasti Linux tvarkykles. Tai gali būti klaviatūra, pelė arba net webkamera. USB jungtis jungiasi prie Linuxinės Yun dalies, todėl tiesioginio priėjimo iš standartinių Arduino programų prie USB įrenginio neturėsite. Tam reikės programuoti programas Linux sistemai, kuri jau galės perduoti duomenis arduino programai. Bet kuriuo atveju toks mikrokontrolerio ir kompiuterio junginys atveria visą aibę naujų galimybių. Aš jau negaliu sulaukti kada gausiu Arduino Yún ir įgyvendinsiu vieną kitą genialią idėją :)

Aišku, prieš bėgant užsakinėti Arduino Yún, reikėtų sulaukti pirmųjų vartotojų atsiliepimų. Nes jo kaina oficialioje parduotuvėje yra 52EUR. Tai, mano manymu, yra kiek daugoka, ypač žinant kad už apie 30$ galima nusipirkti RaspberryPi, su greitesniu procesoriumi, daaug daugiau RAM’o ir netgi HDMI jungtimi televizoriui pajungti. Jame yra GPIO jungtys, prie kurių galima pajungti visokios galežies ir padaryti kažką panašaus kaip ir su Arduino. Vienintelė viltis, kad kiniečiai greitai nukopijuos naujajį Arduiną ir ebay’jus prisipildys pigiomis kopijomis.

Arduino už 10 Lt

Arduino platforma yra labai patogi. Viename falkone gaunate mikrokontrollerį, maitinimą, programavimo aplinką, vienu žodžiu beveik viską. Belieka pridėti šiek tiek pastangų ir Jūs jau gaminate savo įrenginį. Tai yra labai patogu, bet kai jau prisitestavote ir norite iš kūrimo stadijos pereiti i produkto stadiją, kai perkate gražią dėžutę, viską į ją sudedate ir turite savo gamybos geležį, galima šiek tiek pagudrauti ir sutaupyti vietas, elektros bei pinigų.ArduinoUno

Taigi kaip jau supratote iš pavadinimo, šiandien gaminsime Arduino už apie 10 Litų. Kodėl taip pigiai? Ogi todėl, kad iš originalios “pakuotės” išmesime kelis nereikalingus dalykus, tokius kaip USB to Serial keitiklį (FTDI), maitinimo schemą, krūvą jungčių, kelis šviesos diodus ir pan. Kaip matote nuotraukoje, galime nenaudoti daugelio detalių, taip taupydamį daug vietos bei pinigų.

Detalių sąrašas:

  1. ATMEGA328P-PU DIP-28 – 8-9 Lt iš ebay. Geriau su įrašytu bootloaderiu, nors jeigu gausite be jo, galėsite jį patys įdiegti naudojantis turima Arduino Uno plokšte.
  2. 22pF kondensatorius – 2vnt. po 0,15 Lt tiktų kad ir šie iš lemonos.
  3. Kvarcinis rezonatorius 16.000 MHz – 2Lt iš lemonos.

Tai tiek :)

arduinopins

Viršuje kairėje matote sužymėtas visas Atmega328 kojeles. O dešinėje pajungimo schemą. Tereikia prijungti pliusą (+5V) prie 1, 7 bei 20 kojelių, žemę (minusą) prie 8 bei 22 kojelių, rezonatorių prie 9 ir 10, o nuo jo kiekvienos kojelės po vieną 22pF kondensatorių prie minuso. Viskas :)

Toliau jungiate kaip prie paprastos Arduino plokštės pagal pateiktą schemą. Pvz. jei naudojote A1 Arduino analoginį išėjimą, tą vieta jungiate prie 24 kojelės, o tryliktą skaitmeninį išėjimą, dažniausiai naudojamą šviesos diodui pajungti, lituojate prie 19 kojelės ir t.t.

Norėdami įrašyti programą į Atmega328 mikrokonktrollerį, tiesiog įdėkite jį į savo turimą Arduino plokštę ir veikite kaip visada. Baigę darbą išimkite ir dėkite į savo schemą. Vienintelis dalykas kurį reikia žinoti, tai kad čipe jau turi būti įrašytas bootloaderis. Jeigu nusipirkote čipus be bootloaderio, ne bėda, jį galėsite įprogramuoti pasinaudoję Arduino Uno plokšte. Bet apie tai, kitą kartą.

Kur nusipirkti Arduino, kiek kainuoja?

Jeigu jau nusprendėte, kad norite pradėti savo pažintį su mikrokonktroleriais nuo Arduino, man belieka Jus pasveikinti! Manau, tikrai nepasigailėsite dėl šio sprendimo. Šiame straipsnyje pasistengsiu trumpai apžvelgti kokią Arduino versiją pasirinkti ir kur pigiau nusipirkti.

Arduino komanda yra sukurusi daugybę skirtingų Arduino modelių. Visi jie veikia tuo pačiu principu, programuoti juos galite su ta pačia programa (angl. IDE), o žinios įgytos mokantis su papraščiausiu, pigiausiu modeliu, galės būti panaudotos jeigu ateityje sugalvosite nusipirkti naujesnį, galingesnį ar kokį nors kitokesnį modelį.

Mano manymu pirmai pažinčiai su Arduino sistema geriausiai tinka Arduino Uno. Tai yra turbūt pagrindinis, papuliariausias modelis. Daugumoje užsienio puslapių bei tutorialų aprašoma kaip dirbti būtent su šiuo modeliu. Be to jam sukurta daugiausiai išplėtimo skydelių (Shield). Taigi jei kartais sugalvosite, kad norite sutaupyti laiko išleisdami kruvą pinigų, galėsite užsisakyti sau išplėtimų kurie pridės naujas galimybes Jūsų arduino, tokių kaip prisijungimas prie wi-fi tinklo, galimybė prisijungti prie GSM tinklo (SMS siuntimas/gavimas, GPRS internetas), SD kortelių nuskaitymas bei rašymas į jas ir begalė kitų ne mažiau naudingų galimybių.

Pirkimas

Dėl man nežinomų priežasčių, šio straipnsio rašymo metu, nei Lemona nei Evita arduinų neparduoda. Lemona tik siūlo užsisakyti už kosminę kiną. Kiek esu radęs, Lietuvoje yra el. parduotuvė kurios pagrindinė specializacija yra arduino – www.darysiupats.lt. Šiuo metu joje Arduino Uno kainuoja apie 80Lt (negaliu patikrinti tiksliau, nes puslapis nulūžęs). Aišku tai nėra pigiausias variantas, bet galite paguosti save, kad palaikote Lietuvišką firmą, kuri platina atviro kodo elektroniką Lietuvoje.

Papildymas 2013-04-07: Kažkaip visai netyčia šiandien radau dar dvi lietuviškas el. parduotuves parduodančias arduino. Modelis.lt Arduino Uno R3 (trečioji, šiuo metu naujausia versija) siūlo už 86Lt, o inforeg už 69Lt, bet šiuo metu neturi. Taip pat norėčiau pabrėžti, kad nesiūlau pirkti versiju su SMD tipo Atmega čipu, kuris yra prilituotas prie plokštės. Nusipirkus tokį Arduino Jums bus sunkiau jo pagalba įrašyti programas į kitus Atmega čipus, apie ką papasakosiu sekančiame straipsnyje.
Papildymo pabaiga.

Jeigu biudžetas yra labai mažas, bet turite laiko laukti siuntos iš Kinijos, siūlyčiau pasinaudoti ebay aukcionais. Aišku pirkimui iš ebay Jums reikia turėti Paypal sąskaitą (o jai savo ruožtu greičiausiai reikėtų kreditinės arba specialios interneto atsiskaitymams skirtos debetinės) kortelės. Bet tai jau tema atskiram sraipsniui. Jeigu kam įdomu, klauskite komentaruose, paaiškinsiu.

Taigi, įvedame ebay paieškos laukelyje “arduino uno” ir ieškome. Šiuo metu pigiausios Arduino kopijos kainuoja nuo 13$ (apie 35Lt) kartu su siuntimu iki Jūsų namų (o tiksliau pašto skyriaus). Už šiuos pinigus gausite patį Arduino, prie jo Jums dar reikės USB B laido, bet jeigu turite namuose per USB jungiamą printerį, greičiausiai tiks jo laidas. Jeigu norisi dar labiau sutaupyti, galite rinktis Arduino nano kopiją (Kiniečiai ją vadina “Iduino nano”). Joje šiek tiek mažiau išėjimų, šiek tiek silpnesnis pats mikrokonktroleris (Atmega168), mikro USB jugtis (gali tikti laidas kuriuo jungiate telefoną prie kompiuterio). Taip pat reikės šiek tiek daugiau pasukti galvą bandant kopijuoti internete aprašytus projektus, kurie kaip jau rašyta anksčiau, dažniausiai aprašinėjami remiantis Arduino Uno. Užtat kaina šiuo metu nuo maždaug 9$ (24Lt) su siuntimu. Tai yra tikrai labai maža kaina turint omeny kokias galimybes Jums suteiks mikrokonkontrolerių pasaulis, kurį Jums atvers Arduino!

Kai jau turėsite savo pirmąjį Arduino, papasakosiu Jums kaip pasidaryti dar pigesnį Arduino už 10 Litų, pasinaudojus gamikliniu!