Dabar apžvelgsime tris įterptųjų programų kūrimo platformas: Arduino Uno, RaspberryPi, palyginsime jas ir pateiksime rekomendacijas, kaip pasirinkti tinkamą kitam projektui (1 pav.). Apskritai profesionalams galima rekomenduoti visus tris.
Šie trys modeliai palyginimui pasirinkti neatsitiktinai: visi jie tikrai įperkami, pagaminti kompaktiškos formos ir iš jų galima kurti įvairius skaitmeninius įrenginius. Prieš pradėdami lyginti, pateiksime trumpą kiekvieno iš jų aprašymą.
Arduino Uno jau kurį laiką buvo laikomas pagrindiniu kumpio bendruomenės elementu (2 pav.). Dabar Arduino plokštės yra įvairių formų, su skirtingu periferinių įrenginių rinkiniu. Dauguma jų yra pagaminti naudojant 8 bitų Atmel mikrovaldiklį. Ir ne taip seniai Arduino Due plokštė buvo paskelbta galingame ARM mikrovaldiklyje su Cortex-M3 šerdimi. Mūsų apžvalgai Arduino Uno buvo pasirinktas kaip Arduino platformos atstovas. Jai prieinama paprasta kūrimo aplinka ir didelė žinių bazė bei patobulinimai, o tai rodo galimybę sukurti pakankamai funkcionalias programas.
Raspberry Pi lenta yra žaidimo naujiena – tai vienos lentos kompiuteris, parduodamas kaip pigus sprendimas pradedantiesiems įterptiniams kūrėjams (3 pav.). Nepaisant kuklios išvaizdos ir mažos kainos (apie 35 USD), jūs gaunate tikrą kompiuterį, kuris gali tapti daugelio projektų pagrindu.
„BeagleBone“ yra turbūt mažiausiai žinoma iš trijų platformų, tačiau jos galimybės nusipelno įterptųjų programų kūrėjų dėmesio. Tai galingas kompaktiško dydžio Linux kompiuteris, palaikantis Android ir Ubuntu (4 pav.).
4 pav |
Trijų kūrimo platformų palyginimas.
Visos trys plokštės turi tam tikras funkcijas ir periferinių įrenginių rinkinį, todėl jos yra vertingos mikrovaldiklių sistemų kūrėjams ir dizaineriams. Žemiau bandėme juos palyginti pagal kai kuriuos svarbius parametrus (1 lentelė). Matote, kad dėl plokščių skirtumų kiekviena iš jų idealiai tinka kuriant tam tikro tipo programas.
1 lentelė. Plokščių Arduino Uno, BeagleBone, RaspberryPi charakteristikų palyginimas.
Platforma | Arduino Uno | Raspberry Pi | biglio kaulas |
Modelis | R3 | Modelis B | Rev A5 |
Numatoma kaina | 29.95$ | 35$ | 89$ |
matmenys | 7,5×5,3 cm | 8,5×5,4 cm | 8,6×5,3 cm |
mikrovaldiklis | ATmega328 | ARM11 | ARM Cortex-A8 |
Laikrodžio dažnis | 16 MHz | 700 MHz | 700 MHz |
RAM | 2 KB | 256 MB | 256 MB |
Flash atmintis | 32 KB | SD kortelė | 4 GB (SD kortelė) |
EEPROM | 1 KB | - | - |
Maitinimo įtampa | 7–12 V | 5 V | 5 V |
Minimumas Energijos suvartojimas |
42 mA (0,3 W) | 700 mA (3,5 W) | 170 mA (0,85 W) |
Skaitmeninės linijos I/O |
14 | 8 | 66 |
Analoginiai įėjimai | 6 (10 bitų ADC) |
- | 7 (12 bitų ADC) |
PWM kanalai | 6 | - | 8 |
TWI/I2C sąsaja | 2 | 1 | 2 |
SPI sąsaja | 1 | 1 | 1 |
UART sąsaja | 1 | 1 | 5 |
Įrankiai plėtra |
Arduino IDE | TUŠTA, įbrėžimas, Squeak/Linux |
Phyton, Scratch, „Squeak“, „Cloud9“ / „Linux“. |
Ethernet prievadas | - | 10/100 | 10/100 |
USB pagrindinė sąsaja | - | 2 USB 2.0 | USB 2.0 |
Vaizdo išvestis | - | HDMI, kompozitas | - |
Garso išvestis | - | HDMI, analoginis | analoginis |
„Arduino“ ir „Raspberry Pi“ yra nebrangios plokštės, mažesnės nei 40 USD. „BeagleBone“ kainuoja beveik tris „Arduino Unos“. Tačiau „Arduino“ yra 40 kartų lėtesnis ir turi 128 000 kartų mažiau RAM nei kiti du. Jau šiame etape galite pastebėti svarbius skirtumus. Arduino ir Raspberry Pi yra pigios plokštės, o Raspberry Pi ir BeagleBone yra daug galingesnės.
Atrodo, kad Raspberry Pi šiuo metu atrodo kaip optimalus sprendimas, tačiau tai nėra visiškai tiesa: darbui reikės atskirai įsigyti SD atminties kortelę, kuri yra dar 5–10 USD už pačios plokštės kainą. Be to, nepaisant to paties laikrodžio greičio, „BeagleBone“ veikia dvigubai greičiau nei „Raspberry Pi“. Ir kad ir kaip paradoksaliai tai skambėtų, „Arduino“ yra geriausias pasirinkimas, bent jau pradedantiesiems. Pagrindinė to priežastis – Linux operacinė sistema, kurioje veikia Raspberry Pi ir BeagleBone plokštės. Ši „įmantri“ programinė įranga paverčia plokštes mažais kompiuteriais, kurie vienu metu gali paleisti kelias programas ir gali būti programuojami įvairiomis kalbomis. Programų kūrimas „Arduino“ yra labai paprastas, nes trūksta kelių užduočių ir programavimo žemo lygio C++ kalba.
Atkreipkite dėmesį į įdomią Raspberry Pi ir BeagleBone savybę: galimybę paleisti programinę įrangą iš atminties kortelės (SD kortelė Raspberry Pi, microSD skirta BeagleBone). Tai reiškia, kad skirtingose atminties kortelėse galite turėti skirtingas OS konfigūracijas, programas, buildus, OS vaizdus, o vieno ar kito projekto pasirinkimas vyksta tiesiog pakeitus atminties kortelę. Tuo pačiu būdu galite pakeisti operacinę sistemą.
Plėtros platformos pasirinkimas
Pradedantiesiems rekomenduojame Arduino. Iki šiol „Arduino“ bendruomenėje yra daug vartotojų, daugybė mokomosios medžiagos, paruoštų sprendimų ir projektų, kuriuos galite naudoti savo programose. Be to, Arduino siūlo paprasčiausią būdą bendrauti su išoriniais periferiniais įrenginiais.
Arduino platforma iš pradžių buvo sukurta tam, kad būtų paprastas būdas prijungti įvairius jutiklius ir vykdymo elementus prie mikrovaldiklio be papildomų išorinių grandinių, kad jums nereikėtų gilių elektronikos žinių kuriant paprastas programas ir įrenginius. Jei anksčiau nenaudojote Arduino, verta jį įsigyti ir išbandyti. Tai bus tikrai puiki patirtis, kuri pravers kuriant rimtus ir sudėtingus projektus.
Kompaktiškiems įrenginiams rekomenduojame Arduino platformą. Visi trys išbandyti kūrimo plokščių modeliai yra mažo dydžio. Vienintelis neigiamas punktas būdingas Raspberry Pi – lizde įdėta SD atminties kortelė daro plokštę didesnę nei likusių testo dalyvių (8 pav.).
Kaip jau minėjome aukščiau, yra daug Arduino plokščių variantų (5 pav.), tačiau jas visas sieja du dalykai: jose naudojamas specifinis Atmel mikrovaldiklis ir Arduino įkrovos įkroviklis, įgyvendinantis pagrindines plokštės funkcijas. Kompaktiškiems įrenginiams (galbūt nereikalaujant PCB) galite įsigyti šį pigų mikrovaldiklį ir suprogramuoti įkrovos įkroviklį naudodami bet kurį AVR mikrovaldiklio programuotoją.
Kuriant programas, kurioms reikalingas interneto ryšys, rekomenduojame BeagleBone arba Raspberry Pi. Abiejuose įrenginiuose veikia Linux ir yra Ethernet bei USB prievadai (6 pav.). Naudojant USB galima prijungti belaidžio duomenų perdavimo modulius ir taip realizuoti belaidžio duomenų perdavimo bei interneto ryšio funkcijas (7 pav.). Be to, „Linux“ operacinėje sistemoje yra daug integruotų programinės įrangos komponentų, teikiančių pažangias tinklo funkcijas.
„Arduino“ platformoje taip pat galima įdiegti „Ethernet“ palaikytas programas, naudojant išplėtimo plokštes, vadinamas „Shields“, tačiau tokių programų tinklo funkcionalumas bus labai ribotas. Atskirų išplėtimo kortelių įsigijimas taip pat pareikalaus papildomų finansinių išlaidų.
Programoms ir sistemoms, kurios sąveikauja su išoriniais jutikliais ir pavaromis, rekomenduojame Arduino arba BeagleBoard. Bet kuri Arduino aparatinės įrangos platformos versija reiškia paprastą išorinių jutiklių prijungimą ir sąveiką su jais. Radijo mėgėjams yra keletas plokščių, kurių maitinimo įtampa yra 3,3 V ir 5 V, parinktys, kurios supaprastina išorinių periferinių įrenginių prijungimą. „BeagleBone“ plokštė maitinama 3,3 V įtampa, todėl jei prijungiate kai kurių tipų išorinius įrenginius, turite naudoti papildomus rezistorius arba loginio lygio derinimo grandines. Tiek „Arduino“, tiek „BeagleBone“ turi analoginio-skaitmeninio keitiklio sąsają (į mikrovaldiklį „BeagleBoard“ plokštėje įmontuoto ADC skiriamoji geba yra šiek tiek didesnė), kas rodo galimybę prijungti įvairius analoginius jutiklius.
Atsižvelgiant į tai, svarbu pažymėti, kad daugelyje šiuolaikinių jutiklių yra skaitmeninės I 2 C arba SPI sąsajos. Visos trys plokštės palaiko šio tipo nuosekliąją sąsają ir yra gana lengva įdiegti sąveiką su ja.
Akumuliatoriams maitinamiems įrenginiams rekomenduojame Arduino. Tokį sprendimą lėmė tai, kad „Arduino“ sunaudoja mažiausią energijos suvartojimą, tačiau pagal skaičiavimo galios santykį vatui „BeagleBoard“ yra aiškus lyderis. Tačiau „Arduino“ pranašumas yra tas, kad jis veikia esant įvairiai maitinimo įtampai. Taigi, įvairių tipų baterijos gali būti naudojamos kaip plokštės maitinimo šaltinis, mikrovaldiklis veikia net tada, kai baterijos išeikvoja savo resursus.
GUI programoms rekomenduojama naudoti Raspberry Pi. Vienos plokštės kompiuteris Raspberry Pi tikrai patenka į savo kategoriją, nes plokštė turi HDMI išvestį (8 pav.). Tai reiškia, kad prie plokštės galite prijungti pelę ir klaviatūrą, o plokštę – tiesiogiai prie televizoriaus. Taigi jūs gaunate visiškai funkcionalų kompiuterį, kuris idealiai tinka naudoti POS terminaluose ir kioskuose. Kad būtų smagu, testavimo metu į Raspberry Pi įdiegėme Arduino kūrimo programinės įrangos įrankius, parašėme nedidelę programą ir per Raspberry Pi sąsają suprogramavome Arduino plokštę.
Išvada
„Arduino“ yra gana funkcionali ir lanksti platforma įterptųjų programų kūrimui, turinti puikias galimybes bendrauti su išoriniu pasauliu. Tai puikiai tinka mokytis apie mikrovaldiklius ir gali būti pagrindas mažiems projektams. Raspberry Pi yra geriausias pasirinkimas programoms, kurioms reikalingas ekranas, grafinė vartotojo sąsaja ir interneto ryšys.
„BeagleBone“ platforma puikiai sujungia „Arduino“ lankstumą, „Rapberry Pi“ plokštės procesoriaus ir „Linux“ OS našumą (o iš tikrųjų našumas yra didesnis nei „Raspberry Pi“). Turėdamas daug I/O, „BeagleBone“ užtikrina lengvą tinklo ryšį ir leidžia įdiegti žiniatinklio serverį.
Arduino yra populiariausia pomėgių ir edukacinė robotikos platforma. Kurią Arduino plokštę ar rinkinį turėtų įsigyti pradedantysis? Kaip pigiai nusipirkti Arduino? Kuo Arduino analogai skiriasi nuo originalios plokštės? Atsakymai yra mūsų apžvalgoje.
arduino ar bet kas-duino
Per atvirumą Arduino, jo struktūra žinoma ir leidžia laisvai modifikuoti. Todėl gaminti gali bet kuris plokščių gamintojas analoginė plokštė Arduino, atlikti pačios plokštės pakeitimus, jau nekalbant apie nemokamą rinkinių konfigūraciją.
Kadangi Arduino yra gamintojo prekės ženklas, analogai turi kitus pavadinimus, tačiau dažniausiai sutampa su Arduino - Freduino, Freeduino, DCcduino, Xdruino, Funduino, robotale ir daugelis kitų. Be to, prekės ženklas gali būti visai nenurodytas, bet bus užrašas kaip už Arduino. Originalūs Arduinos gaminami Italijoje, dauguma analogų – Kinijoje. Taip pat yra Rusijos įvykių.
Vizualiai dauguma šių plokščių atrodo vienodai (Arduino turi įmonės logotipą) ir netgi turi tokią pat mėlyną spalvą (yra išimčių, bet nedaug, Funduino, pavyzdžiui, yra raudonos spalvos). Taip pat Arduino analoginės plokštės savo pavadinime dažniausiai turi tuos pačius priešdėlius kaip ir pats Arduino, pavyzdžiui, DCcduino UNO atitinka Arduino UNO (kas yra UNO – žemiau).
Neįvardytas Arduino UNO analogas
Paprastai analogai nėra prastesnės kokybės, tačiau jie turi didelę naudą kaina (daugiau apie tai žemiau).
Visos instrukcijos, visi metodiniai tobulėjimai, pamokos ir kt., orientuotos į Arduino, visiškai tinka analogams. Todėl, jei vaizdas jums nieko, drąsiai imkitės kitų duinų!
Arduino pradžios rinkinys
Gamintojas rekomenduoja pradėti mokytis Arduino su rinkiniu Arduino pradžios rinkinys. Šiame rinkinyje yra plokštė ir kiti elektroniniai komponentai, reikalingi norint pradėti dirbti su Arduino: šviesos diodai, rezistoriai, servo, variklis, mygtukas, LCD, pjezo, jutikliai ir kt.
Norint įsigyti oficialaus gamintojo Arduino Starter Kit, teks pakloti apie 80 eurų.
Analogai žymiai laimi kaina su panašia konfigūracija. Mažiausios jų kainos Kinijos internetinėse parduotuvėse. Lyginant rinkinių kainas, žinoma, reikia atsižvelgti į jų sudėtį. Taigi, Pradinis rinkinys, skirtas Arduino su DCcduino plokšte AliExpress svetainėje tai kainuoja šiek tiek mažiau nei 34 USD - įranga yra panaši į originalą. Šiek tiek mažesnė įranga Pradinis rinkinys, skirtas Arduino su Robotale lenta DealExtreme svetainėje kainuoja 28 USD. Pristatymas į Rusiją abiejose svetainėse nemokamas.
Beveik bet kuriame iš šių rinkinių yra būtinas minimumas pradedantiesiems ir yra tinkamas mūsų įsisavinimui (maži rinkiniai dažnai neturi fotorezistoriaus).
Pradinis rinkinys, skirtas Arduino
Aš pats turiu įdomią istoriją. Užsisakiau tokį komplektą iš DX - kaip matote nuotraukoje, yra neoriginalus Arduino, bet atėjo visiškai itališkas Arduino! Smulkmena, bet gražu.
Norėdami pradėti mokytis, nusipirkite paruoštą Arduino robotą
Jau kalbėjome apie gatavų robotų pirkimą kaip būdą pirmą kartą susipažinti su Arduino. Tokių „Arduino“ pagrindu pagamintų rinkinių rinkoje yra daug. Mažesniems vaikams toks būdas susipažinti su Arduino yra labiau tinkamas, nes tai jau paruoštas žaislas, su kuriuo galėsite žaisti, o vėliau išardyti ir naudoti Arduino plokštę bei kitus komponentus treniruotėse.
Žinoma, gatavame robote gali būti ne visos reikalingos detalės, bet viską, ko trūksta, galima nusipirkti atskirai. Paprastų „pasidaryk pats“ komponentų, tokių kaip šviesos diodai ir rezistoriai, galima įsigyti bet kurioje radijo dalių parduotuvėje.
Nuotraukoje populiarus Arduino robotas yra , kainuojantis mažiau nei 100 USD.
Bluetooth valdomas automobilis
Arduino modifikacijos pasirinkimas pradedantiesiems
Oficialioje Arduino gamintojo svetainėje pristatoma 20 Arduino plokštės modifikacijų. Tarp jų – „Arduino Uno“, „Arduino Due“, „Arduino Leonardo“ ir kt.
Arduino UNO ir analogai
Tai pati populiariausia, dažniausiai įtraukiama į aukščiau aprašytus rinkinius ir, ko gero, gali būti vadinama standartine Arduino plokšte. Tai viena pigiausių Arduino plokščių.
Oficialioje Arduino UNO svetainėje galima nusipirkti už 20 eurų + siuntimas. Didelėse Rusijos internetinėse parduotuvėse, įskaitant oficialius platintojus, jis parduodamas už 1150-1300 rublių. Paprastai Maskvoje ir Sankt Peterburge galite atsiimti patys (rekomenduojame internetines parduotuves ir DESSY), tačiau kituose regionuose taip pat turėsite sumokėti už pristatymą. Pasirodo, kad tai brangu. Nors kartais Rusijoje galima rasti parduotuvių su žemomis kainomis. ROBstore internetinė parduotuvė siūlo žemas kainas ir greitą pristatymą. Kaina vis tiek bus didesnė nei Kinijoje, tačiau siuntinio laukti teks daug mažiau.
Originalų Arduino UNO galima nusipirkti ir Kinijos parduotuvėse, tačiau reikia atidžiai žiūrėti į aprašymus ir nuotrauką (tai ne visada aiškiai matoma aprašymų tekstuose). Tačiau aprašymai kartais būna klaidingi (kaip rašiau aukščiau). Kaina, žinoma, mažesnė nei Rusijos parduotuvėse.
Kaip ir rinkinių rinkinių atveju, Arduino analogų galite įsigyti labai pigiai. Pavyzdžiui, beveik identiškas DCcduino UNO analogas dx.com kainuoja mažiau nei 10 USD, o „aliexpress“ - 5,50 USD!
„DCcduino“ „AliExpress“ už 5,5 USD
Kitos Arduino plokštės modifikacijos
Pažiūrėkime, kurios iš plokščių yra patogios pradedantiesiems susipažinti su elektronikos pagrindais.
Pereikime prie pašalinimo metodo.
Iš karto atsisakome 4 lentos modifikacijas Lilly Pad- jie skirti "elektroninei tekstilei" - LED siuvimui į drabužius ir t.t.. Vėliau apie juos parašysime.
Arduino LillyPad
Jei neplanuojate gaminti gatavų robotų, tai yra dažnai į plokštę įkelsite programas, daug tikslingiau naudoti plokštes su USB prievadu – jas patogiau prijungti prie kompiuterio.
USB prievadai NĖRA plokštės: Arduino Mini, Pro, Pro Mini.
Jei norite susipažinti su elektronikos pagrindais, „prašmatnios“ plokštės jums nelabai tinka: Esplora, BT, Ethernet, Tre, Yun, robotas.
Likti UNO, Leonardo, Due, Micro, Mega ADK, Mega 2560, Nano, Fio.
Jei įdedate skydus, kad išplėstumėte plokštę (jų forma yra vykdomi variklio tvarkyklės, plokštės su papildomomis jungtimis ir pan.), turite atsižvelgti į tai, kad jie turi standartinį formatą, kurio neturi Micro ir Fio.
Turiu pasakyti, kad „Arduino Nano“ taip pat yra nestandartinio dydžio, tačiau jį lengva įkišti į „Breadboard“ – jo kojelės yra apatinėje lentos pusėje.
Palyginkime Arduino parduotuvėje likusių lentų kainas:
- UNO - 20 eurų,
- Leonardo - 18 eurų,
- Mokestis - 36 eurai,
- Mega 2560 - 29 eurai,
- Mega ADK - 44 eurai,
- Nano - 33 eurai.
Aukščiau paminėtose Kinijos parduotuvėse galite rasti analogų už žymiai mažesnę kainą.
Arduino dažnai vadinamas vienos lentos kompiuteriu. Ir būtent renkantis kompiuterį pradedantiesiems geriausia palyginti su Arduino plokštės pasirinkimu.
Mokesčiai skiriasi:
- mikrovaldiklis ir jo darbo dažnumą(ATmega328 – 16 MHz, ATmega32u4 – 16 MHz, ATmega2560 – 16 MHz ir kt.),
- įvesties ir išvesties įtampa į plokštę,
- analoginių įėjimų ir išėjimų skaičius,
- skaitmeninių prievadų skaičius, įskaitant tuos, kurie palaiko PWM,
- „flash“ atminties kiekis.
Plokštės prievadų skaičius lemia maksimalų prie jos prijungtų įrenginių (daviklių, variklių ir kt.) skaičių, o „flash“ atminties kiekis riboja į ją įkeliamos programos trukmę.
Analoginis Arduino Leonardo
Trumpos kai kurių plokščių charakteristikos:
: ATmega328 mikrovaldiklis, 14 skaitmeninių prievadų, įsk. 6 su PWM, 6 analoginiai įėjimai, 32 KB Flash atmintis, B tipo USB prievadas.
„Arduino“ terminas: mikrovaldiklis AT91SAM3X8E, 54 skaitmeniniai prievadai, įsk. 12 su PWM, 12 analoginių įėjimų ir 2 analoginiai išėjimai, 512 KB Flash atmintis, 2 microUSB prievadai.
Arduino Leonardo: mikrovaldiklis ATmega32u4, 20 skaitmeninių prievadų, įsk. 7 su PWM, 12 analoginių įėjimų, 32 KB Flash atmintis, MicroUSB prievadas.
Visos kainos nurodytos paskelbimo datos.
Yra daugybė Arudino lentų veislių: Nano, Mini, Uno, Leonardo, Mega, Lilypad... Pradedančiajam sunku suprasti jų įvairovę. Šiame straipsnyje kalbėsiu apie Arduino plokščių tipus. Straipsnio pabaigoje yra nuorodos į pardavėjus, kuriuos patikrinau, kur galite nusipirkti Arduino plokštę. Spustelėkite, kad greitai pereitumėte prie lentelės su nuorodomis.
Pagrindiniai Arduino plokščių skirtumai:
Arduino skiriasi vienas nuo kito:
- dydis
- smeigtukų skaičius
- atminties dydis
Lentos dydis, pirmiausia turi įtakos darbo su juo patogumui. Labiausiai paplitusi plokštė - Arduino Uno (ir atnaujinta jos versija Arduino Leonardo) yra apie 6 × 5 cm dydžio. Tai leidžia apsieiti be padidinamojo stiklo kuriant prototipą ant duonos lentos ir gauti gana kompaktiškus veikiančius įrenginius. „Arduino Nano“ yra labai kompaktiškas. Jo dydis yra tik 4,4 × 1,9 cm, o funkcionalumas nesiskiria nuo didelių lentų. „Arduino Nano“ taip pat gerai prisitvirtina prie duonos lentos dėl vyriškų kaiščių. Bandant plokštes padaryti dar mažesnes, buvo sukurtos Arduino Micro (Arduino Uno klonas, išleistas ant 4,8x1,77 cm plokštės) ir Arduino Mini (trūksta minimalios konfigūracijos – nėra USB jungties maitinimui ir įkėlimui). programinė įranga, programinė įranga įkeliama per specialų adapterį. Įdomus faktas: arduino mini yra daug mažesnis nei mikro, o mikro yra beveik tokio pat dydžio kaip nano.Taigi plokščių modelių pavadinimai yra tik plokščių modelių pavadinimai ir ne atspindi tikrąjį dydį.Taip pat yra didžiulis, 10,2 * 5,3 centimetrų Arduino Mega Ji gavo tokį dydį ne be priežasties.Lente yra net 70 kaiščių.
Smeigtukų skaičius nustato išorinių periferinių įrenginių, kuriuos galite prijungti prie plokštės, skaičių: šviesos diodus, servo, įvairius jutiklius, modulius, mygtukus ir daug daugiau. Plokštės turi skaitmeninius ir analoginius išėjimus. Skaitmeniniai išėjimai gali turėti tik 2 reikšmes: HIGH ir LOW. HIGH atitinka srovės buvimą išėjime, LOW – nebuvimą. Jie norėjo uždegti šviesos diodą – išvestį perkėlė į HIGH būseną. Išėjime pasirodė įtampa ir užsidegė šviesos diodas. Išduodamas LOW ir šviesos diodas užgeso. Skaitmeniniai išėjimai taip pat gali nuskaityti reikšmes, panašiai, tik 2 būsenas. Jei išėjimas iš išorės (pavyzdžiui, iš mygtuko) tiekiamas įtampa ~ + 5 V, tada valdiklis laiko reikšmę AUKŠTA. Mažesnė nei 5 voltų įtampa bus aptikta kaip LOW.
Analoginiai išėjimai leidžia nuskaityti naudojamos įtampos vertę intervale nuo 0 iki 1024. Kur 0 yra 0 voltų, 1024 yra 5 voltai. Matavimo diapazoną galima pakeisti pritaikius etaloninę įtampą tam skirtam AREF kaiščiui. Šiuo atveju bet koks analoginis išėjimas gali būti naudojamas kaip skaitmeninis. Tačiau skaitmeninis negali būti naudojamas kaip analoginis.
Skaitmeniniai išėjimai taip pat gali palaikyti: specialų veikimo režimą, skirtą valdyti šviesos diodo ryškumą arba variklio greitį. Tačiau čia viskas paprasta: nano, mini ir uno turi šešis išėjimus su PWM palaikymu. „Leonardo“ ir „micro“ turi septynis PWM kaiščius, o tik milžiniškas „Arduino Mega 2560“ pirmauja su keturiolika PWM kaiščių.
Atmintis, iš pirmo žvilgsnio labai svarbus parametras. Tačiau nevertinkite lentos kaip su kompiuteriu. Jai nereikia daug veikiančios ir dar daugiau nuolatinės atminties. Aš nesigilinsiu į tai. Nes „prastiausias“ Arduino Nano šiuo atžvilgiu turi tik 32 kilobaitus nuolatinės atminties ir 2 kilobaitus RAM, bet kol programa, kurią parašėte mikrovaldikliui, nebetilps į šiuos 32 kilobaitus nuolatinės atminties, jūs jau būsite gerai. viską išmanote patys, ir jums nereikės šio straipsnio. Rimtai: 32 kilobaitai yra tik didžiulė atmintis mikrovaldiklio programai.
Nepastovios atminties kiekis, įdomesnis parametras. Nekintamoji atmintis, kaip rodo jos pavadinimas, saugo duomenis nepriklausomai nuo maitinimo. Tokiu atveju jūsų programos kintamųjų reikšmės saugomos RAM, kuri ištrinama paleidus valdiklį iš naujo. Be nepastovios atminties, skirtos pačiai programai saugoti, yra skirta atskira atminties sritis (dar žinoma kaip EEPROM), kuri leidžia įrašyti kintamųjų reikšmes tiesiai iš valdiklio programos į specialų langelį. Tada po perkrovimo įrenginys galės atkurti būseną, kuri buvo prieš išjungiant maitinimą. Dauguma valdiklių leidžia saugoti tik 1 kilobaitą duomenų. Be mažos apimties, taip pat yra ribojamas rašymo operacijų skaičius. Iš viso 10 000 kartų galite įrašyti duomenis į vieną langelį (duomenis galite skaityti bet kokį skaičių kartų). 10 000 – iš pirmo žvilgsnio ne taip ir mažai. Įrašymas atliekamas 1 baito ląstelėse. Iš viso turime 1000 ląstelių. Pavyzdžiui, jei apklausiate tam tikrą jutiklį tik kartą per minutę ir išsaugote jo reikšmę atmintyje ir kiekvieną kartą naujame langelyje, įrenginys veiks (((100 000 * 1 000) / 60) / 24) / 365 = 190 metų. Tačiau dažniausiai duomenis tenka įrašyti į vieną langelį (pavyzdžiui, sekundžių skaičių). Ir tada ištekliai jau sumažinami iki 2,5 mėnesio nepertraukiamo veikimo ir tai yra įrašymui kartą per minutę. Jei iškyla užduotis atnaujinti reikšmę kartą per sekundę, tik po 27 valandų EEPROM bus sugadintas. Todėl nepastovi atmintis naudojama nustatymams ir kitoms retai atnaujinamoms reikšmėms saugoti. O jutiklio rodmenis ar įrenginio veikimo žurnalą patogiau rašyti į SD kortelę (beje, turiu apie SD kortelės prijungimą prie Arduino).
Pasirinkite lentą
Populiariausia lenta yra Arduino Uno. Tikslinga su juo palyginti visas kitas plokštes. Tai maža lenta. Plokštės kraštuose yra 14 skaitmeninių ir 6 analoginiai įėjimai/išėjimai.
6,9 x 5,3 cm lenta yra tinkamiausia greitam prototipų kūrimui. Ne per didelės ir patogios jungtys laidams nuo duonos lentos prijungti labai patogios pradedantiesiems. Vadinamieji skydai (Shield) - 99% atvejų jie buvo sukurti specialiai montuoti ant Arduino Uno plokštės. Dabar platinama kita lenta „Arduino Leonardo“, kuri yra idėjinis UNO tęsinys. Jis turi nedidelių kai kurių specialių kaiščių priskyrimo skirtumų ir jungiamas prie kompiuterio daug kompaktiškesniu mikro USB laidu. Dauguma UNO skydų tinka ir Leonardo, tačiau gali būti nemalonių staigmenų dėl kai kurių kaiščių nenuoseklumo.
Tai tikrai geriausias „Arduino“ plokštės pasirinkimas. Jei lentą perkate pirmą kartą ir tiesiog norite išbandyti savo jėgas, jūsų pasirinkimas yra Arduino Uno arba Leonardo. Dauguma paruoštų rinkinių, beje, dėl šios priežasties yra aprūpinti UNO plokšte. Daugiau apie paruošto rinkinio pasirinkimą papasakosiu straipsnio pabaigoje.
Gana įdomus variantas yra Arduino Nano. Šios lentos matmenys yra tik 4,4 cm x 1,9 cm, o funkcionalumas yra visiškai suderinamas su Leonardo. Skydams nuo UNO prie Nano prijungti parduodami net specialūs adapteriai. Plokštės yra identiškos pagal kaiščių skaičių, atminties kiekį ir greitį. Dėl savo miniatiūrinio dydžio "Nano" patogu naudoti gatavame įrenginyje, kad sutaupytumėte vietos ankštame dėkle. „Arduino Nano“ yra su kaiščiais, o ne skylutėmis jungiamiesiems laidams sujungti. Tai dar labiau apsunkina prototipų kūrimą (plokštę reikia montuoti ant duonos lentos ir užima daug vietos, bet tai padeda perkeliant prototipą į realų įrenginį. Galite tiesiog prilituoti laidus prie valdiklio kaiščių.
Arduino Mega yra didžiausia plokštė Arduino šeimoje. Daugiau atminties, daug smeigtukų (70!). Ši plokštė skirta sudėtingiems įrenginiams, prie kurių planuojate prijungti įvairius išorinius įrenginius. Tiesą sakant, teisingas plokštės pavadinimas yra Arduino Mega 2560. Bet kadangi Arduino Mega (be skaičių pavadinime) dabar laikoma pasenusia, jos nusipirkti praktiškai neįmanoma, o trumpiau, plokštė vadinasi tiesiog Arduino Mega. . Tačiau iš tikrųjų lenta pasirodo nenaudinga, kaip ir kuriant prototipą. taip pat gatavame įrenginyje. Prototipe labiausiai trukdo didžiulis jo dydis, o gatavam įrenginiui jis gali būti naudingas, galbūt, tik kaiščių skaičius, bet jūs galite lengvai gauti papildomų kaiščių bet kurioje kitoje plokštėje naudodami arba, jei nepakanka PWM smeigtukai, galite naudoti. Vienintelis tikras „Mega“ pranašumas prieš kitas plokštes yra atminties kiekis programai įkelti. Kartą man reikėjo rodyti daug grafinės informacijos eilėje ir programa užėmė beveik 100 Kb. Projektas vyko porą dienų ir aš nenorėjau perrašyti informacijos saugojimo SD kortelėje algoritmo. Čia mane išgelbėjo Mega.
Kur nusipirkti Arduino plokštę
Arduino iš pradžių sukūrė italų inžinieriai. Idėjos autorius – Massimo Banzi. Būtent Italijoje pagaminta lenta buvo laikoma originalia „Arduino“. Vėliau kūrėjų komandoje įvyko skilimas ir originalios plokštės gaminamos tiek Italijoje, tiek JAV. Tačiau iš pradžių Arduino brėžiniai buvo pradėti platinti pagal nemokamą licenciją. Tai reiškia, kad kiekvienas gali pagaminti lentas, kurios tiksliai atkartoja originalo dizainą. Autorių teisės apima tik patį Arduino pavadinimą. Štai kodėl yra daugybė trečiųjų šalių gamintojų modifikacijų ir alternatyvių plokštės versijų. Žinoma, Kinija, kaip tikras elektronikos gamybos centras, šiuo metu siūlo daugybę su arduino suderinamų plokščių. Asmeniškai aš rekomenduoju nepermokėti tūkstančių rublių už originalą, bet atkreipti dėmesį į lentos kopiją už prieinamą kainą. Kalbant rimtai, pigiausia Arduino Mini plokštė, originali iš gamyklos Italijoje, Rusijoje kainuoja 1400 rublių, o Kinijos kloną galima užsisakyti už 2 USD su nemokamu pristatymu. Patogiausia lentas pirkti populiarioje Aliexpress internetinėje platformoje. Straipsnio pabaigoje surinkau jums nuorodas, skirtas užsakyti lentas ir įvairius jutiklius, kuriuos pats užsisakiau ir įsitikinau jų kokybe. Taip pat čia rasite nuorodas, kaip užsisakyti paruoštus rinkinius, kad pradėtumėte tyrinėti Arduino pasaulį. Jei dėl kokių nors priežasčių ketinate įsigyti originalią lentą, eikite į „Amperka“ svetainę. Tikrai yra originalių lentų.
Rezultatas
Jei esate pradedantysis, nedvejodami įsigykite Arduino Leonardo.
Jei jau turite keletą prototipų ir planuojate juos paversti baigtais įrenginiais, pažiūrėkite į Arduino Nano.
Jei laužėte galvą, bet vis dar nesugalvojote, kaip visą įrenginio kamštį sugrūsti į ankštą dėklą, naudokite itin kompaktišką „Arduino Mini“.
Maža lyginamoji pagrindinių charakteristikų lentelė:
Mokėti | Dydis, cm | Kaiščių skaičius (skaitmeninis / analoginis) | Nuolatinės atminties kiekis, KB | RAM kiekis, KB | Nekintamos atminties kiekis, skirtas kintamoms reikšmėms saugoti, KB | Laikrodžio dažnis, MHz |
---|---|---|---|---|---|---|
4,4 × 1,9 | 14 / 8 | 30 | 2 | 1 | 16 | |
Arduino Mini | 1,8 × 3,3 | 14 / 8 | 16 | 1 | 0,5 | 16 |
6,9 × 5,3 | 14 / 6 | 32 | 2 | 1 | 16 | |
6,6 × 5,2 | 20 / 12 | 32 | 2,5 | 1 | 16 | |
11×5,2 | 54 / 16 | 128 | 8 | 4 | 16 |
Arduino plokštės
vardas | Būsena |
---|
Kiekvienas, kuris naudoja Arduino mikrovaldiklius, yra susipažinęs su taupymo problema iš pirmų lūpų. Tačiau pirkti kiniškas plokštes iš nežinomų gamintojų tikintis, kad bent dalis jų veiks taip, kaip reklamuojama, nėra pati geriausia strategija. Tačiau tarp daugybės nenaudingų geležies gabalų taip pat galite rasti vertą pigų arduino stm32, kuris jau išgarsėjo savo sluoksniuose, pakaitalą.
Pažiūrėkime, ar ši lenta verta iki 10 USD su savo populiarumu ir ką ji gali duoti vartotojui, palyginti su įprasta „Arduino PRO“ versija. Norėdami tai padaryti, išanalizuosime abu mikrovaldiklius ir sudarysime visų jų privalumų ir trūkumų sąrašą, kad galėtumėte patys atsakyti, ar verta leisti pinigus arduino stm32 ide.
Palyginkime dvi plokštes pagal jų techninius parametrus:
Specifikacijos | STM32F103C8T6 | Arduino nano |
Valdiklio dažnis, MHz | 72 | 16 |
Programos atmintis, KB | 64 | 32 |
Maistas, V | 3.3 | 5 |
RAM, KB | 20 | 2 |
USB 2.0 | Taip | Nr |
DMA | Taip | Nr |
GALI | Taip | Nr |
RTC | Taip | Nr |
UART | 3 | 1 |
Firmware per USB | Nr | Taip |
Kaina, $ | 2.1 | 1.8 |
Kaip matome, daugeliu atžvilgių arduino pralaimi stm32. Žemiau pabandysime palyginti lentas iš skirtingų kampų.
Arduino ir STM32 mikrovaldiklių privalumai ir trūkumai
Pradėkime nuo per anksti pamėgto – paties arduino – privalumų. O svarbiausią iš jų žino visi, dirbę su šiuo lustu ir jo kolegomis – savo ekosistema. Internete galite rasti atsakymus į visus rūpimus klausimus, nes žinių bazė ir mikrovaldiklių vartotojų skaičius net CIS segmente yra nuostabus. O tai reiškia, kad jums nereikia ieškoti instrukcijų anglų kalba, ko negalima pasakyti apie stm32f103c8t6 arduino. Didelis vartotojų skaičius reiškia ir platų programinės įrangos funkcionalumą, kurio tik dalelę pateikia patys gamintojai.
Gerbėjų bazė kasdien sukuria dešimtis bibliotekų, todėl galite įgyvendinti bet kurią savo idėją. Kai kurie grandinės sprendimai su mikrovaldikliu stm8s001j3 gali nepatikti pradedantiesiems šiuo klausimu, tuo tarpu arduino stengiasi kuo labiau įtikti naujam vartotojui ir nesukelia jokių sunkumų.
Iš čia atsiranda nebrangūs skydai, naudojimo paprastumas, kuriuo negali pasigirti stm mikrovaldikliai ir paprastas programavimas pagal Atmel, nereikia praktiškai išmokti visų kalbos subtilybių. Na, o labiau pažengusieji įvertins su dėžute esantį EEPROM, kuriuo negali pasigirti stm32 mikrovaldiklis.
Tačiau, kaip ir kitur, jis turi trūkumų:
- Žemas įėjimo slenkstis reiškia daugybę kreivių ir prastai suderintų bibliotekų, dirbančių beveik paskutinėmis kojomis. Porą kartų užklydęs į tokią programinę įrangą ir porą dienų derindamas ją, nusprendi, kad lengviau parašyti savo.
- Kitas stm32 arduino pranašumas nesuteikia normalaus derinimo, todėl klaidų paieška tose pačiose kreivose bibliotekose užtrunka tiek daug laiko.
- Įprastas „Atmega“ veikimas yra mitas, ir iš tikrųjų turėsite vengti daugelio gaminio funkcijų ir jų atsisakyti, kad jis veiktų be vėlavimų. Įprasti planuokliai taip pat nerandami, o tie, kuriuos galima prijungti, sunaudoja per daug išteklių. Dėl šios priežasties „Arduino“ amatai garsėja savo kreiva ir vėluojančia sąsaja su ilgu atsako laiku, jei kalbame apie kažką sudėtingesnio nei elektroninis velnias ar dizainas iš mikrovaldiklio ir judesio jutiklio.
- Daug kreivų ir atvirai kalbant nenaudingų gaminių šiose lentose, ypač iš kinų, tik pablogina Arduino įvaizdį.
- Žinoma, nerasite įprastų knygų apie stm32 mikrovaldiklius, tačiau arduino neteikia daug profesionalios informacijos, be to, forumai, kuriuose patys vartotojai dalyvauja derinant.
- O jai skirta programinės įrangos kūrimo aplinka reikalauja tiesiog neįtikėtino našumo, neprilygstamo su niekuo rinkoje. Be to, nėra iki galo aišku, kur nukeliauja visi sunaudoti ištekliai. Ir atitinkamai, kaltininkas yra bauginantis optimizavimas.
Kita vertus, vartotojas gauna arduino stm32f103 ir arduino stm8 didelio našumo valdiklį, kuris supaprastina perėjimą nuo stm32 mikrovaldiklio prie milandr mikrovaldiklio ir papildomai daug periferinių įrenginių.
Plokštės dizainą labai palengvina laisvas kojų judėjimas, atsargų kūrimo aplinka yra gana galingas įrankis, o derinimas sukurtas nuo pat pradžių, kad veiktų nepriekaištingai net ir svetimoje aplinkoje. Jums pateikiami spalvingi grafikai ir taškai, jau nekalbant apie tekstinę informaciją. Lengvas kodo perkėlimas, galimybė paleisti atskirus valdiklius 41 Mbps greičiu ir USB prievadai beveik visur. Visa tai gali lengvai suvilioti pažengusius kūrėjus, tačiau jie taip pat turėtų susipažinti su daugybe trūkumų:
- Aukštas įėjimo slenkstis, reikalingas geras pagrindas normaliam naudojimui.
- Taip pat yra bibliotekų, tačiau dauguma jų yra pasenusios arba sukurtos kiekvieno asmeniškai sau. Lengviau susikurti savo. Bet jei prisimenate „Arduino“ problemas, tikėtina, kad jau žinote, kaip tai padaryti.
- Žemesnės erdvės ir apskritai negraži semantika, palyginti su paprastomis konkurentų funkcijomis.
- C99 dar toli iki C++, ir jūs iškart pajusite visus perėjimo sunkumus. Tačiau daugelis ginčijasi, kad po kurio laiko – atvirkščiai, džiaugiasi tokiu niuansu.
- Apskritai, plokščių pigumas, palyginti su Arduino.
Galimybės pagerinti STM32 „naudojimą“ iki Arduino lygio
Tačiau ne viskas taip blogai, kaip gali atrodyti. Iš pradžių STM32 plokštes galima programuoti Arduino kūrimo aplinkoje, nors tai nėra pats geriausias sprendimas. Reikėtų atsiminti, kad tokiu būdu sumažinate funkcionalumą, naudojate daug ramentų ir šaunate sau į kelį.
Tačiau perėjimo metu tai gana naudingas niuansas, leidžiantis sklandžiau įsisavinti visus žavesius. Pirmomis savaitėmis C99 semantika gali nepatikti, todėl geriau susirasti vertėją, nes Arduino aplinka visiškai sugriauna tašką įsigyti kitą mikrovaldiklį.
STM32 mikrovaldiklio derinimas
Kaip jau minėta, mikrovaldiklio derinimas vertas individualių tiradų ir entuziastingų atsakymų. Iškart iš dėžės gaunate įrenginį, kurį galima laisvai derinti bet kokioje aplinkoje, pulte rodomi kintamieji, o patogūs informaciniai grafikai leidžia vizualiai aptikti klaidą. Tai ypač patogu, kai kodo kiekis tiesiog neleidžia per jį pereiti žingsnis po žingsnio.
Perėję prie STM32, galiausiai visiškai pamiršite apie duomenų išvedimą per konsolę, nes ateis kur kas pagrįstesni ir praktiškesni sprendimai pakeisti šiuos šablonus.
Šioje medžiagoje žingsnis po žingsnio paaiškinsime, kaip naudoti Arduino IDE STM32 plokštei.
Teminiame tinklaraštyje jau buvo keli straipsniai apie pirmojo mikrovaldiklio pasirinkimą ir darbo su juo pradžią. Ne mažiau įdomūs buvo tokių straipsnių komentarai. Viena iš keletą kartų iškeltų minčių yra ta, kad ne visi, kurie domisi MCU, yra iš tranzistorių. Kai kurie (neduok Dieve, daugiau) ateina pas juos iš (taikomojo) programavimo pusės. Neprotinga tokiems žmonėms rekomenduoti pasiimti lituoklio, jie jau turi dalykų, kuriuos gali „lituoti“. Taigi priėjome prie žodžio „Arduino“, kurį daugelis jau girdėjo. Tarp patyrusių su lituokliu yra - Arduino yra AVR šalikas tinginiams. Ar taip yra? Šiuo straipsniu bandoma aiškiai parodyti, kad „Arduino“ yra ne apie AVR ir ne apie tingėjimą, „Arduino“ yra nuo architektūros nepriklausoma elektroninė-mechaninė suderinamų komponentų platforma, pagal (santykinę) svarbą ne mažiau svarbi nei (vienu metu) IBM. S / 360, IBM PC arba USB.