Arduino
Arduino is een populair en eenvoudig platform voor beginners om te beginnen met programmeerbare elektronica. Het biedt een grote varieteit aan hardware-koppelingen en voorbeeldsoftware die in een breed scala toepassingen verwerkt kunnen worden.
Deze pagina is een beginnetje. Voeg informatie toe door deze pagina te bewerken. |
Arduino is een opensource computerplatform dat is opgebouwd rond de ATmega168-microcontroller van Atmel en het softwareontwikkelplatform Processing. Dit platform is bedoeld voor hobbyisten, artiesten, kunstenaars en iedereen die geïnteresseerd is in het maken en ontwerpen van slimme en creatieve objecten die kunnen reageren op hun omgeving.
— Wikipedia, Arduino
Commandline programmeren
Het is mogelijk om zonder de gebruikelijke Arduino IDE toch te compilen en te programmeren. Dit kan met behulp van de arduino-mk
applicatie. Op Debian-achtige Linuxen als volgt te installeren:
sudo apt-get install arduino-mk
Daarna moet er een Makefile gemaakt worden. Deze moet geplaatst worden in de projectmap en de naam moet met een hoofdletter beginnen. Plaat hierin de volgende inhoud:
ARDUINO_DIR = /usr/share/arduino TARGET = <projectnaam> ARDUINO_LIBS = MCU = atmega328p F_CPU = 16000000 ARDUINO_PORT = /dev/ttyUSB0 AVRDUDE_ARD_BAUDRATE = 115200 AVRDUDE_ARD_PROGRAMMER = arduino include /usr/share/arduino/Arduino.mk
Voer vervolgens de volgende commando's uit op de terminal:
make avrdude -D -c arduino -b 57600 -p m328p -P /dev/ttyUSB0 -U flash:w:build-cli/<projectnaam>.hex:i
Op deze manier is het bijvoorbeeld mogelijk om de Arduino die aan je RaspberryPi is aangesloten op afstand (via SSH bijvoorbeeld) te programmeren.
Er gaat iets mis!!
Als je bij het uitvoeren van make
een error krijgt als deze:
make: ard-parse-boards: Command not found
Lees dan het volgende artikel: http://www.martyndavis.com/?p=335
De eenvoudige oplossing hiervan is het aanpassen van /usr/share/arduino/Arduino.mk
. Op regel 218 moet de volgende sectie worden aangepast:
ifndef PARSE_BOARD PARSE_BOARD = ard-parse-boards --boards_txt=$(BOARDS_TXT) endif
Naar:
ifndef PARSE_BOARD PARSE_BOARD = $(ARDUINO_DIR)/ard-parse-boards --boards_txt=$(BOARDS_TXT) endif
Arduino.mk alternatief
Voor mensen op een oudere versie Ubuntu/Debian (met arduino-mk <0.8.4) werkt het bovengenoemde package beperkt. Een en ander gaat mis wanneer er gebruikgemaakt wordt van extra geinstalleerde libraries (in de sketchbook directory, niet in de Arduino core-directory). Voor die mensen is er een aangepaste Makefile gemaakt: http://ed.am/dev/make/arduino-mk
Documentatie en dergelijke is te vinden vanaf de genoemde link. De Makefiles die nodig zijn met deze basis zijn aanzienlijk eenvoudiger en ook uploaden is doodsimpel (make upload
).
SOURCES := NewController.ino LIBRARIES := Wire PCA9685_RGB BOARD := lightbox SERIALDEV := /dev/ttyUSB1 include /usr/share/arduino/Arduino.mk
Bovenstaande makefile compileert de NewController voor de Lightbox. Hier wordt gebruikgemaakt van een apart Arduino board (voor een lijst: make boards
), en een aantal libraries. Deze worden eerst geladen uit de directory van de sketch, daarna uit de sketchbook/libraries directory en daarna uit de Arduino core.
Het compilen en uploaden van deze sketch kan een simpele stap:
make upload
Sensoren
Met je Arduino kun je ook allerlei sensoren uitlezen en/of aansturen. Onze vriendjes van Tkkrlab hebben een mooie pagina gemaakt waarop 37 van deze sensoren beschreven zijn en van voorbeeldcode zijn voorzien: [[1]] Doe er je voordeel mee ;-)