Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik...

45
Bring innovation to life BITL Ackermann Sturing 4DC Servo RF433 Table Versie leerkrachten

Transcript of Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik...

Page 1: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

BITL Ackermann Sturing 4DC Servo RF433 TableVersie leerkrachten

Page 2: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

De presentatie BITL DC motor sturing Tank met RF433 zou geen geheimen meer mogen bevatten In deze presentatie gaan we uit van de kennis reeds opgebouwd in de tank sturing.We maken gebruik van dezelfde remote sturing dan bij de Tank sturing. Let wel op dat je zorgt dat je verschillende RF ID codes gebruikt.

In de presentatie wordt verwezen naar een aantal assumpties die eigen zijn aan power gebruik en rekencapaciteit van de processor. Voor deze specifieke onderdelen worden ook afzonderlijke presentaties gemaakt. Die presentaties zijn een basis voor IoT of FoF of factory of the future design. Je bepaalt zelf of je die bijkomende presentaties wenst te bestuderen of niet.

Wij hebben vastgesteld dat de kennis : low power, beperkte rekencapaciteit, data security basissen voor IoT weinig besproken worden. Nochtans zijn die fundamenteel. Ook omdat er weinig literatuur en uitgewerkte voorbeelden bestaan kan het best zijn dat onze visie niet de enig juiste is. Opmerkingen zijn dan ook steeds meer dan welkom.

Een gedeelte van de arduino code wordt “offline” aangemaakt. Hiervoor wordt gebruik gemaakt van google rekenblad, excel en vb.net. De analyse voor die implementaties is ook weer een afzonderlijke presentatie.

Als hybride leerkracht, parttime RTC Antwerpen, - leerkracht informatica beheer, hebben wij gekozen om dit project zowel met 5IB en 6IB te realiseren. Hiervoor hebben 18 leerlingen deelgenomen aan het project. De organisatie hebben wij ingedeeld op basis van kennis, belangstelling en attitude van de leerlingen. Dit is een grote groep die ons toelaat het werk te verdelen, wat meer diepgang te realiseren en de leerlingen te verplichten om een gedegen project planning uit te werken en te volgen, een ervaring die we graag met jullie willen delen.

RTC Antwerpen besteed met dit project aandacht aan projectbeheer. De opleiding die daarvoor werd aangeboden bevatte de tool Trello. Een nieuw tool voor ons maar ook hier hebben wij nu ervaring met opgebouwd die we graag willen delen.

Page 3: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Implementatie flow

Page 4: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Specificaties BITL▫ Afmetingen truck▫ Motoren, Ackermann, UNO, RF433▫ Input voor 3D ontwerp en software

Specificaties advies … geen wedstrijd onderworpen aan strikte regels. Methode is belangrijker dan resultaat.

Page 5: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Training Fusion360Training Fusion360

▫ Leerkrachten hebben RTC training gevolgd▫ VDAB opleiding Fusion360▫ Online training en forum Fusion360

Leerlingen IB hebben nu een opleiding 3D ontwerp en realisatie ipv Fotoshop.

Hierbij wordt gekozen voor Fusion360 en S3D

Page 6: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Het KdG document is een beschouwing voor het mechanisch ontwerp. Voor het schrijven van de juiste UNO software zijn de RTC Antwerpen Ackermann beschouwingen noodzakelijk, presentatie. Het document aangemaakt door KdG is onvoldoende om de software sturing te realiseren. KdG geeft ook aan dat dit complex is maar zonder software sturing heeft het project weinig zin.

Omdat wij het aspect wiskunde in de STEM projecten bij IB belangrijk vinden hebben wij een “correcte” implementatie gemaakt van het Ackermann principe. Uit de groep van 18 leerlingen hebben wij 4 leerlingen geselecteerd die een grondige opleiding gekregen hebben van die presentatie. De andere leerlingen gebruiken het KdG document. Bij vragen dienen de leerlingen het “ondersteunend” team te raadplegen. Uiteraard is de presentatie met een ieder gedeeld. Zoals wij veracht hebben is het tekenen van de trucks stuurinrichting geen probleem met het document van KdG. Het schrijven van de software, maar ook de architectuur die wij hen als leerkrachten hebben opgelegd, is voor de meeste leerlingen toch wel een uitdaging geweest. De leerlingen hebben de testfase van google rekenblad en excel die afgerond. De eerste implemantatie in vb.net wordt nu gerealiseerd.

Page 7: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Opleiding Ackermann▫ KdG hogeschool ontwerp document▫ RTC Antwerpen Ackermann beschouwingen

De opleiding is fundamenteel voor het tekenen van het ontwerp en het ontwerp van de software.

Twee leerlingen, consultant Fusion360 Ackermann, 5 IB

Twee leerlingen, consultant Software Ackermann 6 IB

Page 8: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Opleiding IoT low power▫ RTC Antwerpen Engie project IoT

Gegeven de beperkte rekencapaciteit van de Arduino UNO dient er offline software geschreven te worden. Dit is aan bod gekomen bij het RTC Engie IOT STEM project.

Page 9: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Ackermann support teamBeheersen :

▫ Ackermann KdG▫ RTC Antwerpen Ackermann beschouwingen▫ Ondersteunen gebruik Fusion360▫ Ondersteunen implementatie in excel▫ Ondersteunen implementatie in vb.net

De vier leerlingen ondersteunen 5INFO en 6INFO. Bedoeling is om gebruik te maken van Trello.

Page 10: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Design 3D trucks▫ Selectie internet canvas▫ Projectie tekenen▫ Slicing

▫ Dak▫ Kabine UNO gedeelte▫ Kabine aansluiting chasis▫ Motorophanging▫ Stuurinrichting▫ Afronden

Acht leerlingen starten met een ontwerp. Tijdens het ontwerp worden een aantal ontwerpen gestopt en afgevoerd. De leerlingen tekenen dan onderdelen voor collega’s.

Page 11: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Review 3D printsKlassikaal onder leiding van leerkrachten en support team

Aanpassing van ontwerp

ofwel

Slicing s3d en start print

Print overzicht wordt beheerd door leerkrachten.

Page 12: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Ackermann excel realisatieIedere leerling maakt een volledige analyse, ontwerp en implementatie van het Ackermann principe in excel

Het support team geeft ondersteuning, wiskunde en algoritme.

Input : afmetingen van spoorbreedte, fusee, banden, stuurstang …

Output : de vier toerentallen en stuurhoek in functie van de hoek van rechtervoorwiel.

Page 13: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Arduino softwareHet vb.net programma creert een arduino code die kan gedownload wordt op iedere truck. De mechanische ontwerp gegevens van de truck dienen ondersteund te worden door de vb.net software.

De arduino code wordt nu verder besproken in de presentatie. Het aanmaken van de parameters kan dus wiskundig correct worden uitgevoerd ofwel kan je de ingesloten software gebruiken en de parameters experimenteel aanpassen.

Testen, observeren, interpolatie ...

Page 14: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Arduino softwareDe leerlingen IB hebben geen vaste stageperiode meer. Afgelopen jaren hebben wij leerlingen met een software implementatie, server opbouw, debiet meting, IoT naar andere scholen gezonden om daar een presentatie van de technologie en realisatie te tonen. Ook voor dit project is dat de bedoeling. Helaas heeft corona hier een stokje voor gestoken.

Page 15: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Test 3D print en arduino▫ De leerlingen testen op elke truck elke software. ( 5 trucks

met 7 software implementations …)▫ Het support team helpt in de analyse en geeft feedback

aan de 3D ontwerper of software ontwerper.

▫ Software kan zonder meerkost aangepast worden. ▫ Nieuwe prints vragen een fiat van de leerkrachten.

Het supportteam dient de aanvraag te presenteren en te motiveren.

Page 16: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Implementatie flow

Page 17: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

De UNO code met vb.netDe software is aangemaakt met vb.net

Debuggen kan wel met de arduino IDE maar aanpassen van de software niet ! Hiervoor dient de vb.net omgeving te worden aangepast door de betrokken leerling.

Niets belet je echter de code te downloaden op de UNO en hier verder met aan de slag te gaan. Wens je je te verdiepen in excel of vb.net neem dan contact op met RTC Antwerpen. We kunnen dan verdere afspraken maken.

Page 18: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 1De uno code voor het aansturen van de truck met de off-line data berekend in vb.net

Dit gedeelte is gelijk aan de Tank software.

Geen twee maar vier motoren.

ServoTimer2 wordt gebruikt voor het aansturen van de servo.

Page 19: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 2Boolean Debug. Tijdens het testen van de software worden waarden opgemeten die nadien in de software worden geplaatst. Om niet steeds de code aan te passen voeren wij die vlag in. Met de debug on is de performatie van de UNO te laag om de truck correct aan te sturen … Bij de testen dien je dus de Debug uit te schakelen.

Deadlock. Indien de Truck wordt gestart zonder transmitter of indien tijdens het gebruik de zender “verdwijnt”. De truck voert dan een veiligheids mode uit.

Hiervoor is een timer nodig. De periode van de reset timer is afhankelijk van de debug status.

Page 20: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 3

Gekende code.

Transmit_en_pin wordt verbonden met de power van de RF433 zender of ontvanger vanuit een digitale output. Hierdoor kan je het RF433 volledig uitschakelen. In de code wordt dit verder niet gebruikt voor de huidige toepassing. Voor IoT is dit wel noodzakelijk.

Page 21: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 4De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul” toestand 511 zou moeten zijn. Metingen en debuggen leren ons dat die waarde nogal eens verschillend is … meten. Hier zie je dat de nulwaarde 505 is ipv 511. Foutieve nulwaarde resulteren in trillen van de motoren of stuurinrichting ...

Page 22: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 4Sam en Avg.

Om een “smooth” controle te realiseren wordt gebruik gemaakt van een lopende gemiddelde iedere nieuwe sample telt slechts gedeeltelijk mee in de eigenlijke stuurwaarde van de hoek of toerentallen.

Page 23: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 4nvr, nvl, nar, nal bevat het actueel toerental van de vier dc motoren.

Het toerental is niet enkel afhankelijk van de stuurhoek maar ook van de gewenste snelheid. Eenmaal de verhoudingen van de vier snelheden berekend, de Mul waarden, dienen de resultaten nog eens vermenigvuldigd te worden met de gewenste snelheid ontvangen van de joystick.

Page 24: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 5De servo kan 140 graden besturen. Ook hier zien we geen juist nulpunt. Je dient de servo te testen om de waarde te bepalen. MinServo, MaxServe.

MaxRad stemt overeen met 70 graden * 1000. We werken met een resolutie van 0.001 radiaal. NullServo is het nulpunt. Midden tussen Min en Max. TestServo is de actuele waarde die we naar de servo verzenden.

Page 25: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 6Voordat we de motoren aansturen lezen we de ontvangen data uit en rekenen we de gevraagde snelheid en stuurhoek. Pas als alle waarde gekend zijn sturen we de motoren aan. (power management zoals bij IoT)

Vooruit of achteruit, links of rechts, snelheid en hoek van het stuur.

Alle ontvangen data wordt in RFCodeRecv geplaatst. xStr en yStr zijn de ontvangen x en y waarde van de joystick.

Page 26: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

De arduino UNO is een 16 bit processor zonder floating point dus geen IEEE-754 Floating Point 32 variabele of ALU unit.Alle floating point berekeningen worden softwarematig uitgevoerd. Een oplossing bestaat erin om een custom IC toe te voegen die transparante, non clocked, IEEE-754 Floating Point berekeningen kan uitvoeren. Een uitdagende stap maar voor het secundair onderwijs is dat wat te hoog gegrepen.

“Floating point math is ook veel langzamer dan integer wiskunde bij het uitvoeren van berekeningen, dus moet worden vermeden als, bijvoorbeeld, een lus moet draaien op topsnelheid voor een kritische timing functie. Programmeurs gaan vaak tot het uiterste om floating point berekeningen om te zetten in integer wiskunde om de snelheid te verhogen.” Wij kiezen om geen gebruik te maken van floating point. De floating berekeningen gebeuren “off-line” en de resultaten staan in de code.

Op deze manier kunnen wij gebruik maken van de “snellere” motoren ...

Enkele metingen tonen aan dat we tot 18 seconden rekentijd nodig hebben om het Ackermann principe correct uit te voeren. Vandaar de keuze van RTC Antwerpen voor “trage” motoren.

Page 27: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 7Het bereken van de snelheden en de hoeken voor het ackermann principe kan niet door de uno uitgevoerd worden. De rekencapaciteit van de uno is onvoldoende en de truck dient dan telkens op de oude waarde te rijden tot de nieuwe waarde berekend is. De respons zou te traag zijn.

Page 28: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 7Alle waarden in deze array zijn berekend door het vb.net programma.

Vb 5 graden rechtervoorwiel naar buiten :

Stuurhoek is s = 0.085 radialen,

Stel nvr = 100 tr/min dan is

- nvl 102 tr /min- nar 98 tr /min- nal 104 tr /min

Page 29: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 7Draaien we naar links ipv naar rechts gebruiken we dezelfde tabel maar we keren de linker en rechterwielen om.

Achteruit rijden is geen aanpassing van de DC motor waarde of servo. Enkel de draairichting van de DC motoren wordt omgekeerd.

Page 30: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 8Enkel in debug mode is er een Serial.

RF433 pinnen, 2000 bits/sec, start receiver

AFMS.begin start het motorshield.

Servomotor op pin 9.

Berekenen van het nulpunt van de servo.

Alle motoren worden even aangestuurd, 100 mS en dan weer gestopt.

Page 31: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 9Het loop gedeelte.

CountRec is een down counter. Bereikt hij de waarde nul dan worden de vier DC motoren op nul geplaatst en afhankelijk of we in debug mode zijn of niet wordt CountReg herladen.

Page 32: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 10Uint8_t is een integer byte formaat zonder teken. buf is een array en buflen het aantal elementen in de array buf.

vw_et_message () leest de ontvangen RF stroom in de array.

In debug mode laten we de inhoud zien per character in hexadecimal vorm.

Page 33: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 11De ontvangen RF data wordt in de variabele RFCodeRecv, xStr en yStr geplaatst. De switch waarde, positie 16 wordt niet verder gebruikt.

Page 34: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 12Bij een geldige RF433 code wordt de sample overschreven met de gelezen waarde. De deadlock wordt herstart.

De -1000 dienen we uit te voeren in analogie met de zender.

Page 35: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 13De nieuwe gemiddelde waarde bestaat uit driemaal de vorige gemiddelde waarde + de sample gedeeld door 4. We groeien dus langzaam naar de nieuwe waarde toe.

Vervolgens bepalen we ten opzichte van de Nullwaarde : vooruit achteruit, links of rechts.

Page 36: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 14map() gaat de waarde van een variabele in een specifieke range evenredig omzetten naar een waarde van een andere variabele.

Rijden we vooruit dan heeft de waarde in de variabele xValueAvg een getal tussen xValueNull (505) en 1023. Speed wordt dan gevuld met een waarde tussen 0 en 255 evenredig aan xValueAvg

Vb : xValueAvg = 800 … Speed = 110

Page 37: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 15De AckArray bevat de hoek verdraaiing van servo motor voor de sturing, en de verhoudingen van de snelheden van de vier DC motoren. De eerste rij, [0] rijden we rechtdoor rw = 0. Hebben we 15 rijen en kunnen we hoek aansturen van 30 graden dan is rij drie [2] wr = 4 graden. We zetten de waarde in Angle om naar de AckIndex in de array, een waarde tussen 0 en 14.

Page 38: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 15We gebruiken slechts één tabel, voor de positieve hoek van het rechtervoorwiel. Draaien we naar links dan is de hoek gelijk maar de servo gaat de andere kant op. De ontwerper dient er zorg voor te dragen dat in de array geen hoeken voorkomen die groter zijn dan de mechanische mogelijkheid van de truck … Dit wordt aangegeven in het vb.net programma.

De stuurhoek s en de draaihoek van het rechtervoorwiel is niet lineair evenredig ! Dat is echter opgelost in het vb.net programma.

Page 39: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 15Iedere lijn in de array is een evenredig hoekverdraaiing van het wiel … geen evenredige hoekverdraaiing van de servo motor ! We dienen vervolgens rekening houden met het nulpunt van de servo .... rijdt de auto toch niet rechtdoor dan kan je NullServo waarde aanpassen.

TestServo bevat de waarde die we naar de servo motor versturen.

Page 40: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 15Per lijn hebben we vier waarde. De eerste waarde [0], eerste kolom is de hoek.

De daarop volgende vier waarden zijn de verhoudingen van de snelheden van de vier wielen.

Voor ieder wiel wordt de verhouding uitgelezen en … omgerekend naar de

ontvangen waarde van de gewenste snelheid.

Opnieuw in het vb.net programma wordt

Ervoor opgelet dat je nooit een waarde groter

dan 1000 hebt ! Ideaal is de maximale waarde

in de tabel juist 1000 … maximale uitslag

van joystick ...

Page 41: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 16Toch wel een nuttig debug statement :)

Page 42: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 17De code voor het effectief aansturen van de motoren, servo en dc’s.

IoT design flow :

- Een gedeelte lezen van RF433, BLE …- Tweede gedeelte berekenen- Derde gedeelte aansturen

Hou deze gedeelte duidelijk van elkaar gescheiden zodat je nadien power management kan beheren.

Page 43: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

UNO code 18Duidelijke code …

De code van deze subroutines staat na het programma van het loop gedeelte.

Page 44: Bring innovation to life RF433 Table Versie leerkrachten · 2020-04-01 · De zender maakt gebruik van de joysticks en stuurt een waarde tussen 0 en 1023 waarbij theoretisch de “nul”

Bring innovation to life

Arduino codeDe arduino code die aangemaakt wordt door het vb.net programma wordt met je gedeeld vanuit RTC.

Het vb.net programma kan je ook via RTC aanvragen. De gegenereerde code bestaat uit drie gedeelte :

Deel 1 de declarties

Deel 2 de array : int AckArray[AckNumberLine][5] =

Deel 3 het gebruik van de waarde en de aansturing

In het vb.net programma kan je Deel 1 en Deel 2 vrij aanpassen.