Als beginnende elektronica hobbyist is het 2 jaar geleden gelukt om de ESP interne LED te laten knipperen…
Daar was ik toen heel blij om, maar een servo bedienen is nooit gelukt. Na een fikse kortsluiting (met rook) werkte er niets meer en heb ik mijn pogingen gestaakt.
Het is nu wél gelukt om met de Arduino UNO Starterkit de servo met drukknoppen te bedienen.
Ik heb alle moed bijeengeraapt en ga het toch ook met de ESP32 proberen.
“Best wel spannend…”

Op deze pagina een uitleg hoe het toch is gelukt om een servomotor via een ESP32 aan te kunnen sturen. Even de stappen op een rijtje:
ESP32 break-out board
In een nieuwsbrief van OTRONIC las ik over een break-out board voor de ESP32. Daar had ik nooit van gehoord en was meteen nieuwsgierig.

Het is een printplaatje met schroefaansluitingen waar de ESP32 op past. Door de schroefverbindingen voorkom je draadfouten in je proefopstelling.
“Dat is weer een foutmarge minder, hoop ik”

Via Arduino IDE verbinding maken kost echter weer de nodig moeite. CODEY legt uit dat je daar een extra driver voor nodig hebt én de juiste bibliotheek voor jou model ESP32. Ook moest ik een extra Windows driver installeren om de COM-poort te kunnen kiezen. Snap jij het nog?
Servo en drukknoppen
Ik wil de servo met drukknoppen bedienen. Dat bleek niet direct te werken…

“Ik snap er niets van.” Bij Arduino UNO R3 ging dat direct goed.
Na aansluiten van een LED aan de drukknop bleek ik de drukknop verkeerd aan te sluiten. Nu weet ik ook hoe dat werkt.
De servo aansluiten is weer een apart verhaal…

Om het wissel goed te bedienen moet de servo de juiste stand aannemen. Voor de ESP32 blijkt dit 65 en 160 graden te zijn.
Bij inschakelen van de voeding is de beginstand van de servo 65 of 160 graden (rechtswissel 65, linkswissel 160).
Dus, je moet het wissel bedienen om rechtsaf of linksaf te gaan.
Bezetspoor detectie
In de Arduino Starterkit zit ook een LDR-weerstand. Die kun je goed gebruiken voor het detecteren van een ‘bezetspoor’. Staat er een trein op dat spoor dan mag het wissel niet die kant op draaien.

Bij veel licht gaat de ‘groene’ LED aan. Staat er een trein dan is er te weinig licht en gaat de ‘oranje’ LED aan, een ‘bezetspoor’.
De LDR-waarde verschilt per microchip. Je kunt op de seriële monitor van Arduino IDE de LDR-waarde zien.
Zo kun je de ‘drempelwaarde’ van de LDR bepalen (bij welke waarde is het voldoende donker). Bij de ESP32 is dat minder of meer dan 2000 en bij de Arduino UNO is dat minder of meer dan 300.
Het eindresultaat…
Er zijn nu voldoende gegevens om een proefopstelling te kunnen bouwen.
Zoals je ziet is het uiteindelijk gelukt om de servo met de ESP32 te bedienen. Hier moet je wel wat doorzettingsvermogen voor hebben.
Natuurlijk ben ik trots dat het met de ESP32 is gelukt, maar… zonder CODEY was het mij niet gelukt.
Het break-out board werkt trouwens ook erg prettig en is superhandig als je vaak draden moet wisselen.

“Als je het mij vraagt dan kies ik toch voor de Arduino UNO. Die is voor een beginner veel gebruiksvriendelijker.”
Hoe blij kun je zijn als het je uiteindelijk toch lukt 😂
