Programmeer AVR/Arduino via RaspberryPi GPIO

Vooraf:

Deze how to legt je uit hoe je een Arduino Pro Mini 3.3V 8Mhz (of een replica ervan) met ATmega328p chip kan koppelen aan je Raspberry Pi GPIO poorten. ik was hierna opzoek aangezien ik 2 Pro Mini boards had gekocht en niet wist dat er geen USB kabel aan kon, hier is een extra break-out board voor nodig. Het was weekend en dat was lastig dus heb ik deze oplossing werkend gekregen om mijn sketch te uploaden naar de Arduino Pro Mini.

Benodigdheden:

  • Raspberry Pi (maakt niet uit welk model)
  • Arduino Pro Mini 3.3V 8Mhz (Ander board kan, maar dan even op voltage letten)
  • Wat kabeltjes om alles aan te sluiten op elkaar

Aan het werk:

Om te beginnen zal je de Arduino Pro Mini aan je Raspberry Pi moeten koppelen doormiddel van onderstaand schema en bijbehorende uitleg.

Installeer deze benodigdheden met de volgende commando’s:

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install bison flex -y

Installeer vervolgens avrdude 6.2 vanuit de source. Op moment van schrijven bestaat versie 6.3 ook al alleen deze bevat bugs waardoor juist de aansturing van de GPIO pins niet goed functioneert.
Voer de volgende commando’s uit op je Raspberry Pi:

pi@raspberrypi ~ $ wget https://www.stefanborst.nl/files/avrdude-6.2.tar.gz
pi@raspberrypi ~ $ tar xfv avrdude-6.2.tar.gz
pi@raspberrypi ~ $ cd avrdude-6.2/

We willen dat de aansturing via de GPIO pins van de Raspberry Pi gaat dus maken we dat tijdens de installatie ook actief:

pi@raspberrypi avrdude-6.2/~ $ ./configure -enable-linuxgpio
pi@raspberrypi avrdude-6.2/~ $ make
pi@raspberrypi avrdude-6.2/~ $ sudo make install

Vervolgens moeten we configureren via welke GPIO pins de Raspberry verbinding kan maken met de Arduino Pro Mini. Wijzig het avrdude config bestand:

pi@raspberrypi avrdude-6.2/~ $ sudo nano /usr/local/etc/avrdude.conf

!! Mocht je hebben afgeweken van de standaard aanbevolen poorten hierboven uit het schema van mij dan moet je deze poorten ook wijzigen in onderstaande config !!

Uncomment het linuxgpio config gedeelte en vul bij de vraagtekens de GPIO pins in. Dit is mijn linuxgpio config gedeelte:

programmer
id = “linuxgpio”;
desc = “Use the Linux sysfs interface to bitbang GPIO lines”;
type = “linuxgpio”;
reset = 26;
sck = 11;
mosi = 10;
miso = 9;
;

Als alles goed is aangesloten en je hebt de configuratie goed uitgevoerd dan moet je nu een connectie kunnen maken van de Raspberry naar de Arduino Pro Mini.
Je kan dit controleren met het volgende commando:

pi@raspberrypi avrdude-6.2/~ $ sudo avrdude -c linuxgpio -p atmega328p -v

Als alles goed is gelukt dan moet je de volgende output krijgen in de terminal:

 

 

 

 

 

 

 

 

 

 

 

 

Zie je bovenstaande resultaten ook? Dan is je connectie tussen je Arduino en Raspberry gelukt. 🙂
In de volgende how to zal ik beschrijven hoe je een sketch kan uploaden via de command-line van je Raspberry.

Vond je dit bericht leuk? Delen mag!

1 Comments

Comments are closed.