Deze self-paced module helpt je bij de online cursussen van Junior IOT. In een aantal sessies ontdek je hoe je begint met het programmeren van een ESP32 (de Lolin32 Lite) en hoe je hier zelf mee kunt bouwen. Voor deze labs gebruiken we de ESP Bag of Fun. De componenten in deze kleine en krachtige werkset geven je een goede introductie in programmeren, meten en besturen met microprocessors. Hierna weet je genoeg om zelf jouw vervolgproject te beginnen.

Let op: Deze lessenserie is op dit moment aan het ontstaan. Een deel van de opdrachten is geschreven voor de Arduino Nano uit onze Arduino Bag-of-Fun. “Er wordt gezegd” dat je deze labs makkelijk zelf kunt vertalen naar de ESP.

In dit deel van de cursus zie je in de eerste stappen hoe je werkt met electronica, en je ervaart hoe de ESP32 werkt. Met een duidelijke toelichting lukt het al snel om simpel een paar leds aan te sturen. Hetzelfde zie je eigenlijk ook in de echte wereld, in bijvoorbeeld de bediening van de stoplichten op een kruispunt.

Daarna volgt een uitgebreide serie labs om kennis te maken met elk onderdeel van de werkset.

Samen technologie ontdekken met Junior IOT en het ROC

Een online Junior IOT cursus geeft je vakgerichte lessen en labs om zelfstandig of samen technologie te ontdekken. Dit kan je zelf thuis, maar deze serie is allereerst gerticht op het MBO. Jouw docent of coach helpt je de informatie en de spullen te vinden, en de vaktechnische informatie haal je zelf uit onze online beschrijvingen.

Sommige opdrachten helpen je met een duidelijke uitleg, en andere opdrachten geven wat meer uitdaging. We hebben al een selectie voor je klaargezet in de keuzes geel, oranje en paars. Meer uitleg hierover lees je op: https://junioriot.nl/rocvf-cursusmateriaal/#uitdaging

Vervolgprojecten

Deze ondersteuningsmodule sluit aan op meerdere vervolgcursussen. Kijk naar de volledige lijst:

Je ziet dat de vervolgprojecten nog verder door jouw moeten worden uitgewerkt. Detailinstructies laten we daarom expres weg. Het maakt dan ook niet uit of je werkt met de Arduino Bag-of-Fun of met onze nieuwe ESP Bag-of-Fun.

Nog meer vervolgprojecten? We hebben verschillende vervolg sets met elk een uitdaging met bijpassende opdracht. De actuele keuzelijst staat op https://junioriot.nl/arduino-nano-project-aanvulset/

 

ESP Sessie 0. De cursus verkennen

Deze lessenserie bestaat uit meerdere labs/activiteiten en een aantal aparte informatie momenten. In deze beschrijving zijn de activiteiten gesorteerd en gebundeld in een aantal sessies. De volgorde van de lessen en de labs is zo gekozen dat je iedere keer iets nieuws tegenkomt. Bij een self-paced training kan je zelf kiezen hoeveel van deze sessies je per week wilt voltooien.

De meeste onderdelen in de Arduino Bag-of-Fun zal je meer dan één keer gebruiken: eerst volgens een stap-voor-stap toelichting, en dan vaak nog een keer om een eigen variatie te maken. In deze eerste sessie verken je in het kort welke onderdelen je hebt.

Een krachtig brein: de Wemos Lolin32 lite

Als brein gebruik je één van boards in de ESP32 serie: de Lolin32 Lite. Hierop draait jouw programma om de robot te besturen. Zoals andere ESP32 boards heeft ook deze een ingebouwde wifi. We zijn erg blij met de micro-usb aansluiting, waarmee we makkelijk programmeren vanuit de vertrouwde Arduino IDE. Maar het mooiste is de ingebouwde aansluiting om een kleine lipo batterij op te laden.

“The LOLIN32 Lite is a low-budget ESP32 board that, like other ESP32 boards, has a 32-bit dual core microcontroller that runs at 240MHz, has 4MB of  flash storage, and can be programmed in a range of languages, including microPython, LUA, and Arduino. It can be powered via micro USB or lithium polymer batteries with a 500mA max charging current. A set of matching headers are included, that can be soldered to the board, for mounting on a breadboard.”

Voor de technische details kan je de pinout van de Lolin32 Lite eens opzoeken: https://www.google.com/search?q=lolin32+lite+pinout

Stroom voor onderweg: onze kleine lipo met één cel

Onze Lolin heeft een ingebouwde batterij oplader. De batterij daarvoor heeft dan de veel gebruikte micro JST 1.25 stekker. We kiezen voor ons project een lichte lipo batterij van ongeveer 300 of 400 mAh.

Breadboard voor makkelijke ontwikkeling

In dit lab gebruik je een breadboard. Je kunt daarmee sneller je ontwerp testen, iets veranderen en nieuwe ideeën onderzoeken.

Maar let op: breadboard verbindingen blijven niet altijd goed vast zitten. Ze zijn ook niet bedoeld voor aansluitingen met sterkere stromen. Bij een definitief product zou daarom alles nog worden vastgesoldeerd op een mooie printplaat.

Besturing via WiFi op je telefoon

Een ESP32 geeft je een interessante mogelijkheid welke we niet zien bij de Arduino en de Arduino Nano. Een ESP geeft je namelijk de mogelijkheid voor Wifi. De processor is goed in staat om een webserver te draaien met een bedieningspagina voor jouw apparaat. Je verbindt dan jouw telefoon met het wifi netwerk van jouw apparaat, en je roept de juiste pagina op. Via jouw telefoon laat je dan jouw apparaat doen wat jij wilt.

De software die je daarvoor nodig hebt is best complex. In deze serie verwachten we van jouw dat je alle software op jouw apparaat voldoende begrijpt. Daarom beginnen we altijd met een aantal instap oefeningen.

ESP Sessie 1. Unboxing en je werkomgeving klaarmaken

Maak alles klaar om goed te kunnen beginnen:

  • Zorg dat je de spulletjes hebt om mee te werken: https://junioriot.nl/esp-bag-of-fun/
  • Zorg ervoor dat je weet waar je de goede soldeerspullen kunt vinden.
  • Zorg ervoor dat je een goede laptop hebt om Arduino te programmeren. De instructie legt alles uit voor de Windows en voor Linux. Je moet op de laptop voldoende rechten hebben om software te installeren.

Werkvoorbereiding voor werken op afstand en voor de self-paced cursus

  • Staat alles klaar en weet je nu hoe snel je door de cursus wilt gaan? Zet dan nu de nummers van de sessies in jouw agenda.

Laat je docent/coach weten welke planning je hebt gekozen.

Oranje en paars. Voor elk onderdeel in het kleine zakje zoek je op hoe het werkt en hoe je het kunt gebruiken.

ESP Sessie 2. Electronica solderen, hoe doen we dat

Voordat we beginnen met de soldeerbout, kijken we naar de veiligheid en de inrichting van de werkplek. Leerlingen van een electronica opleiding zijn hier vaak al mee bekend, voor de volledigheid lopen we dit nog een keer door:

De eerste electronica labs helpen je om je soldeervaardigheden nog eens te oefenen:

ESP Sessie 3. Bouw je eigen electronica circuit

Je ziet dat we nog niet alle onderdelen uit het kleine zakje hebben gebruikt. Dit betekent dat we nog veel meer dingen kunnen maken. Het is handig om eerst wat te lezen over electronica circuits. In de volgende stappen pikken we de beginselen op van electriciteit, stroombron en componenten, serie en parallel. Vraag om uitgebreide uitleg aan je vakdocent.

Paars. Voor een extra uitdaging probeer je ook de opdracht ‘Simuleren van circuits’.

ESP Sessie 4. Introductie van de Arduino IDE

Installeren Arduino IDE, een eerste programma.

Headers op de Lolin32 Lite. Deze stap doe je pas als je een beetje geoefend hebt met solderen. Gelukkig heb je met de Bag-of-Fun genoeg kunnen oefenen.

WEMOS LOLIN32 instellen in de Arduino IDE. Stel nu je Arduino IDE in, en gebruik een Blink om te testen of je de Lolin kunt programmeren.

Hierna weet je dat je Lolin goed genoeg werkt om hem op je breadboard te zetten.

Bron: https://junioriot.nl/robotwagen-esp32/

 

Nu kan je een eerste project bouwen. Let op, liever niet je componenten vastsolderen op de ESP32 of Arduino.

Extra pittig. Als je van plan bent om zelf spannende dingen te programmeren dan moet je zeker ook even kijken naar de Blink Without Delay
De Lolin32 is best leuk om mee te werken, maar wat is er nog meer?

ESP Sessie 5. Een lab nabouwen.

In deze sessie … (nog nader in te vullen)

Extra uitdaging: Bekijk daarna de dappere avonturen van je voorgangers. Dit zijn verslagen van projecten die soms nog niet helemaal af waren.

Dit zijn natuurlijk heel andere projecten! Bedenk welke vaardigheden jij nog nodig hebt om verder te komen dan je voorgangers.

ESP Sessie 6. Introductie programmeren, softwarestructuren, variabelen, libraries

Je hebt nu in een paar sessies gewerkt met het maken van software voor de Arduino. Het is handig om nu meer te weten te komen over wat je hebt gedaan en hoe je er in je eindproject nog meer je eigen programma van kunt maken. Voor sommige studenten is het voldoende om bestaande code samen te voegen en aan te passen. Andere studenten willen het liefst nog véél méér weten.

Bij de voorbeelden waar je mee werkt, gebruik je vaak een library. Dat is een extern stukje wat voor jou is klaargezet, met daarin code om bijvoorbeeld opdrachten te sturen naar jouw hardware. Handig, want dan hoef jij dat niet zelf uit te zoeken – je hoofdprogramma schrijf je wel zelf.

ESP Sessie 7. Analoog in de digitale wereld.

De joystick uit deze oefening is een heerlijk voorbeeld waarmee je een analoog signaal gebruikt. Hoe werkt dat:

ESP Sessie 8. Combineer opdrachten tot projecten

In de labs lag tot nu toe de nadruk telkens één onderdeel. Andere leerlingen leggen in enkele labs uit hoe ze deze voorbeelden hebben gecombineerd.

Kijk nog eens hoe de afbeelding wordt gemaakt in de code in het lab van Ties.

  • Variabelen, array, matrix en meer: (nog toe te voegen)

Voor geel is dit de laatste sessie.

ESP Sessie 9. Binaire uitdaging en digitale signalen

Digitale signalen zijn overal. De details hoef je niet uit je hoofd te kennen, en toch is het goed om digitale signalen in de echte wereld te kunnen herkennen. Bij het troubleshooten van jouw projecten is het goed om hier een keer van te hebben gehoord.

Met serial stuurt het programma op jouw Arduino gemakkelijk tekst en informatie naar jouw scherm.

  • Serial monitor: (een lab toevoegen, zit dit al in Ties servo voorbeeld?)

ESP Sessie 10. Stappen in jouw projectplan

Een uitdagend project:

Functioneel ontwerp, technisch ontwerp, engineering

Van enkele spannende projecten is een try-out of een prototype gemaakt. Het resultaat daarvan is nu genoeg voor een praat-plaatje naar een eventuele opdrachtgever. Met deze info kan de opdrachtgever een opdracht en een budget formuleren.

Een product ontwerpen – Studenten proberen nog wel eens een productontwerp proces ‘achterstevoren uit te voeren’. Dan zoeken ze een instructie of project resultaat op het internet die ze willen aanpassen aan hun project. Dat kan een handige strategie zijn, maar we willen eigenlijk een andere aanpak voorstellen.
Productontwerp stappen –
  • Bedenk een project of opdracht, dit is de titel en pitch. Overleg met opdrachtgever voor goedkeuring.
  • Bedenk wat het product moet doen, dit is het functioneel ontwerp. Overleg met opdrachtgever of je het goed hebt begrepen.
  • Bedenk welke techniek componenten je nodig hebt. Dit is je technisch ontwerp. Overleg met je techniek mensen of inkoopafdeling of deze beschikbaar zijn.
  • Voor elk van de techniek componenten los, maak je de code om aan te tonen dat het werkt en dat je hem kan bedienen. Dit is een zogenaamde unit test waarmee je kijkt of elk onderdeel los werkt. Als het niet in redelijke tijd werkt, besteed het dan uit, of vraag om hulp.
  • Re-design je ontwerp zodat de moeilijke onderdelen niet meer nodig zijn. Bevestig met opdrachtgever of ‘product owner’ dat deze vereenvoudigde versie voldoende is voor een eerste versie.
  • Bedenk een volgorde om softwareonderdelen samen te brengen, en bouw één voor één de onderdelen samen. Dit is integratie. Tegelijk start je de volgende stap.
  • Nieuw re-design? Overleg weer met opdrachtgever of er genoeg overblijft voor een MVP
  • Het totaal is dan je proof-of-concept om aan te tonen dat het eindproduct zou kunnen werken.
  • Probleem: de opdrachtgever is vanaf nu op vakantie.
  • Start tegelijk met de start van software bouw, het denkproces over welke hardware, inbouwkast, frames je nodig hebt om de hardware samen te brengen. Detail design.
  • De software integratie neemt veel tijd, en tegelijk voer je hardware ontwerp en realisatie uit. Productie fase.
  • Als je alle software bij elkaar hebt, dan heet dat ‘feature complete‘, daarna ga je het debuggen.
  • Als je daarna features toevoegen dan heet dat feature creap of scope creap, doe dit niet in de laatste twee weken voor oplevering.
  • Stabiliseren en opleveren.
  • Presentatie

Je gaat dit nu in het klein zelf naspelen en je maakt daarvoor een projectplan voor een denkbeeldige opdracht. Je kunt kiezen uit deze projecten:

Kies één van deze projecten. Hebben de mensen in het voorbeeld een goed plan gevolgd, of kan jij het beter? Bedenk of je zelf een variatie wilt ontwerpen, of dat je werkt met het project zoals dit nu is beschreven. Voor het door jou gekozen project maak je:

  • Een beknopte titel of opdrachtomschrijving (namens de opdrachtgever)
  • Functioneel ontwerp, met daarna goedkeuring van de opdrachtgever
  • Technisch ontwerp, met daarna goedkeuring van je engineering afdeling
  • Planning welke expertise en vaardigheden je nodig hebt
  • Indicatieve begroting, kostenberekening, met daarna goedkeuring van afdelingen sales en inkoop. De prijs van elk ingekocht onderdeel is €10 per centimeter over de langste lengte. Basismateriaal kost €20 per kilogram. Machinetijd kost €30 per uur. Mensuren kosten €40 per uur voor productie en montage, €50 voor planning en projectorganisatie, €60 voor engineering en ontwerp en €125 per uur voor externe expertise en advies.
  • Engineering en realisatie slaan we bij deze oefening over

ESP Sessie 11. Een vrije keuze combinatie.

Bedenk nu zelf een combinatie project. Gewoon twee of drie onderdelen van de set die je bij elkaar wilt gooien. Ga zelf aan de slag!

Inspiraties, wat kan je nog meer? Ideeën en toepassingen waar je extra spullen voor nodig hebt:

Je weet inmiddels dat je bij dit proces een paar projectfases doorloopt: Opdracht omschrijving, functioneel ontwerp, technisch ontwerp, expertise planning. Realiseer een beknopte proof-of-concept om aan te tonen dat de electronica en software zou kunnen werken.

ESP Sessie 12. Maak een miniatuur uit de echte wereld.

Bedenk hoe je een situatie uit de echte wereld kunt nabootsen. Denk bijvoorbeeld aan een stoplicht die je met drie leds kunt nadoen, maar nu bedenk je een eigen situatie.

    • Beschrijf hoe de situatie werkt in de echte wereld
    • Bedenk met welke onderdelen je dit gedrag na kunt bouwen
    • Ontwerp hoe de software moet werken om dit na te bouwen
    • Bouw je ontwerp

Inspiraties, voorbeelden uit onze echte wereld:

Klaar.