ID.nl logo
Huis

Extra Arduino-bibliotheken installeren doe je als volgt

Net als andere programmeeromgevingen kent Arduino het concept van libraries: externe code die je eenvoudig aan je eigen programma toevoegt. Arduino IDE maakt het heel eenvoudig om in je schetsen met bibliotheken te werken. Extra Arduino-bibliotheken installeren werkt zo.

Met de ingebouwde functies van de Arduino-taal kun je al leuke dingen doen, maar voor complexere schetsen heb je extra functionaliteit nodig. Arduino kent daarom net als andere programmeeromgevingen het concept van bibliotheken. Een bibliotheek (library) is een verzameling code met specifieke functionaliteit, die je eenvoudig in je eigen schetsen kunt gebruiken.

De Arduino IDE-ontwikkelomgeving heeft standaard al enkele bibliotheken geïnstalleerd. Bij deze standaardbibliotheken kun je er dus van uitgaan dat ze op elk systeem met Arduino IDE staan en je kunt ze dus zonder zorgen in je code gebruiken.

Zo gebruik je de standaardbibliotheek Wire als je met aangesloten elektronische componenten via het I²C-protocol wilt communiceren en SPI als die componenten het SPI-protocol gebruiken. Een servomotor stuur je dan weer aan met de bibliotheek Servo en met de bibliotheek SD lees je van en schrijf je naar een sd-kaart op een Arduino-shield met sd-kaartslot.

Als je een bibliotheek wilt gebruiken in je schets, moet je die bibliotheek eerst ‘importeren’. Dat kan eenvoudig door in het menu Schets op Bibliotheek gebruiken te klikken. Je krijgt dan in het menu alle beschikbare bibliotheken te zien. Klik gewoon op de bibliotheek die je nodig hebt, waarna Arduino IDE vooraan in je schets een opdracht toevoegt die de bibliotheek voor je code beschikbaar maakt. Voor de bibliotheek Servo is dat bijvoorbeeld:

#include <servo.h></servo.h>

Na een tijdje weet je wel hoe zo’n include-opdracht er uitziet: je hoeft dan niet meer de omweg via het menu te doen, maar kunt zelf de include-opdracht aan je code toevoegen. Let op: zet die altijd helemaal in het begin van je schets.

Van elke standaardbibliotheek vind je op de website van Arduino documentatie en voorbeeldcode. Die voorbeeldcode vind je ook in Arduino IDE in het menu Bestand / Voorbeelden. Lees de documentatie en probeer de voorbeelden eens uit voordat je de bibliotheek in je eigen schets gebruikt.

©PXimport

Extra bibliotheken toevoegen

Al vrij snel zul je extra bibliotheken willen installeren die niet in de standaardinstallatie van Arduino IDE aanwezig zijn. Ook dat is in Arduino IDE eigenlijk heel eenvoudig. Klik je in het menu Schets / Bibliotheek gebruiken op Bibliotheken beheren, dan open je het bibliotheekbeheer (Library Manager).

In het bibliotheekbeheer heb je toegang tot bijna 2000 Arduino-bibliotheken. In het zoekveld rechtsboven kun je filteren op een zoekterm en met de uitklapmenu’s ernaast toon je alleen de bibliotheken van een specifiek type of onderwerp.

Elke bibliotheek krijg een beknopte samenvatting. Met een klik op More info wordt een webpagina van de bibliotheek geopend. De bibliotheek installeren gaat eenvoudig door de bibliotheek te selecteren en rechts op Installeren te klikken. Dat installeert standaard de nieuwste versie. Wil je om een of andere reden een oudere versie, dan selecteer je die eerst in het uitklapmenu naast de installatieknop. Na de installatie verschijnt er naast de naam van de bibliotheek de aanduiding INSTALLED.

Je kunt nu het bibliotheekbeheer sluiten en de geïnstalleerde bibliotheek op exact dezelfde manier als een standaardbibliotheek gebruiken. De meeste bibliotheken voegen ook voorbeeldschetsen toe in het menu Bestand / Voorbeelden. Overigens vind je alle bibliotheken die via het bibliotheekbeheer te installeren zijn ook op de website Arduino Library List, met uitgebreide zoekmogelijkheden.

©PXimport

Een zip-bestand toevoegen

Het bibliotheekbeheer geeft toegang tot enorm veel bibliotheken, maar soms heb je toch een bibliotheek nodig die er (nog) niet in te vinden is, bijvoorbeeld omdat die nog vrij nieuw is. De ontwikkelaar verspreidt zijn bibliotheek normaal gesproken dan als een zip-bestand.

Pak dit zip-bestand niet zelf uit, maar open in Arduino IDE het menu Schets / Bibliotheek gebruiken en klik dan op .ZIP Bibliotheek toevoegen. Selecteer dan het zip-bestand dat je gedownload hebt. Arduino IDE pakt het zip-bestand uit en plaatst de inhoud ervan op de juiste locatie.

De geïnstalleerde bibliotheek kun je nu op dezelfde manier als een standaardbibliotheek gebruiken en als de ontwikkelaar voorbeeldschetsen heeft toegevoegd, zijn die ook in het menu Bestand / Voorbeelden beschikbaar.

Handmatig bibliotheken toevoegen

Als de ontwikkelaar van een bibliotheek zelfs geen zip-bestand beschikbaar maakt, is er nog een derde manier om de bibliotheek te installeren: door zelf de bestanden op de juiste locatie te plaatsen waar de Arduino IDE ze vindt. Dat klinkt moeilijker dan het is, maar het is iets omslachtiger, dus we raden dit alleen aan als de vorige twee manieren niet beschikbaar zijn.

Daarvoor dien je eerst de schetsboeklocatie van je Arduino IDE te weten. Klik in het menu Bestand op Voorkeuren en kijk bovenaan in het tekstveld bij Schetsboeklocatie. In Windows is dat bijvoorbeeld C:\Users\Gebruikersnaam\Documents\Arduino, in Linux is dit /home/gebruikersnaam/Arduino en in macOS /Users/gebruikersnaam/Documents/Arduino.

Onder de schetsboeklocatie vind je een map met de naam libraries. Hierin staat voor elke bibliotheek een map. Maak hier dus een map voor je bibliotheek aan (de naam van de bibliotheek is een goede naam voor de map). Kopieer de bestanden van de bibliotheek in deze map. Je hebt minstens een bestand met de extensie .c of .cpp en een bestand met de extensie .h nodig. Als je daarna Arduino IDE herstart, is de bibliotheek beschikbaar in het menu Schets / Bibliotheek gebruiken.

Arduino-bibliotheken updaten

Eén keer een bibliotheek installeren is niet voldoende. De ontwikkelaars brengen immers waarschijnlijk regelmatig een nieuwe versie uit om fouten op te lossen en functionaliteit toe te voegen. Gebruik je het bibliotheekbeheer, dan krijg je normaal gesproken onderaan Arduino IDE regelmatig een melding dat er nieuwe versies beschikbaar zijn. Je kunt ook zelf in het bibliotheekbeheer bij type Bij te werken kiezen om te zien welke van je geïnstalleerde bibliotheken een nieuwe versie hebben. Selecteer één voor één de bibliotheken en klik rechts op Updaten.

Voor bibliotheken die je via een zip-bestand of manueel hebt geïnstalleerd, dien je zelf regelmatig naar updates te zoeken. Let op: het volstaat niet om enkel een bibliotheek te updaten. Je dient ook je schetsen die van die bibliotheek gebruikmaken opnieuw te compileren en naar je Arduino te uploaden om van de nieuwe versie van de bibliotheek gebruik te maken in je code.

▼ Volgende artikel
Wat is local dimming en waarom is het belangrijk?
© ER | ID.nl
Huis

Wat is local dimming en waarom is het belangrijk?

Het gebrek aan een rijk contrast is een van de grootste ergernissen bij lcd- en ledtelevisies. Fabrikanten hebben daarom een slimme techniek bedacht die het contrast aanzienlijk verbetert: local dimming. In dit artikel leggen we uit hoe deze techniek van jouw grijze nachtlucht weer een inktzwarte sterrenhemel maakt.

Het contrast van je televisie is misschien wel de belangrijkste eigenschap voor mooi beeld. We willen dat wit verblindend wit is en zwart echt inktzwart. Bij oledtelevisies is dat makkelijk, want daar geeft elke pixel zelf licht. Maar de meeste televisies in de Nederlandse huiskamers zijn nog steeds lcd- of ledschermen (inclusief QLED). Die werken met een lamp achter het scherm, de zogeheten backlight. Local dimming is de techniek die probeert de nadelen van die achtergrondverlichting op te lossen.

Om te begrijpen waarom local dimming nodig is, moet je eerst weten hoe een standaard led-tv werkt. Simpel gezegd is het een groot paneel met pixels die zelf geen licht geven, maar alleen van kleur veranderen. Achter die pixels brandt een grote lichtbak. Als het beeld zwart moet zijn, sluiten de pixels zich om het licht tegen te houden. Helaas lukt dat nooit voor de volle honderd procent; er lekt altijd wat licht langs de randjes. Hierdoor zien donkere scènes er vaak wat flets en grijzig uit. De achtergrondverlichting staat immers vol aan, ook als het beeld donker moet zijn.

Nooit meer te veel betalen? Check Kieskeurig.nl/prijsdalers!

De lampen dimmen waar het donker is

Local dimming pakt dit probleem bij de bron aan. In plaats van één grote lichtbak die altijd aan staat, verdeelt deze techniek de achtergrondverlichting in honderden (en bij duurdere tv's soms duizenden) kleine zones. De televisie analyseert de beelden die je kijkt continu. Ziet de processor dat er linksboven in beeld een donkere schaduw is, terwijl rechtsonder een felle explosie te zien is? Dan worden de lampjes in de zone linksboven gedimd of zelfs helemaal uitgeschakeld, terwijl de lampjes rechtsonder juist fel gaan branden.

Het resultaat is direct zichtbaar. Zwart wordt weer echt zwart, simpelweg omdat er geen licht meer achter dat deel van het scherm brandt. Tegelijkertijd blijven de lichte delen van het scherm helder. Dat zorgt voor een veel groter contrast en geeft het beeld meer diepte. Vooral bij het kijken van HDR-films en -series is dat van belang. Zonder local dimming kan een led-tv eigenlijk geen goed HDR-beeld weergeven, omdat het verschil tussen licht en donker dan te klein blijft.

©ER | ID.nl

Niet alle local dimming is hetzelfde

Het klinkt als een wonderoplossing, maar de uitvoering verschilt enorm per televisie. Het grote toverwoord hierbij is het aantal zones. Hoe meer zones de tv onafhankelijk van elkaar kan aansturen, hoe preciezer het licht kan worden geregeld. Goedkopere televisies gebruiken vaak edge lit local dimming. Hierbij zitten de lampjes alleen in de rand van de tv. Dat werkt redelijk, maar is niet heel nauwkeurig. Je ziet dan soms dat een hele verticale strook van het beeld lichter wordt, terwijl er eigenlijk maar één klein object moest worden verlicht.

De betere variant heet full array local dimming. Hierbij zitten de lampjes over de hele achterkant van het scherm verspreid. De allernieuwste en beste vorm hiervan is miniLED. Daarbij zijn de lampjes zo klein geworden dat er duizenden in een scherm passen, wat de precisie van oled begint te benaderen. Als er te weinig zones zijn, kun je last krijgen van zogenaamde 'blooming'. Dat zie je bijvoorbeeld bij witte ondertiteling op een zwarte achtergrond: er ontstaat dan een soort wazige lichtwolk rondom de letters, omdat de zone groter is dan de tekst zelf.

Welke merken gebruiken local dimming?

Bijna elke grote televisiefabrikant past deze techniek inmiddels toe, maar ze doen dat voornamelijk in hun middenklasse en topmodellen. Samsung is een van de voorlopers, zeker met hun QLED- en Neo QLED-televisies, waarbij ze in de duurdere series gebruikmaken van geavanceerde miniLED-techniek voor zeer precieze dimming. Ook Sony staat bekend om een uitstekende implementatie van full array local dimming, die vaak geprezen wordt om de natuurlijke weergave zonder overdreven effecten. Philips past het eveneens toe in hun (mini)ledmodellen, vaak in combinatie met hun bekende Ambilight-systeem voor een extra contrastrijk effect.

Ga voor de full monty!

Local dimming is dus geen loze marketingkreet, maar een dankbare techniek voor iedereen die graag films of series kijkt op een led- of QLED-televisie. Het maakt het verschil tussen een flets, grijs plaatje en een beeld dat van het scherm spat met diepe zwartwaarden. Ben je in de markt voor een nieuwe tv? Vraag dan niet alleen óf er local dimming op zit, maar vooral of het gaat om full array dimming. Je ogen zullen je dankbaar zijn tijdens de volgende filmavond!

Vijf fijne televisies die full array local dimming ondersteunen

▼ Volgende artikel
Waar voor je geld: 5 robotstofzuigers voor een extra schone vloer
© ID.nl
Huis

Waar voor je geld: 5 robotstofzuigers voor een extra schone vloer

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt of die zijn voorzien van bijzondere eigenschappen. Met een robotstofzuiger wordt de vloer schoongehouden, terwijl je er niet bij hoeft te zijn. En stofzuigen is dan wel het minste dat ze kunnen, want ook dweilen is voor veel modellen geen proleem. We vonden vijf geavanceerde exemplaren.

Philips HomeRun 7000 Series XU7100/01

De Philips HomeRun 7000 Series XU7100/01 is ontworpen om grote ruimtes aan te kunnen. Het apparaat heeft een stofzak van 3 liter en een werktijd tot 180 minuten in de laagste stand. In tegenstelling tot veel kleinere robots is deze HomeRun uitgerust met een stille motor; de opgave van 66 dB maakt hem relatief stil.

Er zit een dweilfunctie in zodat je de robot na het stofzuigen ook direct kunt laten dweilen. Via de app kies je voor een van de modi of plan je een schoonmaakprogramma in. De robot kan zichzelf navigeren, obstakels omzeilen en keert na gebruik terug naar het laadstation. Omdat de opvangbak groot is hoef je niet vaak te legen en dankzij de Li‑ion‑accu is hij geschikt voor grotere woningen. Het apparaat is van recente datum en daarom nog volop verkrijgbaar.

Dreame L10s Pro Ultra Heat

Deze robot combineert een groot stofreservoir van 3,2 liter met een lange werktijd van ongeveer 220 minuten. Dankzij de geïntegreerde dweilfunctie verwijdert hij niet alleen stof maar kan hij ook nat reinigen. De L10s Pro Ultra Heat gebruikt een zak in het basisstation, waardoor je het reservoir minder vaak hoeft te legen.

De Dreame is voorzien van een Li‑ion‑batterij aanwezig en de robot keert automatisch terug naar het station voor opladen en legen. De sensortechnologie helpt bij het vermijden van obstakels en het nauwkeurig schoonmaken van zowel harde vloeren als tapijt. Dankzij de meegeleverde app stuur je de schoonmaak aan, stel je no‑go‑zones in of plan je een dweilrondje.

Philips HomeRun 3000 Series Aqua XU3100/01

Deze Philips‑robot is bedoeld voor wie minder vaak handmatig wil schoonmaken. Hij beschikt over een gecombineerde stofzuig‑ en dweilfunctie en kan zichzelf legen via het automatische station. Met een gebruiksduur tot 200 minuten in de laagste stand en een geluidsniveau van 66 dB kan hij urenlang zijn werk doen zonder al te veel herrie. De stofcontainer van 35 cl is kleiner dan bij de HomeRun 7000, maar door het automatische leegmechanisme is dat geen probleem.

Je bedient het apparaat via de app en kunt daar zowel een schema programmeren als zones instellen. De Aqua XU3100/01 is een model uit de recente 3000‑serie en doordat hij een mop‑pad heeft kan hij zowel droog als nat reinigen, wat handig is voor harde vloeren zoals tegels en laminaat.

iRobot Roomba Combo j9+

De Roomba Combo j9+ is een model dat je vloeren zowel kan stofzuigen als dweilen. De Combo j9 beschikt over een opvangbak van 31 cl en hij kan zelf zijn inhoud legen in het automatische basisstation dat bij de set hoort. De Li‑ion‑accu zorgt voor een lange gebruiksduur en de robot maakt een routeplanning zodat elke ruimte efficiënt wordt schoongemaakt.

Via de app kun je zones instellen waar de robot niet mag komen en het dweilelement in‑ of uitschakelen. In de basis maakt de Combo j9+ zelfstandig een kaart van je woning en keert terug naar het station wanneer de accu moet opladen of de stofcontainer vol is. De robot is bedoeld voor huishoudens die gemak belangrijk vinden en biedt naast stofzuigen ook een dweilfunctie voor hardere vloeren.

MOVA Tech P50 Ultra

De MOVA Tech P50 Ultra is een forse robotstofzuiger met een basisstation. Het apparaat heeft een stofreservoir van 30 cl en wordt geleverd met een basisstation waarin je het stof eenvoudig kunt verwijderen. De robot produceert een geluidsniveau van 74 dB, iets hoger dan de Philips‑modellen, en weegt inclusief station ruim 13 kg.

Hij kan uiteraard ook automatisch terugkeren naar het station om op te laden of te legen. In de specificaties staat dat de MOVA is voorzien van een Li‑ion‑batterij en dat hij zowel kan stofzuigen als dweilen. De meegeleverde app maakt het mogelijk om routes in te stellen en zones te blokkeren. Met een vermogen van 700 W is hij krachtig genoeg voor tapijten en harde vloeren. Het is geschikt voor mensen die een uitgebreid station met automatische functies willen.