Raspberry Pi un Arduino ir divas populārākās atvērtā pirmkoda dēļi elektronikas kopienā. Viegluma un vienkāršības dēļ tie ir populāri ne tikai elektronikas inženieru, bet arī skolu audzēkņu un vaļasprieku vidū. Pat dažiem cilvēkiem Raspberry Pi un Arduino dēļ sāka patikt elektronika. Šīm plāksnēm ir lielas pilnvaras, un var izveidot ļoti sarežģītu un Hi-Fi projektu ar dažām vienkāršām darbībām un nelielu programmēšanu.
Mēs esam izveidojuši vairākus Arduino projektus un apmācības, sākot no ļoti vienkāršiem līdz sarežģītiem. Mēs esam izveidojuši arī Raspberry Pi konsultāciju sēriju, no kuras ikviens var sākt mācīties no nulles. Tas ir neliels ieguldījums elektronikas kopienā no mūsu puses, un šis portāls ir sevi pierādījis kā lielisku mācību resursu elektronikai. Tāpēc šodien mēs apvienojam šos divus lieliskos dēļus, Interfacing Arduino un Raspberry Pi.
Šajā apmācībā mēs izveidosim sērijveida saziņu starp Raspberry Pi un Arduino Uno. PI ir tikai 26 GPIO tapas un nulle ADC kanālu, tāpēc, veicot tādus projektus kā 3D printeris, PI nevar veikt visas mijiedarbības vienatnē. Tāpēc mums ir nepieciešami vairāk izvades tapu un papildu funkciju, lai pievienotu vairāk funkciju PI, mēs izveidojam saziņu starp PI un UNO. Ar to mēs varam izmantot visas UNO funkcijas, jo tās bija PI funkcijas.
Arduino ir liela platforma projektu izstrādei, kurā ir daudz dēļu, piemēram, Arduino Uno, Arduino Pro mini, Arduino Due utt. Tie ir ATMEGA kontrolieru bāzes dēļi, kas paredzēti elektronikas inženieriem un hobijiem. Lai gan Arduino platformā ir daudz dēļu, taču Arduino Uno izpelnījās daudz atzinību, pateicoties tā vienkāršībai, veicot projektus. Arduino balstīta programmas izstrādes vide ir vienkāršs veids, kā uzrakstīt programmu, salīdzinot ar citām.
Nepieciešamās sastāvdaļas:
Šeit mēs izmantojam Raspberry Pi 2 Model B ar Raspbian Jessie OS un Arduino Uno. Visas aparatūras un programmatūras pamatprasības attiecībā uz Raspberry Pi ir iepriekš apspriestas, jūs to varat meklēt Raspberry Pi ievadā, izņemot to, kas mums nepieciešams:
- Savienojošās tapas
- 220Ω vai 1KΩ rezistors (2 gab.)
- LED
- Poga
Ķēdes skaidrojums:
Kā parādīts iepriekš esošajā shēmas diagrammā, mēs savienosim UNO ar PI USB portu, izmantojot USB kabeli. PI ir četri USB porti; varat to savienot ar jebkuru no tiem. Ir pievienota poga, lai inicializētu sērijveida sakarus, un gaismas diode (mirgo) norāda, ka tiek sūtīti dati.
Darbības un programmēšanas skaidrojums:
Arduino Uno daļa:
Vispirms ieprogrammēsim UNO, Vispirms pievienojiet UNO datoram un pēc tam ierakstiet programmu (sadaļa Pārbaudīt kodu) Arduino IDE programmatūrā un augšupielādējiet programmu UNO. Pēc tam atvienojiet UNO no datora. Pēc programmēšanas pievienojiet UNO PI un pievienojiet LED un pogu UNO, kā parādīts shēmā.
Tagad programma šeit inicializē UNO sērijas komunikāciju. Nospiežot pogu, kas pievienota UNO, UNO caur USB portu sērijveidā nosūta dažas rakstzīmes PI. PI piestiprinātā gaismas diode mirgo, lai norādītu nosūtāmās rakstzīmes.
Aveņu Pi daļa:
Pēc tam mums ir jāuzraksta programma PI (sadaļa Pārbaudīt kodu zemāk), lai saņemtu šos datus, kurus sūta UNO. Lai to izdarītu, mums ir jāsaprot dažas tālāk norādītās komandas.
Mēs importēsim sērijveida failu no bibliotēkas, šī funkcija ļauj mums nosūtīt vai saņemt datus sērijveidā vai caur USB portu.
importa sērija
Tagad mums jānorāda ierīces ports un bitu pārraides ātrums, lai PI varētu saņemt datus no UNO bez kļūdām. Zemāk esošajā komandā teikts, ka ACM0 portā mēs iespējojam 9600 bitu sekundē sērijveida saziņu.
ser = sērijas. Sērija ('/ dev / ttyACM0', 9600)
Lai uzzinātu ostu, kurai pievienota UNO, dodieties uz PI termināli un ievadiet
ls / dev / tty *
Jums būs visu PI pievienoto ierīču saraksts. Tagad pievienojiet Arduino Uno ar Raspberry Pi ar USB kabeli un vēlreiz ievadiet komandu. Parādītajā sarakstā varat viegli noteikt UNO pievienoto portu.
Zemāk esošā komanda tiek izmantota kā uz visiem laikiem, ar šo komandu šīs cilpas iekšējie paziņojumi tiks izpildīti nepārtraukti.
Kamēr 1:
Pēc sērijveida datu saņemšanas mēs parādīsim rakstzīmes PI ekrānā.
drukāt (ser.readline ())
Tātad pēc tam, kad tiek nospiesta UNO pievienotā poga, mēs redzēsim, ka PI ekrānā tiek drukātas rakstzīmes. Tādējādi mēs esam izveidojuši pamata saziņas rokasspiedienu starp Raspberry Pi un Arduino.