Projects4edu

Arduino voorbeelden uitvoeren met KAEDU shield

Je kan zeer veel voorbeelden vanuit de Arduino software testen met het KAEDU shield. Soms moet je wel een paar zaken aanpassen.

Je kan de voorbeelden vinden via BESTAND -> VOORBEELDEN
Daarna zijn de voorbeelden ingedeeld per categorie.

01. Basics

  1. AnalogReadSerial : hierbij zet men de spanning van A0 (trimmer) om naar een getal tussen 0 en 1023. Dit getal zet men daarna op de serial monitor. HULPMIDDELEN -> SERIËLE MONITOR.
    TIP : Verander regel 22 : delay(1); naar delay(10); of zelfs delay(100); zo komt er minder data binnen.
    TIP : Gebruik HULPMIDDELEN -> SERIËLE PLOTTER om de data in grafiekvorm te bekijken in plaats van in tekstvorm.
  2. BareMinimum : hiermee kan je niets doen, dit toont enkel de basiscode wat zeker in een programma dient aanwezig te zijn.
  3. Blink : Laat de led op de Arduino UNO knipperen (1s aan, 1s uit). Wil je een LED van het KAEDU shield gebruiken dan moet je overal waar LED_BUILTIN staat dit vervangen door de het nummer waar de LED op aangesloten is. Bij het KAEDU shield heb je dus de keuze uit de nummers 2,3,4,5,17,18. In plaats van overal LED_BUILTIN te vervangen kan je ook VOOR SETUP het volgende schrijven #define LED_BUILTIN 2 (hier als voorbeeld 2 maar dat kan je vervangen door de andere nummers)
  4. DigitalReadSerial : Om dit te kunnen gebruiken moet je bij de 9de regel int pushButton = 2; het cijfer vervangen door cijfer 8 of 9 of 10 of 11 of 12. Door dit aan te passen gebruik je als digitale ingang de switch of button1 of 2 of 3 of 4. Net zoals AnalogReadSerial gebruik je hier de serial monitor via HULPMIDDELEN -> SERIËLE MONITOR.
  5. Fade : Om dit te kunnen gebruiken moet je bij de 16de lijn int led = 9; het cijfer vervangen door 3 of 5. Afhankelijk van het cijfer zal de 2de rode led of de 2de groene led van intensiteit vervanderen (dimmen).
  6. ReadAnalogVoltage : hierbij zal ongeveer hetzelfde gebeuren als AnalogReadSerial maar het getal tussen 0 en 1023 wordt terug omgezet naar de spanning die op de pin aanwezig is. De spanning die 0 oplevert komt overeen met 0V en diegene die 1023 oplevert komt overeen met 5V.

02. Digital

  1. BlinkWithoutDelay : Om dit programma te gebruiken schrijf je op lijn 31 in plaats van LED_BUILTIN het nr 2 (het nummer mag ook 3,4,5,17 of 18 zijn afhankelijk van het nummer zal een andere led oplichten.
  2. Button : Hierbij gaat de LED aan als je op de drukknop drukt of als de schakelaar aanstaat. Om dit voorbeeld te kunnen gebruiken moet je het nummer bij de 29ste lijn const int buttonPin =2; het nr vervangen door 8 of 9 of 10 of 11 of 12 (switch of button1 t.e.m button4 worden dan gebruikt) en bij de 30ste lijn const int ledPin = 13; het nr vervangen door 2 of 3 of 4 of 5 of 17 of 18 waardoor er een van de 6 leds zal oplichten.
  3. Debounce : goede drukknoppen hebben geen last van dit fenomeen dat als je op een knop drukt de toestand niet stabiel is. Als dit toch het geval zal zijn kan je dit fenomeen softwarematig oplossen met dit programma.
  4. DigitalInputPullup : Dit programma kan je niet combineren met het KAEDU shield omdat de schakelaar en de drukknoppen aangesloten zijn via een pulldown weerstand. Dit programma dient er enkel voor als je een drukknop aansluit op de arduino zonder weerstand. Je gebruikt dan de weerstand die in de arduino zelf aanwezig is.
  5. StateChangeDetection : Om dit programma te gebruiken voer je dezelfde veranderingen door als bbij het programma Button. Op de serial monitor zal bij dit programma verschijnen hoeveel keer je op de knop gedrukt hebt. elke 4de keer dat op de knop gedrukt werd zal de led aangaan, anders zal de led uitgeschakeld zijn.
  6. toneKeyboard : Dit voorbeeldprogramma kan je niet gebruiken met het KAEDU shield. Men gebruikt hier 3 krachtmeters als toetsen van een minipiano.
  7. toneMelody : Werkt als je bij lijn 38 en lijn 48 het cijfer 8 verandert in 13, hierop is de Piezo namelijk aangesloten. Door dit programma uit te voeren zal er een deuntje afgespeeld worden op de piezo.
  8. toneMultiple : Om dit programma uit te voeren zou je 3 piezo’s nodig hebben, dit is bij het KAEDU shield niet het geval dus we kunnen dit voorbeeld niet testen.
  9. tonePitchFollower : verander op lijn 39 het cijfer 9 door 13. Je kan dan met de trimmer de pitch van de toon aanpassen.

3. Analog

  1. analogInOutSerial : verander bij lijn 25 const int analogOutPin = 9; het cijfer 9 door 3 of door 5. Je kan dan met de potentiometer de intensiteit van LED rood 2 of van LED groen 2 regelen tussen volledig uit en volledig aan.
  2. analogInput : verander bij de 31ste lijn int ledPin = 13; het cijfer naar een van de cijfers waarop een led is aangesloten (2,3,4,5,17,18). Je kan in dit voorbeeldprogramma dan de snelheid van het knipperen van de LED regelen door aan de trimmer te draaien.
  3. AnalogWriteMega : Deze sketch is specifiek geschreven om te gebruiken met de MEGA, aangezien het KAEDU shield werkt met Uno en Leonardo kunnen we dit voorbeeld niet testen.
  4. Calibrating : In de eerste 5 seconden zal de minimale en maximale waarde van de sensor opgeslagen worden om hiermee verder te werken. Om deze sketch te gebruiken verander je op lijn 31 het cijfer 9 in 5 en op lijn 41,42 en 60 het cijfer 13 in 3. Draai tijdens de eerste 5 seconden dat de sketch werkt de potentiometer een beetje,
    je zal merken dat daarna je enkel die kleine stukje kan gebruiken om de intensiteit van de LED te regelen en niet het volledige bereik van de trimmer.
  5. Fading : verander bij lijn 21 het cijfer 9 door 5 om dit voorbeeld te gebruiken. De LED zal nu dimmen
  6. Smoothing : De uitwerking van dit programma zie je niet direct, op de serial monitor lijkt het alsof er enkel metingen van de sensor komen maar deze metingen zijn eigenlijk het resultaat van meerdere metingen. Dit is een techniek die men gebruikt om uitschieters weg te werken door telkens van een aantal datapunten het gemiddelde te bepalen en dit als 1 meetwaarde te beschouwen.

04. Communication

  1. ASCIITable : Dit programma maakt geen geen gebruik van ingangen en uitgangen, je moet enkel uploaden en de serial monitor openen. Op de serial monitor zal dan de volledige ASCII tabel verschijnen
  2. Dimmer : Voor dit voorbeeld heb je ook een extra programma nodig om data van de PC naar de Arduino te sturen. Bij de serial monitor kan je enkel karakter per karakter sturen en de waarde van dit karakter komt dan overeen met de ASCII waarde.
  3. Graph :
  4. Midi :
  5. MultiSerial :
  6. PhysicalPixel :
  7. ReadASCIIString :
  8. SerialCallResponse :
  9. SerialCallResponseASCII :
  10. SerialEvent :
  11. SerialPassthrough :
  12. VirtualColorMixer :

05. Control

  1. Arrays :
  2. Stel dat je een looplicht wil met de leds van het KAEDU shield. Bijvoorbeeld rood2 rood1 oranje2 oranje1 groen2 groen1 dan zou je dat kunnen maken door zeer veel keer digitalWrite te gebruiken. Het programma kan echter eenvoudiger door de pinnen van de leds in een array te plaatsen en automatisch uit de array halen welke pin hoog moet gemaakt worden en welke laag. Dit doet men door automatisch door de array te gaan met een for lus. Om dit voorbeeld te kunnen realiseren moet je 1 lijn aanpassen in dit voorbeeld. De getallen op lijn 26 die nu gelijk zijn aan 2,7,4,6,5,3 moeten vervangen worden door 3,17,4,18,5,2

  3. ForLoopIteration :Dit programma maakt ook een for lus maar hier is het wel noodzakelijk dat de leds aangesloten zijn op pinnen die opeenvolgend zijn. We kunnen die bij het KAEDU shieldje proberen door te kiezen voor 2,3,4,5,17,18 maar voor die 17 en 18 gaan we wel een kleine toevoeging moeten doen.
    De aanpassingen zijn beperkt tot het veranderen van cijfer 8 naar 19 op 24ste lijn en ook op de 31ste lijn. voor de } die de eerste for lus sluit plaats je deze extra lijnen code
    if(thisPin == 5){
    thisPin = 16;
    }

    In de tweede for lus verander je eerst het cijfer 7 door 18 en voeg je volgende code toe voor de afsluitende }
    if(thisPin == 17){
    thisPin = 6;
    }
  4. ifStatementConditionel : Dit programma zal vanaf een bepaalde analoge waarde bereikt wordt een led aanschakelen, als de waarde niet overschreden wordt dan zal de led uitschakelen. Het enige wat je moet doen is op lijn 30 het getal 13 vervangen naar 3.
  5. switchCase :
  6. switchCase2 :
  7. whileStatementConditional :
Mobiele versie afsluiten