„Raspberry Pi“ ir „Arduino“ yra dvi populiariausios atvirojo kodo plokštės Elektronikos bendruomenėje. Dėl savo patogumo ir paprastumo jie yra populiarūs ne tik elektronikos inžinierių, bet ir mokyklos mokinių bei mėgėjų tarpe. Net kai kuriems žmonėms elektronika tiesiog patiko dėl „Raspberry Pi“ ir „Arduino“. Šios plokštės turi didelių galių, todėl galima sukurti labai sudėtingą ir Hi-Fi projektą keliais paprastais žingsniais ir mažai programuoti.
Mes sukūrėme daugybę „Arduino“ projektų ir vadovėlių, nuo labai paprastų iki sudėtingų. Mes taip pat sukūrėme „Raspberry Pi Tutorials“ seriją, iš kurios kiekvienas gali pradėti mokytis nuo nulio. Tai nedidelis indėlis į elektronikos bendruomenę iš mūsų pusės, ir šis portalas pasirodė esąs puikus elektronikos mokymosi šaltinis. Taigi šiandien mes sujungiame šias dvi puikias lentas „ Interfacing Arduino“ su „Raspberry Pi“.
Šioje pamokoje sukursime nuoseklų ryšį tarp „Raspberry Pi“ ir „Arduino Uno“. PI turi tik 26 GPIO kaiščius ir nulį ADC kanalų, todėl kai mes darome tokius projektus kaip 3D spausdintuvas, PI negali atlikti visų sąveikų vienas. Taigi mums reikia daugiau išvesties kaiščių ir papildomų funkcijų, kad pridėtume daugiau funkcijų PI, mes užmegziame ryšį tarp PI ir UNO. Tuo galime naudoti visas UNO funkcijas, nes jos buvo PI funkcijos.
„Arduino“ yra didelė platforma projektams kurti, turinti daugybę plokščių, tokių kaip „Arduino Uno“, „Arduino Pro mini“, „Arduino Due“ ir kt. Tai ATMEGA valdikliu pagrįstos plokštės, skirtos elektronikos inžinieriams ir mėgėjams. Nors „Arduino“ platformoje yra daug lentų, tačiau „Arduino Uno“ sulaukė daugybės įvertinimų, nes buvo lengva atlikti projektus. „Arduino“ pagrindu sukurta programos kūrimo aplinka yra paprastas būdas rašyti programą, palyginti su kitomis.
Būtini komponentai:
Čia mes naudojame „ Raspberry Pi 2 Model B“ su „Raspbian Jessie OS“ ir „Arduino Uno“. Visi pagrindiniai aparatinės ir programinės įrangos reikalavimai, susiję su „Raspberry Pi“, buvo aptarti anksčiau, jų galite ieškoti „Raspberry Pi“ įvade, išskyrus mums reikalingus:
- Jungiamieji kaiščiai
- 220Ω arba 1KΩ rezistorius (2 vnt.)
- LED
- Mygtukas
Grandinės paaiškinimas:
Kaip parodyta aukščiau esančioje grandinės schemoje, prijungsime UNO prie PI USB prievado naudodami USB kabelį. PI yra keturi USB prievadai; galite prijungti jį prie bet kurio iš jų. Prijungtas mygtukas nuosekliam ryšiui inicializuoti ir šviesos diodas (mirksi), rodantis, kad duomenys siunčiami.
Darbo ir programavimo paaiškinimas:
„Arduino Uno“ dalis:
Pirmiausia programuokime UNO, Pirmiausia prijunkite UNO prie kompiuterio, tada programoje „Arduino IDE“ parašykite programą (skyrių „Patikrinkite kodą“) ir įkelkite programą į UNO. Tada atjunkite UNO nuo kompiuterio. Po programavimo pritvirtinkite UNO prie PI ir prijunkite šviesos diodą ir mygtuką prie UNO, kaip parodyta schemoje.
Dabar programa čia inicijuoja UNO nuoseklųjį ryšį. Kai paspausime mygtuką, pritvirtintą prie UNO, UNO per USB prievadą nuosekliai siunčia keletą simbolių į PI. Prie PI pritvirtintas šviesos diodas mirksi nurodydamas siunčiamus simbolius.
Aviečių Pi dalis:
Po to mes turime parašyti PI programą (toliau - skyrius „Patikrinti kodą“), kad gautume šiuos duomenis, kuriuos siunčia UNO. Tam turime suprasti keletą toliau nurodytų komandų.
Mes ketiname importuoti serijinį failą iš bibliotekos, ši funkcija leidžia mums siųsti arba gauti duomenis nuosekliai arba per USB prievadą.
importuoti seriją
Dabar turime nurodyti prietaiso prievadą ir PI spartos greitį, kad gautų duomenis iš UNO be klaidų. Žemiau esančioje komandoje teigiama, kad ACM0 prievade įgaliname nuoseklų 9600 bitų per sekundę perdavimą.
ser = serijos. Serija ('/ dev / ttyACM0', 9600)
Norėdami sužinoti uostą, prie kurio prijungta UNO, eikite į PI terminalą ir įeikite
ls / dev / tty *
Turėsite visų PI prijungtų įrenginių sąrašą. Dabar USB kabeliu prijunkite „Arduino Uno“ prie „Raspberry Pi“ ir dar kartą įveskite komandą. Pateiktame sąraše galite lengvai nustatyti UNO prijungtą prievadą.
Žemiau komanda naudojama kaip amžinai kilpa, su šia komanda šios kilpos teiginiai bus vykdomi nuolat.
Nors 1:
Gavę duomenis nuosekliai, mes rodysime simbolius PI ekrane.
spausdinti (ser.readline ())
Taigi paspaudus mygtuką, pritvirtintą prie UNO, pamatysime, kad simboliai spausdinami PI ekrane. Taigi mes sukūrėme pagrindinį „ Raspberry Pi“ ir „Arduino“ komunikacijos rankos paspaudimą.