Hvordan koble til og grensesnitt en bringebærpi med en arduino

Hvordan koble til og grensesnitt en bringebærpi med en arduino
Noen ganger kan brukeren føle behov for å koble til og grensesnitt Arduino og Raspberry Pi sammen for noen prosjekter, der både databehandling og kontrollering av sensorer, aktuatorer eller andre slike enheter er involvert. For slike prosjekter kan databehandlingsoppgavene gjøres ved hjelp av Raspberry Pi og Arduino kan kommunisere serielt med hverandre. Den grunnleggende opplæringen for å koble til og grensesnitt Raspberry Pi med en Arduino presenteres i denne artikkelen.

Hvordan koble til og grensesnitt en bringebærpi med en arduino

Trinn-for-trinn-prosedyren for å koble til og grensesnitt bringebærpi med en arduino er gitt nedenfor:

Trinn 1: Aktiver seriell kommunikasjon på Raspberry Pi

Du kan grensesnitt Raspberry Pi og Arduino sammen via seriell kommunikasjon, så for det er det obligatorisk å muliggjøre seriell kommunikasjon på Raspberry Pi.

For å aktivere seriell kommunikasjon, åpne Raspberry Pi Konfigurasjonsverktøy fra Preferanser Alternativ for Applikasjonsmeny:

Klikk deretter på Grensesnitt fane:

Og aktivere I2C og Seriell port Ved å snu knappene foran dem til høyre:

Klikk deretter Ok For å lagre innstillingen:

Systemet vil be deg om en omstart klikk på Ja her:

Trinn 2: Installer nødvendige Python -biblioteker

Vi vil grensesnitt Raspberry Pi med en Arduino ved hjelp av Python -koden, men kommunikasjonen mellom Arduino og Raspberry Pi vil være en seriell kommunikasjon, så for det en serie bibliotek er påkrevd. Selv om det allerede er installert på Raspberry Pi, men det er bedre å bekrefte tilgjengeligheten ved å bruke følgende kommando:

$ sudo apt install python3-serien

Kommandoen vil installere seriebiblioteket på Raspberry Pi -systemet hvis det ikke er installert, ellers vil du få bekreftelse på at det allerede er installert på Raspberry PI -systemet.

Alternativt kan du også installere den via PIP hvis du ikke vil kunne finne Python -serien på Raspberry Pi -systemet:

$ sudo pip installer pyserial

Trinn 3: Installer Arduino IDE på Raspberry Pi

For å installere Arduino IDE på Raspberry Pi, kjør den nedenfor-nevnte kommandoen:

$ sudo apt install arduino -y

Kontroller deretter installasjonen av Arduino IDE ved å kjøre kommandoen under skrevet versjon:

$ Arduino -Versjon

For at en Arduino skal kjøre på Raspberry Pi, er det obligatorisk å ha en Java -pakke installert i Raspberry Pi. For å sjekke om Java er installert på Raspberry Pi eller ikke kjører den underskrevne kommandoen:

$ Java -Versjon

Bare hvis Java-pakken ikke allerede er installert på Raspberry Pi, kan du bruke den nedenfor-nevnte kommandoen til å installere Java på Raspberry Pi:

$ sudo apt install openjdk-17-jdk -y

Trinn 4: Programmer en arduino

Nå åpner Arduino ide på Raspberry Pi fra applikasjonsmenyen i Programmering seksjon. Og skriv koden du vil kjøre på Raspberry Pi etter å ha grensesnitt mot den med Arduino. Koden for seriell kommunikasjon vil se ut som dette som vist i eksemplet nedenfor, her skriver jeg bare ut en enkel meldingstreng:

void setup ()
Serie.Begynn (9600);

void loop ()
Serie.Println ("Hei! Arduino her ");
forsinkelse (500);

Etter å ha skrevet ønsket Arduino -kode, kan du kompilere koden ved å klikke på kompileringsknappen:

Lagre filen med ønsket navn, her har jeg kalt Arduino -filen min som Mycode:

Etter å ha sammenstilt vellykket, er det nå på tide å velge porten og for det klikket på Verktøy deretter Havn og velg deretter porten som (Arduino Uno) er nevnt:

Etter å ha sammenstilt, last opp koden til Arduino -styret ved å klikke på opplastingsknappen som er uthevet på bildet nedenfor:

Trinn 5: Skriv en Python -kode

Etter å ha lastet opp koden, er det nå på tide å skrive en Python -kode på Raspberry Pi for å kommunisere Raspberry Pi og Arduino. For å skrive Python -koden på Raspberry Pi, åpne Thonny Python IDE fra applikasjonsmenyen:

Kopier nå den nedenfor-nevnte Python-koden for seriell kommunikasjon mellom Arduino og Raspberry Pi:

Import Serial
Importer RPI.GPIO som GPIO
Importer tid
ser = serie.Serial ("/dev/ttyacm0", 9600)
Mens sant:
read_ser = ser.Readline ()
print (read_ser)

De Read_ser vil lagre meldingen eller strengen som vil bli kommunisert serielt gjennom en Arduino.

Lagre deretter den skriftlige koden ved å klikke på Lagre knapp:

Skriv deretter et ønsket navn for filen og klikk på Ok:

Trinn 6: Finn ACM -portnummeret

I ovennevnte Python-kode er ACM-nummeret antall porter for seriell kommunikasjon og for å finne ACM-nummeret, kjør den nedenfor-nevnte kommandoen:

$ ls /dev /tty*

Utgangen fra kommandoen vil vise annerledes ttys hvorav du må finne den med et ACM -nummer, kan det være ACM0, ACM1, ACM2 eller annet nummer:

Etter å ha funnet ACM -nummeret, gå tilbake til Python -koden og skriv ACM -nummeret du nettopp har funnet ut:

Trinn 7: Koble Arduino med Raspberry Pi og kjør koden

Nå er det på tide å koble både Arduino og Raspberry Pi sammen med en Arduino -kabel. Sett inn den ene enden av Arduino -kabelen inn i Arduino og koble den andre enden til USB -porten til Raspberry Pi.

Klikk deretter på Løpe Knapp i Python IDE:

Rett etter å ha kjørt koden vil strengen som er kodet i en Arduino bli overført til Raspberry Pi og vises som en utgang på Raspberry Pi:

Ovennevnte utgang bekrefter at Raspberry Pi er vellykket koblet sammen og kobles sammen med Arduino.

Konklusjon

For å koble til og grensesnitt bringebærpi med en arduino, brukes seriell kommunikasjon. Aktiver seriell kommunikasjon og installer seriebiblioteket i Raspberry Pi. Kode deretter Arduino og konfigurere seriell port for å sende data serielt. Etter det skriv en Python -kode på Raspberry Pi sammen med ACM -portnummeret for å serielt motta data fra Arduino. Til slutt, kjør Python -koden for å vise seriell utgang på Python IDE.