Come connettere e interfaccia un Raspberry Pi con un Arduino

Come connettere e interfaccia un Raspberry Pi con un Arduino
A volte l'utente potrebbe sentire la necessità di connettersi e interfaccia insieme Arduino e Raspberry Pi per alcuni progetti, in cui sono coinvolti sia il calcolo che il controllo di sensori, attuatori o altri dispositivi di questo tipo. Per tali progetti, le attività di elaborazione possono essere svolte utilizzando Raspberry Pi e Arduino possono comunicare in serie tra loro. Il tutorial di base per connettere e interfaccia Raspberry Pi con un Arduino è presentato in questo articolo.

Come connettere e interfaccia un Raspberry Pi con un Arduino

Di seguito è riportata la procedura passo-passo per connettersi e interfaccia Raspberry Pi con un Arduino:

Passaggio 1: abilita la comunicazione seriale su Raspberry Pi

È possibile interfacciarsi insieme Raspberry Pi e Arduino tramite comunicazione seriale, quindi per questo è obbligatorio abilitare la comunicazione seriale su Raspberry Pi.

Per abilitare la comunicazione seriale, aprire il Raspberry Pi Strumento di configurazione dal Preferenze Opzione del Menu dell'applicazione:

Quindi fare clic su Interfacce scheda:

E abilitare I2c E Porta seriale trasformando i pulsanti davanti a loro a destra:

Quindi fare clic OK Per salvare l'impostazione:

Il sistema ti chiederà un riavvio, fare clic su Qui:

Passaggio 2: installa le librerie Python richieste

Interfaceremo il Raspberry Pi con un Arduino usando il codice Python, ma la comunicazione tra Arduino e Raspberry Pi sarà una comunicazione seriale, quindi per quella a seriale La libreria è richiesta. Anche se è già installato su Raspberry Pi, ma è meglio confermarne la disponibilità utilizzando il seguente comando:

$ sudo apt Installa Python3-Serial

Il comando installerà la libreria seriale sul sistema Raspberry Pi se non è installato, altrimenti avrai la conferma che è già installato sul sistema Raspberry Pi.

In alternativa, puoi anche installarlo tramite PIP se non sarai in grado di trovare Python Serial su Raspberry Pi System:

$ sudo pip installa pyserial

Passaggio 3: installa Arduino IDE su Raspberry Pi

Per installare Arduino IDE su Raspberry Pi, eseguire il comando di seguito:

$ sudo apt install arduino -y

Quindi verificare l'installazione di Arduino IDE eseguendo il comando versione sotto scrittura:

$ Arduino -Version

Affinché un Arduino venga eseguito su Raspberry Pi, è obbligatorio avere un pacchetto Java installato in Raspberry Pi. Per verificare se il java è installato su Raspberry Pi o non eseguire il comando di seguito:

$ java -version

Nel caso in cui il pacchetto Java non sia già installato su Raspberry Pi, è possibile utilizzare il comando di seguito per installare Java su Raspberry Pi:

$ sudo APT INSTALL OpenJDK-17-JDK -y

Passaggio 4: Programma un Arduino

Ora apri il Arduino ide su Raspberry Pi dal menu dell'applicazione nel Programmazione sezione. E scrivi il codice che si desidera eseguire su Raspberry Pi dopo l'interfacciarlo con Arduino. Il codice per la comunicazione seriale sembrerebbe qualcosa del genere come mostrato nell'esempio seguente, qui sto solo stampando una semplice stringa di messaggi:

void setup ()
Seriale.Inizia (9600);

void loop ()
Seriale.println ("Ciao! Arduino qui ");
ritardo (500);

Dopo aver scritto il codice Arduino desiderato, compila il codice facendo clic sul pulsante di compilazione:

Salva il file con il nome desiderato, qui ho chiamato il mio file Arduino come micode:

Dopo aver compilato correttamente, ora è il momento di selezionare la porta e per questo fare clic su Utensili Poi Porta e quindi selezionare la porta con cui il (Arduino Uno) è citato:

Dopo aver compilato, caricare il codice sulla scheda Arduino facendo clic sul pulsante di caricamento evidenziato nell'immagine qui sotto:

Passaggio 5: scrivi un codice Python

Dopo aver caricato il codice, ora è il momento di scrivere un codice Python su Raspberry Pi per comunicare Raspberry Pi e Arduino. Per scrivere il codice Python su Raspberry Pi, apri l'IDE Thonny Python dal menu dell'applicazione:

Ora copia il codice Python di seguito per la comunicazione seriale tra Arduino e Raspberry Pi:

Serial di importazione
Importa RPI.GPIO AS GPIO
tempo di importazione
ser = seriale.Seriale ("/dev/ttyacm0", 9600)
mentre è vero:
read_ser = ser.linea di lettura()
Stampa (read_ser)

IL read_ser memorizzerà il messaggio o la stringa che verrà comunicato in serie tramite un Arduino.

Quindi salva il codice scritto facendo clic su Salva pulsante:

Quindi scrivi qualsiasi nome desiderato per il file e fai clic su OK:

Passaggio 6: trova il numero di porta ACM

Nel codice Python sopra, il numero ACM è il numero di porte per la comunicazione seriale e per trovare il numero ACM, eseguire il comando di seguito:

$ ls /dev /tty*

L'output del comando verrà visualizzato diverso ttys Di cui devi trovare quello con un numero ACM potrebbe essere ACM0, ACM1, ACM2 o altro numero:

Dopo aver trovato il numero ACM, torna al codice Python e digita il numero ACM che hai appena scoperto:

Passaggio 7: collegare Arduino con Raspberry Pi ed eseguire il codice

Ora è il momento di collegare insieme sia Arduino che Raspberry Pi usando un cavo Arduino. Inserire un'estremità del cavo Arduino nell'Arduino e collegare l'altra estremità alla porta USB del Raspberry Pi.

Quindi fare clic su Correre Pulsante in Python IDE:

Subito dopo l'esecuzione del codice, la stringa codificata in un Arduino verrà trasmessa a Raspberry Pi e viene visualizzata come output su Raspberry Pi:

L'output di cui sopra conferma che Raspberry Pi è collegato correttamente e interfacciato con l'Arduino.

Conclusione

Per connettersi e interfaccia Raspberry Pi con un Arduino, viene utilizzata la comunicazione seriale. Abilita la comunicazione seriale e installa la libreria seriale in Raspberry Pi. Quindi codificare l'Arduino e configurare la porta seriale per inviare i dati in serie. Successivamente scrivi un codice Python su Raspberry Pi insieme al numero di porta ACM per ricevere in serie dati dall'Arduino. Infine, esegui il codice Python per visualizzare l'output seriale su Python IDE.