Arduino cursus/Vragen en tips

Uit Lab
Naar navigatie springen Naar zoeken springen

Vragen en tips

Vragen op het forum

Je kunt vragen over de Arduino-cursus en over de Arduino in het algemeen stellen op het forum:

Tips

Hoe vind je de Arduino-code voor een sensor?

Er zijn heel veel sensoren en actuatoren beschikbaar voor de Arduino. Vaak zijn deze op een "break-out board" geplaatst, dat je via een breadboard of een kabeltje op de Arduino kunt aansluiten. Hoe vind je voor de sensor/break-out board de juiste code?

  • in de eerste plaats, via de leverancier van het break-out board
  • veel van deze break-out boards worden gemaakt door SparkFun en Adafruit. Daar vind je veel informatie over de betreffende sensor en het breakout-board.
    • bijvoorbeeld: SparkFun heeft een versie van de ultrasound-sensor HC-SR04: https://www.sparkfun.com/products/13959. Onder "documenten" vind je daar een verwijzing naar een tutorial, en naar de datasheet
  • Adafruit en Sparkfun bieden veel tutorials. Het loont de moeite om daar te zoeken naar informatie over een bepaalde sensor of actuator.
  • zoeken op de Arduino-site
  • tenslotte: via een zoekmachine zoeken op "Arduino" en de naam (codenummer) van de sensor.

De bovengenoemde sites zijn in het algemeen betrouwbaar. Bij tutorials en code-voorbeelden die je elders vind op het web is de code niet altijd betrouwbaar. Deze code werkt dan wel, maar alleen in bepaalde gevallen. Vooral als je verschillende onderdelen wilt combineren kun je in de problemen komen. (Zie verderop.)

Tegenwoordig vind je veel van de Arduino-code als open-source software op websites als GitHub. Gebruikers van de code kunnen daar met hun issues, vragen en problemen terecht: dat geeft de nodige inzichten in de mogelijkheden en onmogelijkheden van de betreffende software.

Het is ook altijd de moeite waard om de datasheet van de sensor te raadplegen. Deze kan vaak zinvolle tips over het gebruik opleveren.

Hoe lees je een datasheet?

P.M.

Hoe combineer je verschillende sensoren en actuatoren?

De voorbeeldcode van sensoren en actuatoren voor de Arduino werkt in het algemeen zoals verwacht. Maar als je de code van verschillende sensoren probeert te combineren, kom je soms voor verrassingen te staan. Je moet rekening houden met de volgende problemen:

  • de code voor het uitlezen van een sensor, of voor het aansturen van een actuator, kan de uitvoering van andere opdrachten blokkeren. Een voorbeeld hiervan is het gebruik van de delay-functie: als deze actief is, kunnen er geen andere opdrachten uitgevoerd worden.
    • manieren om een dergelijke blokkade te voorkomen zijn timers en interrupts. Timers zijn relatief eenvoudig in het gebruik; voor het gebruik van interrupts moet je echt weten wat je doet.
  • de library voor een sensor of actuator kan gebruik maken van een Arduino-resource die beperkt beschikbaar is. Dit kan gaan om algemene pinnen, specifieke pinnen (SPI), of om hardware timers.
    • hiervoor zijn soms ook oplossingen mogelijk: dit verschilt van geval tot geval.