De laatste wijzigingen kun je vinden op de blog pagina.

Menu items met een * zijn nog niet klaar en kunnen nog niet gekozen worden.
Als een deel van een submenu rechts buiten beeld komt, vergroot of verklein uw weergave dan.
Stuur uw tips, opmerkingen en vragen naar ...

Arduino's in de praktijk

Via het menu helemaal bovenaan kun je veel te weten komen over onderdelen die je op de Arduino kunt aansluiten. Beweeg je muis over het menu om de verschillende onderdelen te zien. Ik geef waar mogelijk eenvoudige voorbeeldprogramma's die goed werken op een Arduino Uno of op een Arduino nano. Ik voeg steeds nieuwe onderdelen toe. Kom dus snel nog eens terug.

Wat is een Arduino?

Met een Arduino kun je allerlei elektronische schakelingen maken zonder dat je verstand van elektronica nodig hebt. Je hoeft hierbij niet te solderen. In het menu, onder Projecten → Met breadboard zie je leuke schakelingen die je kunt maken, zonder solderen. Solderen is echter de enige geschikte manier om betrouwbare elektrische verbindingen te maken. In hetzelfde menu, onder Leuke dingen..., zie je voorbeelden hoe je hiermee mooie gebruiksvoorwerpen kunt maken.

Wat kun je aansluiten op de Arduino?

Stroomvoorziening

De Arduino UNO kun je voeden via de USB kabel naar de computer. Je kunt elk USB oplaadpunt gebruiken, zodat je geen transformator nodig hebt. Er zijn transformators voor de Arduino te koop. De connector is zo algemeen dat er een goede kans is dat je een oude transformator die je nog hebt liggen kunt gebruiken. Als je mobiel wilt zijn dan kun je een 9 volt batterij aansluiten of een powerbank. Je mag de USB poort ook gebruiken als een batterij is aangesloten. Handig bij het programmeren! Als je onderdelen hebt die veel stroom trekken dan is een batterij snel leeg. Een powerbank met grote opslagcapaciteit (bijvoorbeeld 10000 mAh) gaat lang mee en kun je makkelijk opladen.

Kortsluiting

Het kan je overkomen dat je per ongeluk of door kapotte onderdelen kortsluiting maakt. De Arduino kan daar tegen als het niet te lang duurt. Vaak wordt je USB verbinding verbroken als dat gebeurt. Maak in geval van kortsluiting (of bij twijfel) de voeding zo snel mogelijk los.
Als de Arduino toch defect lijkt te zijn gegaan, kijk dan op deze pagina: misschien is hij gemakkelijk te repareren.

Programmeren van de Arduino

Programmeren van de Arduino doe je in C++. Je kunt hiervoor de gratis Arduino IDE (Integrated Development Environment = ontwikkelomgeving) downloaden en installeren. Veel gebruikers kunnen goed uit de voeten met deze IDE.
➢ De IDE wordt steeds verbeterd. Ik gebruik altijd de nieuwste versie van de IDE. Houd er rekening mee dat oude versies vaak niet dezelfde functionaliteit hebben of afwijkend werken.
Je kunt ook andere ontwikkelomgevingen te gebruiken. Microsoft Visual Studio met de Visual.Micro.Arduino.Studio plug-in werkt erg goed. De Arduino IDE maakt het programmeren in C++ makkelijker dan het normaal is. Als je liever in "echt" C++ programmeert dan kun je Atmel Studio gebruiker. Programmeren in een andere taal dan C++ is met enige moeite (en beperkingen) mogelijk. Verderop zie je hier vijf voorbeelden van.
Er zijn Arduino-compatibele borden, die wel in andere talen geprogrammeerd kunnen worden. Deze borden hebben vaak weel meer mogelijkheden dan de Arduino, maar ze zijn niet altijd 100% compatibel. Als je de "beste van twee werelden" wil hebben dan kun je gaan voor de super goedkope nodeMCU of WeMos D1 mini (programmeerbaar in Lua en microPython), de nieuwe Raspberry Pi Pico of de dure ItsyBitsy en de Metro express (programmeerbaar in circuitPython). Al deze modules worden goed ondersteund in de nieuwste IDE en ze zijn makkelijk om te schakelen voor gebruik met Python.

1. Mixly

Het blink programma in Mixly
Mixly is een visuele taal, bedoeld voor kinderen. Hij gebruikt volgens mij de Arduino instellingen, want alle borden die ik heb geïstalleerd staan in de lijst. Je kunt dus ook borden als de nodeMCU programmeren. Mixly ondersteunt veel sensoren displays e.d. en geavanceerde mogelijkheden, zoals internet toepassingen. Dat maakt Mixly goed bruikbaar, maar tegelijk minder eenvoudig. Hiernaast zie je het bekende blink programma, met een instelbare tijd, in Mixly. De taal, zowel van de menu's als van de programmeerblokken is in te stellen in het Engels, Spaans, Chinees of vereenvoudigd Chinees, maar niet in het Nederlands.

2. Open Roberta Lab (NEPO)

Het blink programma in NEPO
Open Roberta Lab is bezig een universele visuele programmeer omgeving te ontwikkelen die voor allerlei robots en microprocessors gebruikt kan worden. De onderliggende taal (NEPO) lijkt sprekend op Splash. De programma's worden zonder dat je dat merkt omgezet in C++ code. Deze kun je zichtbaar maken (zie de schermafdruk hiernaast), maar je kunt er niets in veranderen. Om goed met dit systeem te kunnen werken moet je een connector-programma laden op je computer. Dat programma blijft open staan zolang je Open Roberta gebruikt. Daarna kun je via internet je programma's ontwikkelen en downloaden naar de Arduino. Het is nog wel een bèta versie en dat is goed te merken. Zo werden mijn Arduino Uno klonen herkend als een mBot. Een echte Uno werd wel correct gevonden. In nieuwere versies is dit al iets beter. Het connector programma herbergt ook de Seriële monitor, want die van de Arduino IDE kun je niet gelijktijdig gebruiken. Waarschijnlijk is over enkele jaren alles sterk verbeterd. Ik kan me voorstellen dat je dit programma wil gebruiken als je jonge kinderen hebt die willen programmeren of als je meerdere soorten robots en microprocessors hebt en daarvoor dezelfde programmeeromgeving wil gebruiken. Het programma regelt een aantal zaken automatisch voor je, zoals het instellen van pinMode(INPUT) vooraf. Met led L wordt de ingebouwde led bedoeld (bij de Arduino Uno is dat de led op pin 13). De tekst op de blokken is een mengsel van (slecht) Nederlands en Engels.

3. PictoBlox

Aansturing 2402 I2C display
PicoBlox is een op Scratch gebaseerde taal. Het is wel even proberen voor het downloaden van een programma lukt. Het lukte mij pas nadat ik me geregistreerd had, maar of dit echt een vereiste is weet ik niet.

4. Firmata

Python BlinkGebruik van firmata
Om Firmata te kunnen gebruiken moet je op de Arduino eerst het programma StandaardFirmata uploaden. Dit is standaard aanwezig in de Arduino IDE bij de voorbeelden. Daarnaast moet je pyFirmata installeren op je computer (pip install pyFirmata). Met Idle kreeg ik vervolgens de foutmelding dat de verbinding met de Arduino niet lukte, met Thonny (die zijn eigen Python en pakketten gebruikt) werkte het meteen. Hieronder zie je hoe je een ledje op pin 13 laat knipperen.

5. Matlab

Het programma Matlab heeft een "Arduino package", waarmee je in Matlab je Arduino kunt programmeren. Hierbij heb je alle mogelijkheden van Simulink en Matlab tot je beschikking. Maar er zit wel een behoorlijk prijskaartje aan EN in de versie die ik testte verstoorde het mijn Arduino instellingen, waardoor ik de nodeMCU niet meer kon programmeren. Ik had grote moeite dit weer te herstellen.

Downloaden van de voorbeeldprogramma's

Je mag al mijn voorbeeldprogramma's downloaden en vrij gebruiken.
BELANGRIJK. Je kunt deze als volgt downloaden: markeer de volledige code op de betreffende pagina, kopieer dat (Crtl-C). Kies in de Arduino IDE voor Bestand → Nieuw. Markeer de code die er staat (Ctrl-A). Plak vervolgens de inhoud van het klembord via Ctrl-V). Je kunt het bestand opslaan onder een zelf gekozen naam.
Als je dit trucje eenmaal kent, dan is het downloaden gemakkelijk. Ik had er ook voor kunnen kiezen de bestanden zelf te laten downloaden, maar dat kost erg veel opslagruimte en heeft ook andere nadelen, zoals verschillen in werking tussen verschillende browsers.
Als je een voorbeeldprogramma niet in de IDE, maar in een Word document plakt, dan blijft de kleurcode aanwezig.

Verschillende soorten Arduino's

Er zijn grote en kleine Arduino's, met meer of minder pinnen, met meer of minder mogelijkheden. Ik heb vele andere soorten getest en ook een aantal interessante alternatieven. Zie de pagina hierover.

Extra intelligentie voor de Arduino

Om de Arduino of Arduino-robot een bijna onbeperkt geheugen en rekenkracht te geven kun je deze draadloos verbinden met een krachtige computer. Ga naar de pagina.

Meerdere Arduino's met elkaar laten communiceren

Je kunt Arduino's op veel manieren met elkaar laten communiceren, via twee draadjes, of via een draadloze zender/ontvanger, of bluetooth. Je kunt ze ook (draadloos) met elkaar laten communiceren via een centrale computer. Dat is veel eenvoudiger dan via een directe verbinding tussen twee of meer Arduino's. Ga naar de pagina over communicatie.

Arduino-robots

Over enige tijd open ik een pagina over Arduino-robots.