ID.nl logo
USB-buttonbox bouwen met Arduino
© Reshift Digital
Huis

USB-buttonbox bouwen met Arduino

Veel programma’s bieden handige sneltoetsen maar de toetsencombinaties zijn vaak lastig te onthouden. Games en simulators gaan nog een stap verder, en bieden hele schermen met aanpasbare bedieningsopties. Met een usb-buttonbox, die je zelf eenvoudig kunt bouwen, breng je een deel van die functies over naar fysieke toetsen met een beschrijving. Dat ziet er ook nog eens leuk uit en is wellicht de start van een nieuwe hobby.

Veel programma’s kun je via sneltoetsen bedienen, maar het valt niet mee de toetsencombinaties te onthouden. En soms is het toetsenbord niet praktisch of simpelweg niet in de buurt. Voor hedendaagse games geldt dat nog meer. Simulators als Flight Simulator 2020 en DCS World zijn zo realistisch dat je vrijwel elke functie in de cockpit kunt bedienen. Je ontkomt dan bijna niet aan accessoires, zoals een gashendel en joystick voor het vliegen, of een stuurtje om te racen. Op de accessoires vind je veel extra knoppen die je kunt toewijzen aan de gewenste functies. Maar zelfs dan moet je keuzes maken, gezien de talloze bedieningsopties. Een leuke uitbreiding en misschien wel het begin voor een levensecht(e) dashboard of cockpit is een zogenoemde usb-buttonbox, die je vrij eenvoudig zelf kunt maken. Je kunt ze ook inzetten voor bijvoorbeeld een volumeregeling of het bedienen van muziek! Ze zijn ook nog eens betrekkelijk eenvoudig en voor weinig geld te bouwen.

01 Benodigdheden

Het project vraagt om te beginnen uiteraard om een behuizing voor bijvoorbeeld nabij de pc. Van welk materiaal deze is gemaakt, maakt niet uit. Plastic is voordelig en makkelijk om mee te werken, zolang je oppast bij het solderen. Maar bijvoorbeeld aluminium kan ook. Voor de besturing zou je een zogenaamde joystick-controllerbordje met usb kunnen inzetten, maar hier kiezen we voor de flexibiliteit van een goedkope microcontroller.

We gebruiken een kloon van de Arduino Pro Micro (vanaf ongeveer 4 euro). Deze bordjes kun je zien als de kleine versie van de Arduino Leonardo. De basis is ook hier een ATmega32U4 van 8 bit die zich onderscheidt door de volledige usb-functionaliteit.

Microcontrollers op basis van de ATmega328 hebben dat overigens niet en zijn daarom niet geschikt. Voor het programmeren van de microcontroller gebruiken we de bekende Arduino-software. Met deze software worden ook meteen de vereiste drivers geïnstalleerd. Verder heb je wat aansluitkabeltjes nodig, gereedschap en natuurlijk de nodige schakelaars.

©PXimport

02 Gereedschap

Wat gereedschap betreft heb je voor het maken van de verbindingen een soldeerbout met soldeertin nodig. Gebruik je schakelaars met een ronde doorvoer, wat zeker de voorkeur heeft, dan hoef je alleen een gat in de juiste maat te boren. Gebruik een schuifmaat om de vereiste diameter gemakkelijk te bepalen. Verder heb je een boormachine en een voor het materiaal geschikte boor nodig. Een voordelige en praktische optie zijn de zogenoemde stappenboren met meerdere diameters, vooral als je door niet te dik materiaal moet. Je kunt alles met dezelfde boor afhandelen. Daarmee kun je, door deze voorzichtig iets verder te duwen, ook meteen de scherpe randjes er af slijpen. Bovendien kun je grotere diameters boren dan er mogelijk in je boor passen. Zo past een 12mm-boor lang niet altijd in de boorkop, terwijl die diameter voor sommige grotere schakelaars nodig is.

©PXimport

03 Schakelaars en regelaars

We beginnen het project met zes eenvoudige drukknoppen die je aan functies in software toe kunt kennen. Ze worden ook wel momentary pushbutton genoemd. Een kenmerk is dat ze terugveren nadat je ze hebt ingedrukt, als een toets op je toetsenbord. Afhankelijk van je project zijn er allerlei varianten. Zo heb je wipschakelaars die je twee kanten op kunt duwen en dus twee functies bedienen. Ook leuk zijn de bekende grote roodgekleurde paniekbuttons of de knoppen zoals je die op arcadekasten ziet.

Verder kun je allerlei andere soorten schakelaars en regelaars gebruiken. Een contactschakelaar met sleutel bijvoorbeeld, voor het aan- of uitzetten van de motor, of een druk- of wipschakelaar die ook de standen ‘aan’ of ‘uit’ heeft. Ook een leuke toevoeging is een draaiknop die linksom of rechtsom kan draaien, ook wel rotary encoder genoemd. Die is bijvoorbeeld inzetbaar voor een volumeregeling, zoals we verderop in dit artikel laten zien.

04 Aansluiten en configureren

We gaan in deze stap de microcontroller aansluiten op de pc, het bord configureren in Arduino en een klein demoprogramma laten draaien. Hiervoor hoef je nog niets aan te sluiten op de microcontroller. Sluit deze om te beginnen via usb aan op de pc. Als het goed is, gaat direct de rode led aan. Ga je in Windows naar Apparaatbeheer, dan zie je bij Poorten de aangesloten microcontroller, die in ons geval als Arduino Leonardo bootloader is geïdentificeerd, met daarbij de gebruikte com-poort (hier com3). Start nu Arduino. We gaan eerst een extra adres toevoegen voor borden. Ga daarvoor naar Bestand / Voorkeuren en vul achter Meer Board ManagersURL’s de volgende url in:

https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

Klik dan op OK. Ga naar Hulmiddelen / Board en kies Board Beheer. Je kunt nu SparkFun AVR Boards opzoeken in de lijst. Selecteer deze en kies Installeer. Hierna selecteer je de vrij universele SparkFun Pro Micro onder Hulpmiddelen / Board / SparkFun AVR Boards. Zorg daarna dat je onder Hulpmiddelen / Processor de juiste uitvoering van je bordje (meestal 5V/16 MHz) hebt gekozen!

©PXimport

05 Probeer je microcontroller

De Pro Micro heeft twee ingebouwde leds die het verzenden (TX) en ontvangen (RX) van data laten zien. Je kunt deze meestal niet gebruiken in je programma, maar bij dit bordje kan dat wél. Je programmeert deze zoals iedere digitale in- of uitgang. Voor de RX-led kan dat via pin 17. Voer het onderstaande programma in. Het programma zet de RX-led met vaste tussenpozen (0,5 seconde) aan en uit. Als je het hebt ingevoerd, kies je Schets / Upload (Ctrl+U) en de led zal beginnen te knipperen. Wil je de TX-led gebruiken? Deze bestuur je via een zogeheten macro, met de opdracht TXLED1 om deze aan te zetten en TXLED0 om de led uit te zetten. Programma’s in Arduino volgen steeds deze opzet: in het begin je definities voor bijvoorbeeld pinnummers, een functie setup() voor initialisatie en een lus loop() waarin herhaaldelijk opdrachten worden uitgevoerd.

int RXLED = 17; // Standaard pin voor RX LED

void setup()

{

pinMode(RXLED, OUTPUT); // RX LED als output gebruiken

}

void loop()

{

digitalWrite(RXLED, LOW); // RX LED aan

delay(500); // Wachten...

digitalWrite(RXLED, HIGH); // RX LED uit

delay(500); // Wachten...

}

©PXimport

Aansluitingen op de microcontroller

De Arduino Pro Micro en varianten bieden 18 I/O-pinnen die je allemaal als digitale ingang of uitgang kunt gebruiken, bijvoorbeeld voor het aanzetten van een led of lezen van een drukschakelaar. Deze zijn op de afbeelding lichtblauw gemarkeerd. Van die pinnen kun je er 9 als analoog naar digitaal converter (ADC) inzetten, voor bijvoorbeeld het uitlezen van een potentiometer. Deze zijn op de afbeelding groen gemarkeerd. Er zijn 5 pinnen die voor pulse width modulation (PWM) gebruikt kunnen worden (rood gemarkeerd), zodat je bijvoorbeeld via een pulse-trein de helderheid van een led in je programma kunt regelen. Er zijn meer uitvoermogelijkheden, bijvoorbeeld voor het aansluiten van lcd’s, maar hier beperken we ons tot de genoemde ingangen. De microcontroller krijgt zijn voeding gewoon via de usb-verbinding. Gebruik je de microcontroller voor andere toepassingen dan kun je een voeding op de VCC-pin aansluiten als de spanning precies 3,3 of 5 volt is (afhankelijk van de uitvoering van je bordje!). De RAW-pin biedt spanningsregulatie en is geschikt voor zo’n 6 tot 12 volt.

©PXimport

06 Schakelaar aansluiten

De Pro Micro kan zich dankzij de volledige usb-functionaliteit als muis of toetsenbord gedragen. We beginnen met een eenvoudig voorbeeld waarin via een drukschakelaar een toetsaanslag wordt verstuurd. Hiervoor gebruiken we de standaard Keyboard-bibliotheek van Arduino. Van de drukschakelaar gaat één aansluiting naar ground (GND) en de andere naar een digitale ingang, hier pin 4. Als je het onderstaande programma start, zul je zien dat na het indrukken van de schakelaar de a-toets wordt ontvangen in bijvoorbeeld de teksteditor die je gebruikt. We voegen eerst de bibliotheek toe en definiëren de pin:

#include <Keyboard.h>

int buttonPin = 4; // Button op pin 4

Binnen setup() stellen we daarna de button in als ingang (waar twee methodes voor zijn) en initialiseren de keyboard-emulatie:

void setup()

{

pinMode(buttonPin, INPUT); // Button als ingang instellen

digitalWrite(buttonPin, HIGH); // Zet de button op hoog

// pinMode(buttonPin, INPUT_PULLUP); // Alternatief voor bovenstaande twee regels

Keyboard.begin(); // Init keyboard-emulatie

}

In de lus reageren we op het indrukken van de button. We versturen het karakter a en bouwen een korte vertraging van 200 ms in om te voorkomen dat je scherm vol staat met deze letter.

void loop()

{

if (digitalRead(buttonPin) == 0) // Als button naar laag gaat (ground)...

{

Keyboard.write('a'); // Stuur toets a via toetsenbord

delay(200); // Korte vertraging

}

}

Je kunt het programma op vergelijkbare wijze uitbreiden met de andere drukschakelaars die je op dezelfde manier aansluit: de ene pin naar ground en de andere pin naar een eigen digitale ingang.

©PXimport

07 Speciale toetsencombinaties

Sneltoetsen vereisen in veel programma’s een combinatie met Ctrl of Shift. Ook zulke toetsen kun je programmeren. In plaats van Keyboard.write() gebruik je Keyboard.press(), dat ervoor zorgt dat een bepaalde toets wordt ingedrukt maar pas wordt losgelaten als je een ‘loslaat’-opdracht geeft. Als voorbeeld programmeren we Ctrl+B, dat bijvoorbeeld in het programma Word de optie vetgedrukt aan- of uitzet. Voor de Ctrl-toets kunnen we KEY_LEFT_CTRL invullen. Andere voorbeelden zijn KEY_LEFT_ALT, KEY_ESC, KEY_F1, KEY_TAB en KEY_RETURN. Een volledige lijst met speciale toetsen vind je via www.tiny.cc/keymod. Het programma blijft voor het merendeel gelijk als in stap 6. Je hoeft alleen beide regels in het blok if te vervangen door:

Keyboard.press(KEY_LEFT_CTRL); // Houd Crtl ingedrukt

Keyboard.press('b'); // Houd 'b' ingedrukt

delay(200); // Korte vertraging

Keyboard.releaseAll(); // Laat alle toetsen los

Hier wordt eerst de linker-Ctrl ingedrukt, daarna de toets b en na een korte vertraging worden beide toetsen losgelaten met de opdracht Keyboard.releaseAll().Als je het aangepaste programma gebruikt in Word, zie je dat met de toets de optie vetgedrukt wordt aan- en uitgezet.

©PXimport

08 Bibliotheek toevoegen

De Keyboard-bibliotheek voor Arduino ondersteunt niet alle toetsen. Hierdoor kun je bijvoorbeeld niet de standaard multimediatoetsen programmeren die veel toetsenborden hebben voor het pauzeren van nummers of regelen van het volume, of systeemtoetsen voor het starten van een programma als je browser of e-mailprogramma. In zulke situaties kun je de uitgebreidere HID-Project-bibliotheek gebruiken. Als voorbeeld gebruiken we deze bibliotheek in combinatie met een draaiknop (ofwel rotary encoder). Ze worden onder meer gebruikt om de rotatiesnelheid vast te leggen. Je kunt ze ook prima voor een volumeregeling gebruiken, wat we hier gaan doen.

De draaiknop kun je oneindig in beide richtingen draaien, waarbij linksom en rechtsom in feite aparte toetsaanslagen zijn. Je kunt de rotary encoder bovendien indrukken zoals een druktoets, wat we hier gebruiken om het volume op stil te zetten. Om de bibliotheek toe te voegen ga je in Arduino naar Schets / Bibliotheek gebruiken / Bibliotheken Beheren. Zoek de bibliotheek HID-Project op en kies Installeren.

©PXimport

09 Volumeregelaar toevoegen

We gaan pinnen 5, 6 en 7 op de microcontroller gebruiken. De draaiknop heeft aan één kant drie pinnen. De middelste sluit je aan op ground. De andere twee pinnen zijn voor de draaiactie, respectievelijk linksom en rechtsom. Die sluit je aan op pin 5 en 6. Aan de andere kant zie je twee pinnen voor de drukactie. Hiervan sluit je er weer één aan op ground en de andere op pin 7. Maak een nieuw bestand in Arduino met Bestand / Nieuw. In het programma voegen we eerst de bibliotheek toe en definiëren we de pinnen met de buttons:

#include "HID-Project.h"

#define VOLBUT_UP 6

#define VOLBUT_DOWN 5

#define VOLBUT_PUSH 7

In setup() stellen we de pinnen in als input en maken ze hoog met één commando. Daarna starten we de Consumer-API met Consumer.begin(). Deze API zorgt dat je bijvoorbeeld een mediaspeler kunt bedienen of de browser en andere speciale programma’s kunt openen.

void setup() {

pinMode(VOLBUT_UP, INPUT_PULLUP);

pinMode(VOLBUT_DOWN, INPUT_PULLUP);

pinMode(VOLBUT_PUSH, INPUT_PULLUP);

Consumer.begin();

}

In de lus reageren we op het laag zijn van een input, waarbij we afhankelijk van de button het volume verhogen, verlagen of op stil zetten. Met de vertraging (delay) zul je wat moeten experimenteren.

void loop() {

if (!digitalRead(VOLBUT_UP)) {

Consumer.write(MEDIA_VOL_UP);

delay(120);

}

if (!digitalRead(VOLBUT_DOWN)) {

Consumer.write(MEDIA_VOL_DOWN);

delay(120);

}

if (!digitalRead(VOLBUT_PUSH)) {

Consumer.write(MEDIA_VOL_MUTE);

delay(250);

}

}

©PXimport

10 Andere functies

In het voorbeeld gebruiken we de Consumer-API die we aanroepen met Consumer.begin(). Maar de bibliotheek biedt ook andere opties. Zo kun je op vergelijkbare wijze de zogeheten System-API gebruiken voor systeemfuncties als het afsluiten of laten slapen of ontwaken van je systeem. Verder heb je de Gamepad-API voor het emuleren van een spelcontroller. Ook kun je de Keyboard-API gebruiken, dat eigenlijk een verbeterde versie is van de Keyboard-bibliotheek van Arduino, die ook ongeveer hetzelfde werkt.

In Arduino kun je diverse voorbeelden ophalen via Bestand / Voorbeelden / HID-Project. Wil je een uitgebreidere gamecontroller bouwen, dan is de Arduino Joystick-bibliotheek een aanrader, deze vind je hier. Na het downloaden van het zip-bestand kun je deze aan Arduino toevoegen via Schets / Bibliotheek gebruiken / Voeg .ZIP bibliotheek toe. Open dan bijvoorbeeld Bestand / Voorbeelden / Joystick / GamepadExample of een van de andere voorbeelden. Je zult zien dat er veel overeenkomsten zijn met de in dit artikel gebruikte bibliotheken.

©PXimport

Te veel knoppen … te weinig ingangen?

Wil je een groot aantal knoppen aansluiten, dan kom je al snel ingangen te kort. Gelukkig kun je via een zogenaamde matrix veel meer toetsen aansluiten. Hierbij maak je rijen en kolommen, bijvoorbeeld 4×4 of 5×5. Heb je toch te weinig ingangen? Met een IO-expander kun je uitbreiden. Zo’n module werkt via de IC2-bus die je ook op deze microcontroller vindt. Een voorbeeld is de SX1509. Met slechts twee draden (voor de IC2-bus) krijg je er 16 digitale ingangen bij en daarmee kun je tot 64 buttons in een 8×8-matrix toevoegen!

▼ Volgende artikel
Dekbed in de wasdroger: helpt een tennisbal echt?
© ID.nl
Huis

Dekbed in de wasdroger: helpt een tennisbal echt?

Wanneer je je dekbed gewassen hebt, wil je dat het natuurlijk weer lekker dik en luchtig aanvoelt. Maar wanneer je hem gewoon in de droger gooit, kan de vulling gaan klonteren, zodat er dunne stukken en dikke stukken ontstaan. Dat slaapt niet echt lekker. Om dat te voorkomen, gooien veel mensen er een paar tennisballen bij. Helpt dat echt?

In dit artikel

Je leest wat tennisballen in de droger doen en bij welke dekbedden dat wel of juist minder goed werkt. We leggen uit hoeveel ballen je nodig hebt, waar je op let bij het type tennisbal en waarom voldoende ruimte in de trommel belangrijk is. Ook staan we stil bij alternatieven zoals speciale drogerballen en geven we praktische tips om je dekbed gelijkmatig te laten drogen en mooi in vorm te houden.

Lees ook: 9 veelgemaakte fouten bij het drogen van je was

Wat tennisballen in de droger doen

Tijdens het drogen raken de tennisballen telkens het dekbed. Dat helpt vooral bij dons en veren. Als die nat zijn, blijven ze aan elkaar plakken en zakt de vulling in. Door de constante beweging vallen die samengepakte delen weer uiteen, waardoor de vulling zich opnieuw verspreidt. Zo kan de warme lucht overal beter bij en droogt het dekbed gelijkmatiger. De droogtijd wordt er niet korter van, maar het dekbed komt wel duidelijk voller uit de droger.

Hoe vaak moet je je dekbed eigenlijk wassen?

Een dekbed hoeft niet vaak in de was. Voor de meeste mensen is één tot twee keer per jaar genoeg. Dat komt omdat het meeste vuil (denk bijvoorbeeld aan zweet of huidschilfers) niet in het dekbed zelf terechtkomt, maar in het dekbedovertrek. Dat overtrek was je regelmatig, meestal eens per één à twee weken. Het dekbed blijft daardoor relatief schoon.

Soms is vaker wassen wel logisch. Bijvoorbeeld als je veel zweet in je slaap, last hebt van een huisstofmijtallergie of het overtrek niet zo vaak verschoont. Ook na ziekte of bij zichtbare vlekken is een extra wasbeurt verstandig.

Hoe vaak je kunt wassen, hangt ook af van de vulling. Niet elk dekbed kan namelijk even goed tegen veel wasbeurten. Dons- en verendekbedden kunnen meestal in de wasmachine, mits je het waslabel volgt en ze daarna goed laat drogen. Synthetische dekbedden zijn in dat opzicht wat vergevingsgezinder en kunnen vaak vaker gewassen worden zonder dat de vulling daaronder lijdt.

Twijfel je of wassen echt nodig is? Dan is luchten een goed alternatief. Hang je dekbed regelmatig buiten of bij een open raam. Daarmee kun je een wasbeurt vaak nog maanden uitstellen.

View post on TikTok

Hoeveel tennisballen zijn genoeg?

Met één tennisbal in de wasdroger merk je vaak weinig, zeker bij een groot dekbed. Die verdwijnt al snel in de stof en heeft dan weinig effect. Met twee tot vier ballen werkt het beter, omdat ze het dekbed op meerdere plekken tegelijk in beweging houden. Zolang de ballen vrij kunnen bewegen en niet vast blijven zitten in de vulling, doen ze hun werk.

Kun je elke tennisbal gebruiken bij het drogen van een dekbed in de droger?

iet elke tennisbal is even geschikt. Vooral nieuwe of felgekleurde ballen kunnen bij hogere temperaturen kleur afgeven en kleine pluisjes verliezen van de vilten buitenlaag. Dat komt niet vaak voor, maar het risico is wel aanwezig. Gebruik je oudere tennisballen, dan is de kans hierop kleiner. Wil je dat verder beperken, dan kun je de ballen in een oude witte sok stoppen en die dichtknopen. Het effect blijft grotendeels hetzelfde, al is het iets minder uitgesproken dan met losse ballen.

Speciale drogerballen

Er bestaan ook speciale drogerballen van wol of kunststof. Die zijn bedoeld voor gebruik in de droger en geven geen kleur af. Ze doen hetzelfde als tennisballen: ze zorgen dat het dekbed tijdens het drogen in beweging blijft. Wolballen maken minder lawaai en zijn milder voor stoffen. Stop je je dekbed regelmatig in de droger? Dan kun je beter deze speciale bollen gebruiken in plaats van tennisballen.  

Geef het dekbed genoeg ruimte in de droger

Tennisballen helpen alleen als het dekbed voldoende ruimte heeft om te bewegen. Is de trommel te vol, dan draait alles als één geheel rond en gebeurt er weinig. Wil je grote tweepersoonsdekbedden drogen, dan heb je een droger met een ruime trommel nodig. Heb je die niet zelf? Kijk dan of er een wasserette bij je in de buurt is. Meer ruimte zorgt voor meer beweging en daarmee voor een beter eindresultaat.

Niet elk dekbed kan in de droger

Tennisballen hebben vooral effect bij dons- en verendekbedden. Bij synthetische vulling is dat verschil kleiner en kan de constante beweging van de ballen de vulling na verloop van tijd zelfs vervormen. Wol, zijde en andere natuurlijke materialen mogen meestal helemaal niet in de droger. Check daarom altijd eerst het waslabel voordat je het dekbed in de trommel legt.

Even tussendoor opschudden helpt

Haal het dekbed halverwege het programma even uit de droger en schud het los, alsof je het bed opmaakt. Leg het daarna omgedraaid terug in de trommel. Zo verdeelt de vulling zich opnieuw en kan het dekbed gelijkmatiger drogen.

Wat kun je van het eindresultaat verwachten?

Tennis- of drogerballen zijn vooral een hulpmiddel, geen vervanging voor de juiste drooginstellingen. Droog het dekbed niet te vaak of te heet: kies een lage of middelhoge temperatuur en selecteer een speciaal dons- of beddengoedprogramma als dat op je droger zit. Zorg ook voor voldoende ruimte in de trommel. Als je dan ook nog eens ballen laat meedraaien, heb je er alles aan gedaan om te zorgen dat je dekbed weer lekker vol uit de droger komt!

▼ Volgende artikel
SSD vs. HDD: waarom is een SSD zo veel sneller dan een harde schijf?
© arinahabich
Huis

SSD vs. HDD: waarom is een SSD zo veel sneller dan een harde schijf?

Waarom start een computer met een SSD binnen enkele seconden op, terwijl een oude harde schijf blijft ratelen? Het vervangen van een HDD door een SSD is de beste upgrade voor een trage laptop of pc. We leggen in dit artikel uit waar die enorme snelheidswinst vandaan komt en wat het fundamentele verschil is tussen deze twee opslagtechnieken.

Iedereen die zijn computer of laptop een tweede leven wil geven, krijgt vaak hetzelfde advies: vervang de oude harde schijf door een SSD. De snelheidswinst is direct merkbaar bij het opstarten en het openen van programma's. Maar waar komt dat enorme verschil in prestaties vandaan? Het antwoord ligt in de fundamentele technologie die schuilgaat onder de behuizing van deze opslagmedia.

De vertraging van mechanische onderdelen

Om te begrijpen waarom een Solid State Drive (SSD) zo snel is, moeten we eerst kijken naar de beperkingen van de traditionele harde schijf (HDD). Een HDD werkt met magnetische roterende platen. Dat kun je vergelijken met een geavanceerde platenspeler. Wanneer je een bestand opent, moet een fysieke lees- en schrijfkop zich naar de juiste plek op de draaiende schijf verplaatsen om de data op te halen. Dat fysieke proces kost tijd, wat we latentie noemen. Hoe meer de data op de schijf verspreid staat, hoe vaker de kop heen en weer moet bewegen en wachten tot de juiste sector onder de naald doordraait. Dit mechanische aspect is de grootste vertragende factor in traditionele opslag.

©Claudio Divizia

Flashgeheugen en directe gegevensoverdracht

Een SSD rekent definitief af met deze wachttijden omdat er geen bewegende onderdelen in de behuizing zitten. De naam 'Solid State' verwijst hier ook naar; het is een vast medium zonder rammelende componenten. In plaats van magnetische platen gebruikt een SSD zogenoemd NAND-flashgeheugen. Dat is vergelijkbaar met de technologie in een usb-stick, maar dan veel sneller en betrouwbaarder. Omdat de data op microchips wordt opgeslagen, is de toegang tot bestanden volledig elektronisch. Er hoeft geen schijf op toeren te komen en er hoeft geen arm te bewegen. De controller van de SSD stuurt simpelweg een elektrisch signaal naar het juiste adres op de chip en de data is direct beschikbaar.

Toegangstijd en willekeurige leesacties

Hoewel de maximale doorvoersnelheid van grote bestanden bij een SSD indrukwekkend is, zit de echte winst voor de consument in de toegangstijd. Een besturingssysteem zoals Windows of macOS is constant bezig met het lezen en schrijven van duizenden kleine systeembestandjes. Een harde schijf heeft daar enorm veel moeite mee, omdat de leeskop als een bezetene heen en weer moet schieten. Een SSD kan deze willekeurige lees- en schrijfopdrachten (random read/write) nagenoeg gelijktijdig verwerken met een verwaarloosbare vertraging. Dat is de reden waarom een pc met een SSD binnen enkele seconden opstart, terwijl een computer met een HDD daar soms minuten over doet.

©KanyaphatStudio

Van SATA naar NVMe-snelheden

Tot slot speelt de aansluiting een rol in de snelheidsontwikkeling. De eerste generaties SSD's gebruikten nog de SATA-aansluiting, die oorspronkelijk was ontworpen voor harde schijven. Hoewel dat al een flinke verbetering was, liepen snelle SSD's tegen de grens van deze aansluiting aan. Moderne computers maken daarom gebruik van het NVMe-protocol via een M.2-aansluiting. Deze technologie communiceert rechtstreeks via de snelle PCIe-banen van het moederbord, waardoor de vertragende tussenstappen van de oude SATA-standaard worden overgeslagen. Hierdoor zijn snelheden mogelijk die vele malen hoger liggen dan bij de traditionele harde schijf.

Populaire merken voor SSD's

Als je op zoek bent naar een betrouwbare en snelle SSD, is er een aantal fabrikanten dat de markt domineert. Samsung wordt door velen gezien als de marktleider op het gebied van flashgeheugen en staat bekend om de uitstekende prestaties van hun EVO- en PRO-series. Daarnaast is Western Digital (WD) een vaste waarde; dit merk heeft de transitie van traditionele harde schijven naar SSD's succesvol gemaakt met hun kleurgecodeerde (Blue, Black en Red) series voor verschillende doeleinden. Ook Transcend is een uitstekende keuze; dit merk staat al jaren bekend om zijn betrouwbare geheugenproducten en biedt duurzame SSD's die lang meegaan. Tot slot bieden merken als Kingston en Seagate betrouwbare alternatieven die vaak net iets vriendelijker geprijsd zijn, zonder dat je daarbij veel inlevert op stabiliteit.