A Raspberry Pi és az Arduino az Elektronikus Közösség két legnépszerűbb nyílt forráskódú táblája. Könnyűségük és egyszerűségük miatt nemcsak az elektronikai mérnökök, hanem az iskolai hallgatók és a hobbisták körében is népszerűek. Még néhány embernek is csak most tetszett az elektronika a Raspberry Pi és az Arduino miatt. Ezeknek a tábláknak nagy erejük van, és nagyon bonyolult és Hi-fi projekteket lehet felépíteni néhány egyszerű lépésben és kevés programozással.
Számos Arduino projektet és oktatóanyagot hoztunk létre, a nagyon egyszerűtől a bonyolultig. Létrehoztuk a Raspberry Pi oktatóanyagok sorozatát is, ahonnan bárki elölről kezdheti a tanulást. Ez egy kis hozzájárulás az Elektronikus Közösség felé a mi oldalunkról, és ez a portál az elektronika nagyszerű tananyagának bizonyult. Tehát ma összehozzuk ezt a két nagyszerű táblát az Interfacing Arduino és a Raspberry Pi között.
Ebben az oktatóanyagban soros kommunikációt fogunk létrehozni a Raspberry Pi és az Arduino Uno között. A PI-nek csak 26 GPIO csapja van, és nulla ADC csatornája van, így amikor olyan projekteket hajtunk végre, mint a 3D nyomtató, a PI nem tudja egyedül végrehajtani az összes interakciót. Tehát több kimeneti tűre és további funkcióra van szükségünk, hogy további funkciókat adjunk a PI-hez, létrehozunk egy kommunikációt a PI és az UNO között. Ezzel használhatjuk az UNO összes funkcióját, mivel PI funkciók voltak.
Az Arduino egy nagy platform a projektfejlesztéshez, számos táblával, például Arduino Uno, Arduino Pro mini, Arduino Due stb. ATMEGA vezérlőalapú táblákkal, amelyeket elektronikus mérnököknek és hobbistáknak terveztek. Bár sok tábla van az Arduino platformon, de az Arduino Uno sok elismerést kapott, a projektek egyszerű elvégzése miatt. Az Arduino alapú programfejlesztő környezet egyszerű módja a program megírásának, összehasonlítva másokkal.
Szükséges alkatrészek:
Itt a Raspberry Pi 2 Model B-t használjuk Raspbian Jessie OS és Arduino Uno használatával. A Raspberry Pi-vel kapcsolatos összes alapvető hardver- és szoftverkövetelményt korábban tárgyaltuk, ezt megnézheti a Raspberry Pi bevezetőjében, azon kívül, amire szükségünk van:
- Csatlakozó csapok
- 220Ω vagy 1KΩ ellenállás (2 db)
- VEZETTE
- Gomb
Áramkör magyarázat:
Amint a fenti áramköri ábra mutatja, az UNO- t USB-kábellel csatlakoztatjuk a PI USB-porthoz. Négy USB port van a PI számára; bármelyikükhöz csatlakoztathatja. A soros kommunikáció inicializálásához egy gomb van csatlakoztatva, és a LED (villog) jelzi, hogy az adatokat küldik.
Munka és programozás Magyarázat:
Arduino Uno rész:
Először programozzuk az UNO-t, Először csatlakoztassa az UNO-t a számítógéphez, majd írja be a programot (Ellenőrizze a kódot az alábbiakban) az Arduino IDE szoftverbe, és töltse fel a programot az UNO-ba. Ezután válassza le az UNO-t a PC-ről. Csatlakoztassa az UNO-t a PI-hez a programozás után, és csatlakoztasson egy LED-et és gombot az UNO-hoz, az áramköri ábra szerint.
Most itt a program inicializálja az UNO soros kommunikációját. Amikor megnyomjuk az UNO-hoz csatolt gombot, az UNO néhány karaktert küld a PI-nek sorosan az USB-porton keresztül. A PI-hez csatlakoztatott LED villog, jelezve az elküldött karaktereket.
Raspberry Pi rész:
Ezt követően meg kell írnunk egy programot a PI-hez (Ellenőrizze a kódot az alábbiakban), hogy megkapjuk ezeket az adatokat, amelyeket az UNO küld. Ehhez meg kell értenünk néhány alábbi parancsot.
Soros fájlokat fogunk importálni a könyvtárból, ez a funkció lehetővé teszi számunkra az adatok soros vagy USB porton keresztüli küldését vagy fogadását.
import soros
Most meg kell adnunk az eszközportot és a PI adatátviteli sebességét, hogy hiba nélkül megkapja az adatokat az UNO-tól. Az alábbi parancs kimondja, hogy engedélyezzük 9600 bit / s soros kommunikációt az ACM0 porton.
ser = soros. Sorozat ('/ dev / ttyACM0', 9600)
Ha meg szeretné tudni a portot, amelyhez az UNO csatlakozik, lépjen a PI termináljához, és lépjen be
ls / dev / tty *
Meg lesz az összes csatolt eszköz listája a PI-n. Most csatlakoztassa az Arduino Uno-t USB-kábellel a Raspberry Pi-hez, és írja be újra a parancsot. A megjelenített listából könnyen azonosíthatja az UNO csatolt portját.
Az alábbi parancsot örök ciklusként használják, ezzel a paranccsal a ciklus belsejében lévő utasítások folyamatosan végrehajtódnak.
Míg 1:
Az adatok soros fogadása után a karaktereket megjelenítjük a PI képernyőn.
nyomtatás (ser.readline ())
Tehát az UNO-hoz csatolt gomb megnyomása után látni fogjuk a karakterek kinyomtatását a PI képernyőn. Ezért létrehoztunk egy alapkommunikációs kézfogást a Raspberry Pi és az Arduino között.