ID.nl logo
Huis

Arduino IDE: Ondersteuning voor ESP8266 en ESP32

Standaard ondersteunt Arduino IDE de meest voorkomende Arduino-bordjes. Maar net zoals je extra bibliotheken kunt installeren om functionaliteit toe te voegen, kun je ook ondersteuning voor extra bordjes toevoegen, zoals de populaire modules ESP8266 en ESP32. Lees hier hoe dat moet.

Arduino IDE en de standaardbibliotheken van Arduino zijn zo’n populair softwareplatform geworden, dat heel wat andere microcontrollerbordjes op het succes willen meeliften. Zo vind je op Wikipedia een uitgebreide lijst van Arduino-bordjes en compatibele systemen.

Sommige van deze bordjes zijn 100% compatibel met een officieel Arduino-bordje en kun je dan ook zonder extra benodigde stappen in Arduino IDE gebruiken. Voor andere bordjes moet je eerst extra ondersteuning aan Arduino IDE toevoegen.

Er zijn zelfs bordjes die origineel ontworpen zijn om te programmeren met een andere ontwikkelomgeving, maar waarvan de makers of de community later Arduino-ondersteuning hebben toegevoegd, omdat Arduino IDE zo populair is. De ESP8266 en ESP32 zijn voorbeelden van zulke bordjes die in de praktijk heel vaak geprogrammeerd worden in Arduino IDE in plaats van in de ESP-IDF van de maker Espressif.

Arduino Board Beheer

Standaard ondersteunt Arduino IDE alle officiële Arduino-bordjes met Atmel AVR-microcontroller en de bordjes van andere producenten die daar 100% compatibel mee zijn. Daardoor kun je met de meest voorkomende Arduino-bordjes onmiddellijk aan de slag in Arduino IDE.

Die ondersteuning voor (een familie van) bordjes zit in een afzonderlijk pakket, een Arduino-kern (‘core’). De beschikbare kernen krijg je te zien in het bordbeheer van Arduino IDE, dat je opent in het menu Hulpmiddelen / Board / Board Beheer (sic). Je ziet daar dat de eerste kern geïnstalleerd is, Arduino AVR Boards, en in de omschrijving krijg je een uitgebreide lijst van alle ondersteunde bordjes.

Gebruik je het Arduino-platform voor toepassingen die wat meer processorkracht of aansluitingsmogelijkheden nodig hebben, dan zet je waarschijnlijk de Arduino Due of een van de bordjes uit de MKR-familie in. Deze hebben geen AVR-microcontroller van 8 bits, maar zijn uitgerust met een ARM Cortex-processor van 32 bits, die niet in de standaard geïnstalleerde Arduino-kern ondersteund is.

©PXimport

In het bordbeheer voeg je die ondersteuning eenvoudig toe, te vergelijken met hoe je een bibliotheek installeert in het bibliotheekbeheer. Je zoekt eerst in de lijst welke kern je Arduino-bordje ondersteunt. Voor de Arduino Due is dat bijvoorbeeld Arduino SAM Boards (32-bits ARM Cortex-M3). Klik (na eventueel eerst een versie te kiezen) met rechts op Installeren en wacht even tot Arduino IDE de kern geïnstalleerd heeft.

Daarna kun je het bordbeheer sluiten en is je bordje beschikbaar in de lijst in het menu Hulpmiddelen / Board. Als je je bordje gekozen hebt, bekijk je de pagina Getting Started with Arduino and Genuino products op de website van Arduino hoe je met dit bordje werkt en welke instellingen je het best gebruikt in het menu Hulpmiddelen. Zo dien je bij de Arduino Due te kiezen of je de schetsen via de programmeerpoort of de ‘native’ usb-poort uploadt. Maar daarna werkt alles exact hetzelfde als bij de standaard ondersteunde bordjes.

Extra kernen in het bordbeheer

De kernen die je standaard in het bordbeheer vindt, zijn niet de enige mogelijke. De Arduino IDE biedt ook een eenvoudige manier om dit lijstje uit te breiden. Klik je in het menu Bestand op Voorkeuren, dan zie je onderaan een tekstveld Additionele Board Beheer URLs. Hier kun je een url voor extra bordondersteuning invullen. Als je meerdere url’s nodig hebt, scheid ze dan door een komma of klik op het icoontje naast het tekstveld en vul de url’s in het grotere tekstveld dat dan verschijnt, elk op een nieuwe regel.

Maar waar vind je welke url’s je hier dient in te vullen? Meestal vermeldt de documentatie van het bordje waarvoor je ondersteuning wilt toevoegen de juiste url. Indien dat niet het geval is, kijk dan of je je bordje vindt op de pagina met thirdparty-url’s voor extra bordondersteuning op de GitHub-website van Arduino.

Ondersteuning voor ESP8266 en ESP32

Op die pagina met url’s voor extra bordondersteuning vind je de url’s om ondersteuning voor de ESP8266 en ESP32 toe te voegen, respectievelijk. Voeg beide url’s toe in de voorkeuren van Arduino IDE als je deze bordjes vaak in je Arduino-projecten gebruikt. Bevestig daarna je wijzigingen in de instellingen met OK.

Open nu het bordbeheer opnieuw. Arduino IDE laadt dan de url’s in die je zojuist hebt toegevoegd en vindt daarin informatie over de extra Arduino-kernen die het beschikbaar moet stellen. Onderaan de lijst verschijnen nu de kernen esp32 van Espressif Systems en esp8266 van ESP8266 Community. Installeer je deze kernen, dan zijn de ondersteunde bordjes daarna beschikbaar in de lijst in het menu Hulpmiddelen / Board. Kies je bordje, kies de instellingen zoals de poort en uploadsnelheid en je kunt je schets naar je bordje uploaden.

©PXimport

Let op: het is niet zo dat elk bordje dat een ESP8266- of ESP32-microcontroller bevat door deze Arduino-kernen ondersteund wordt. Enkel de in de beschrijving van de kern vermelde bordjes en 100% daarmee compatibele bordjes zijn ondersteund. Zo dien je voor de M5Stack met ESP32 de url https://m5stack.com/download/package_m5stack_index.json te gebruiken en daarna ook nog enkele andere installatie-instructies te volgen.

Als je een Arduino-kern voor je bordje geïnstalleerd hebt, dan werkt de standaard Arduino-code op je bordje en meestal ook de standaardbibliotheken van Arduino en de bestaande voorbeeldschetsen. Een kern voegt vaak ook extra voorbeeldschetsen en bibliotheken toe die specifieke functionaliteit van het bordje gebruiken. Bekijk die voorbeeldschetsen (in het menu Bestand / Voorbeelden) zeker om je vertrouwd te maken met hoe je je bordje met Arduino-code programmeert.

Third-party Arduino-bibliotheken ondersteunen niet altijd alternatieve bordjes. Soms gaan ze immers uit van de pin-out op een officieel Arduino-bordje. Kijk daarom in de beschrijving van een Arduino-bibliotheek altijd na of ze jouw ESP8266- of ESP32-module ondersteunt.

Daarnaast vind je in het bibliotheekbeheer ook een heleboel bibliotheken die specifiek voor de ESP8266 of ESP32 geschreven zijn. Zo vind je er ESP32 BLE Arduino om je toegang te geven tot de Bluetooth Low Energy-functionaliteit van de ESP32.

▼ Volgende artikel
Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2
Huis

Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2

The Duskbloods, de nieuwe game van Elden Ring- en Dark Souls-ontwikkelaar FromSoftware, zal echt alleen op Nintendo Switch 2 uitkomen.

Dat heeft de ontwikkelaar benadrukt bij het bekendmaken van zijn kwartaalcijfers (via VGC). Daarbij werd ook nog eens benadrukt dat The Duskbloods nog altijd gepland staat om ergens dit jaar uit te komen, net zoals de Switch 2-versie van Elden Ring.

Over de exclusieve Switch 2-release van The Duskbloods: "Het wordt verkocht via een samenwerking met Nintendo, met verkoopverantwoordelijkheden verdeeld per regio. De game komt alleen voor Nintendo Switch 2 beschikbaar." Daarmee is dus duidelijk gemaakt dat Nintendo een nauwe samenwerking met FromSoftware is aangegaan voor de game en dat het spel niet zomaar op andere platforms uit zal komen.

Over The Duskbloods

The Duskbloods werd begin vorig jaar aangekondigd in een speciale Nintendo Direct waarin de eerste Switch 2-games werden getoond, maar sindsdien zijn er geen nieuwe beelden van het spel uitgebracht. Zoals gezegd is de game ontwikkeld door FromSoftware, het Japanse bedrijf dat naam voor zichzelf heeft gemaakt met enorm uitdagende spellen, waaronder de Dark Souls-serie en Bloodborne. Met de openwereldgame Elden Ring scoorde de ontwikkelaar enkele jaren geleden nog een megahit.

Watch on YouTube

The Duskbloods wordt een PvPvE-game, waarbij spelers het dus tegen elkaar en tegen computergestuurde vijanden opnemen. Maximaal acht spelers doen aan potjes mee. Na het kiezen van een personage in een hub-gebied wordt men naar een gebied getransporteerd waar er met andere spelers en vijanden gevochten wordt, al kan men soms ook samenwerken om vijanden te verslaan.

Spelers besturen een 'Bloodsworn', wezens die dankzij een speciaal bloed dat in hun lichaam zit meer krachten tot hun beschikking hebben dan reguliere mensen. Ondertussen is het einde van de mensheid nabij, en bestaat de wereld uit verschillende tijdperken, wat voor een mengelmoes van stijlen zorgt.

▼ Volgende artikel
Beeldverversing versus pixels: waarom soepel gamen beter is dan scherp
© Gorodenkoff Productions OU
Huis

Beeldverversing versus pixels: waarom soepel gamen beter is dan scherp

Resolutie is marketing, refreshrate is beleving. Waar 4K zorgt voor een mooi plaatje, zorgt een hoge verversing (Hz) ervoor dat je daadwerkelijk wint. Hieronder lees je waarom snelheid in feite de échte koning is in gaming.

Veel gamers staren zich blind op 4K-resolutie. Ze kopen een duur scherm, zetten de settings op Ultra en vragen zich vervolgens af waarom hun spel stroperig aanvoelt. De misvatting is dat 'mooier' gelijkstaat aan 'beter'. In werkelijkheid is de vloeibaarheid van het beeld – de refreshrate, oftewel verversingssnelheid – veel bepalender voor hoe direct en responsief een game aanvoelt. Aan het eind van dit artikel weet je precies of jij moet kiezen voor pixels of snelheid.

Hoe je ogen bedrogen worden door Hertz

Stel je voor dat je snel met je muis over je bureaublad beweegt. Op een standaard 60Hz-scherm zie je de cursor in schokjes over het beeld springen; je hersenen vullen de gaten in. Op een 144Hz- of 240Hz-gaming-monitor verdwijnen die gaten.

Het technische verschil zit hem in de verversingssnelheid: het aantal keren per seconde dat het beeld wordt vernieuwd. Bij 60 Hz krijg je elke 16,6 milliseconden een nieuw beeld. Bij 144 Hz is dat elke 6,9 milliseconden. Dat klinkt als een klein verschil, maar je voelt het direct. Het gestotter dat je onbewust gewend bent verdwijnt. Bewegingen voelen boterzacht aan, alsof de cursor (of je crosshair) aan je hand vastgeplakt zit in plaats van er achteraan zwemt. Dit effect wordt motion clarity genoemd: objecten blijven scherp, zelfs als ze snel door het beeld bewegen.

©Framestock

De winst in shooters en snelle actie

Wanneer werkt dit in je voordeel? Vooral in competitieve shooters zoals Call of Duty, Counter-Strike of Valorant. In dit soort games telt elke milliseconde. Een hogere refreshrate vermindert de input lag, oftewel de tijd tussen jouw klik en de actie op het scherm.

Stel, je draait je personage snel om. Bij een lage refreshrate wordt de vijand een fractie later getoond en zie je veel bewegingsonscherpte (motion blur). Met een hoge refreshrate zie je de vijand eerder en scherper, waardoor je sneller kunt reageren. Je hebt letterlijk actuelere informatie dan je tegenstander. Om dat te bereiken heb je wel een krachtige videokaart nodig die genoeg beelden per seconde (FPS) kan genereren om je snelle scherm bij te houden.

Wanneer resolutie het toch wint van snelheid

Is snelheid altijd heilig? Nee. Als je vooral tragere, meer verhalende games speelt (zoals Cyberpunk 2077 in de 'sightseeing' modus), Microsoft Flight Simulator of grafische RPG's, dan voegt 240 Hz weinig toe. In deze titels kijk je vaak naar stilstaande of langzaam bewegende omgevingen.

In dat geval wil je juist de texturen van de bomen, de reflecties in het water en de details in gezichten zien. Een 4K-monitor op 60 of 120 Hz is dan een logischer keuze dan een onscherp 1080p-scherm op 360 Hz. De visuele pracht weegt hier zwaarder dan de milliseconden reactietijd. Ook voor console-gamers die op de bank zitten, is een goede televisie met 4K en HDR vaak indrukwekkender dan puur de hoogste framerates.

Situaties waarin een hoge refreshrate zinloos is

Er zijn momenten dat investeren in een snel scherm weggegooid geld is. Dat gebeurt bijvoorbeeld als je hardware de snelheid niet kan leveren; als je videokaart maar 50 frames per seconde kan leveren, heeft een 144Hz-scherm geen nut omdat het scherm wacht op de computer. Daarnaast beperken oude kabels je bandbreedte, waardoor je monitor soms terugvalt naar 60 Hz zonder dat je het doorhebt. Ook op oudere consoles zoals de Nintendo Switch of de standaard PS4 heb je niets aan snelle schermen, omdat deze hardware fysiek gelimiteerd is op 60 Hz of lager.

Bepaal wat jouw setup aankan

Kijk dus kritisch naar je huidige situatie voordat je naar de winkel rent. Heb je een high-end pc die makkelijk 120+ FPS haalt in jouw favoriete games? Dan is een upgrade naar een 144- of 165Hz-monitor de grootste sprong in spelplezier die je kunt maken. Speel je op een PlayStation 5 of Xbox Series X? Zoek dan specifiek naar een scherm met HDMI 2.1-ondersteuning om 120 Hz op 4K mogelijk te maken. Zit je ver van je scherm af en speel je relaxed? Investeer dan liever in resolutie en kleurdiepte.

©Proxima Studio

Kortom: snelheid is de sleutel tot succes!

Verversingssnelheid is belangrijker dan resolutie voor iedereen die actie- of competitieve games speelt. Het zorgt voor een vloeiender beeld, minder input lag en betere motion clarity, wat je direct een voordeel geeft in het spel. Resolutie is vooral luxe voor het oog, maar refreshrate is pure prestatie voor de speler.