Vadelma Pi ja Arduino ovat kaksi suosituinta avoimen lähdekoodin levyä Elektroniikkayhteisössä. Ne eivät ole vain suosittuja elektroniikkainsinöörien keskuudessa, mutta myös koululaisten ja harrastajien keskuudessa niiden helppouden ja yksinkertaisuuden vuoksi. Jopa jotkut ihmiset alkoivat vain pitää Elektroniikasta Vadelma Pi: n ja Arduinon takia. Näillä levyillä on suuria voimia, ja voidaan rakentaa hyvin monimutkainen ja hifiprojekti muutamalla yksinkertaisella askeleella ja vähän ohjelmointia.
Olemme luoneet useita Arduino-projekteja ja oppaita erittäin yksinkertaisista monimutkaisiin. Olemme myös luoneet Raspberry Pi -oppaiden sarjan, josta kuka tahansa voi alkaa oppia alusta alkaen. Tämä on pieni panos elektroniikkayhteisöön puoleltamme, ja tämä portaali on osoittautunut suureksi elektroniikan oppimisresurssiksi. Joten tänään yhdistämme nämä kaksi hienoa levyä Interfacing Arduinon ja Raspberry Pi: n kanssa.
Tässä opetusohjelmassa luomme sarjayhteyden Raspberry Pi: n ja Arduino Unon välille. PI: llä on vain 26 GPIO-nastaa ja nolla ADC-kanavaa, joten kun teemme projekteja, kuten 3D-tulostin, PI ei voi tehdä kaikkia vuorovaikutuksia yksin. Joten tarvitsemme enemmän lähtöliittimiä ja lisätoimintoja, jotta voisimme lisätä toimintoja PI: hen, muodostamme yhteyden PI: n ja UNO: n välille. Sen avulla voimme käyttää kaikkia UNO: n toimintoja, koska ne olivat PI-toimintoja.
Arduino on iso alusta projektien kehittämiseen, sillä sillä on monia levyjä, kuten Arduino Uno, Arduino Pro mini, Arduino Due jne. Ne ovat ATMEGA-ohjainpohjaisia levyjä, jotka on suunniteltu elektroniikkasuunnittelijoille ja harrastajille. Vaikka Arduino-alustalla on paljon levyjä, mutta Arduino Uno sai monia arvostuksia projektin tekemisen helppoudesta. Arduino-pohjainen ohjelmakehitysympäristö on helppo tapa kirjoittaa ohjelma muihin verrattuna.
Vaaditut komponentit:
Tässä käytämme Raspberry Pi 2 -mallia B Raspbian Jessie OS: n ja Arduino Unon kanssa. Kaikista Raspberry Pi -laitteistoon liittyvistä laitteisto- ja ohjelmistovaatimuksista on keskusteltu aiemmin, voit etsiä niitä Raspberry Pi -johdannosta, paitsi mitä tarvitsemme:
- Liitintapit
- 220Ω tai 1KΩresistori (2 kpl)
- LED
- Painike
Piirin selitys:
Kuten yllä olevassa piirikaaviossa on esitetty, yhdistämme UNO PI-USB-porttiin USB-kaapelilla. PI: lle on neljä USB-porttia; voit liittää sen mihin tahansa niistä. Sarjaliikenteen alustamiseksi on kytketty painike ja LED (vilkkuu) osoittaa, että tietoja lähetetään.
Työskentely ja ohjelmointi Selitys:
Arduino Uno Osa:
Ohjelma ensin UNO, Liitä UNO ensin tietokoneeseen ja kirjoita sitten ohjelma (tarkista alla oleva osio alla) Arduino IDE -ohjelmistoon ja lataa ohjelma UNOon. Irrota sitten UNO tietokoneesta. Kiinnitä UNO PI: hen ohjelmoinnin jälkeen ja kytke LED ja painike UNO: iin piirikaavion mukaisesti.
Nyt ohjelma alustaa UNO: n sarjaliikenteen. Kun painamme UNO: n liitettyä painiketta, UNO lähettää muutaman merkin PI: lle sarjaan USB-portin kautta. PI: hen kiinnitetty LED vilkkuu osoittamaan lähetettäviä merkkejä.
Vadelma Pi osa:
Sen jälkeen meidän on kirjoitettava PI-ohjelma (tarkista koodi alla), jotta voimme vastaanottaa nämä tiedot, jotka UNO lähettää. Tätä varten meidän on ymmärrettävä muutama alla mainittu komento.
Aiomme tuoda sarjatiedoston kirjastosta, tämän toiminnon avulla voimme lähettää tai vastaanottaa tietoja sarjaan tai USB-portin kautta.
tuo sarja
Nyt meidän on ilmoitettava laiteportti ja bittinopeus, jotta PI vastaanottaa tietoja UNO: lta ilman virheitä. Alla oleva komento kertoo, että sallimme 9600 bitin sekunnissa tapahtuvan sarjaliikenteen ACM0-portissa.
ser = sarja. sarja ('/ dev / ttyACM0', 9600)
Selvitä portti, johon UNO liitetään, menemällä PI: n terminaaliin ja kirjoittamalla
ls / dev / tty *
Sinulla on luettelo kaikista PI: n liitetyistä laitteista. Liitä nyt Arduino Uno Raspberry Pi -laitteeseen USB-kaapelilla ja kirjoita komento uudelleen. Voit helposti tunnistaa UNO: n liitteenä olevan portin näytetystä luettelosta.
Alla olevaa komentoa käytetään ikuisesti silmukana, tällä komennolla tämän silmukan sisällä olevat lauseet suoritetaan jatkuvasti.
Vaikka 1:
Saatuamme tiedot sarjaan, näytämme merkit PI: n näytöllä.
tulosta (ser.readline ())
Joten kun UNO: han liitettyä painiketta on painettu, näemme merkit tulostuvan PI-näytölle. Siksi olemme perustaneet Raspberry Pi: n ja Arduinon välisen perustietoliikenteen kättelyn.