Arduino
Doel
Voor deze opdracht was het de bedoeling om de Arduino manual opdrachten uit te voeren.
Opdracht 3c
Bij deze opdracht was het de bedoeling om de groene led twee keer zo snel te laten blinken als de gele led. Dit is gedaan door de groene led een kortere delay mee te geven nadat die is aangegaan. Op deze wijze blijft de groene led korter aan dan de gele led en blinkt die dus sneller.
Opdracht 4c
Voor deze opdracht was het doel om de ene led langzaam feller te laten worden terwijl de andere led langzaam minder fel werd. Dit is gedaan door de ene led op de hoogste felheidswaarde te laten starten en de andere led op de laagste felheidswaarde. Vervolgens gaat erbij de ene led telkens 1 waarde aan felheid vanaf en bij de andere 1 waarde aan felheid erbij. En dit weer andersom wanneer de led's hun max en min felheidswaarde hebben bereikt.
Opdracht 6c
Bij deze opdracht is ervoor gezorgd dat de ene led langzaam aangaat en de andere led langzaam uit wanneer aan de potmeter wordt gedraaid. Dit is gedaan door de waarde van de potmeter uit te lezen en deze vervolgens mee te geven aan de led's. Waarbij bij de ene led de waarde van de led al op z'n hoogst is ingesteld en vervolgens de waarde van de potmeter eraf wordt gehaald om de felheid te verminderen. De waarde van de andere led staat al op 0 en wordt vervolgens verhoogt door de waarde van de potmeter om de felheid te verhogen.
Opdracht 7
Voor deze opdracht was het de bedoeling om beide led's uit te laten gaan wanneer de lichtsensor wordt geblokkeerd. Dit is gedaan door de led's de waarde van de lichtsensor mee te geven. Om de sensor accurater te maken zijn de min en max waardes herschaald. Wanneer de lichtsensor geen licht waarneemt krijgt de sensor een waarde van 0 en geeft dit mee aan de led's die dan ook uitgaan. Wanneer de lichtsensor maximaal licht ontvangt wordt de waarde de maximaal waarde en gaan de led's volledig aan.
Opdracht 8
Voor deze opdracht was het nodig om te laten zien hoe de led's werken wanneer er twee lichtsensoren zijn aangesloten. Van te voren moest eerst worden opgesteld hoe de led's zouden werken. Dit heb ik gedaan aan de hand van een formule, de resultaten van deze formule zijn in de onderstaande afbeelding te zien. Wanner de R1 sensor donker wordt gehouden en de R2 sensor licht dan is er bijna geen output. Dit komt door de lage waarde van de donkere sensor die de waarde van de lichte sensor omlaag haalt. Wanneer R1 licht is en R2 donker is de output op z'n hoogst. De waarde van R2 is namelijk van minder grote invloed op de uiteindelijke waarde. Wanneer beide sensoren licht of donker zijn is de output gemiddeld. Dit komt, omdat beide sensoren elkaar dan deels beinvloeden. In de onderstaande video's is deze theorie in de praktijk toegepast en is te zien dat bij een R1 donker en een R2 licht de output het laagste is. Bij de R1 licht en de R2 donker is de waarde op z'n hoogst. Bij beide licht of donker is de waarde gemiddeld.
Opdracht 9b
Bij deze opdracht heb ik de processing code die gebruikt moest worden aangepast om ervoor te zorgen dat er een vierkantje wordt getoond in plaats van een rondje. De code zorgt er verder voor dat de grootte van het vierkant veranderd afhankelijk van de hoeveelheid licht die de lichtsensoren ontvangen.
Opdracht 10f
Bij deze opdracht gaat de led aan wanneer op een knop wordt gedrukt. Wanneer op beide knoppen wordt gedrukt gaat de led niet aan. Dit is gedaan aan de hand van een if else statement. Door aan te geven dat de led uit moet zijn wanneer beide knoppen zijn ingedrukt en aan moet gaan wanneer één van de twee knoppen wordt ingedrukt.
Opdracht 11b
Het doel was hierbij om een servo motor op een interessante ritmische manier te laten bewegen. Ik heb dit gedaan door de servo motor eerst een stukje te laten draaien, dan heen en weer te laten bewegen en vervolgens weer terug laten bewegen naar het beginpunt. Dit is gedaan door elke keer de variabele pos positie die gekoppeld is aan de servo motor te veranderen afhankelijk van de huidige waarde van de variabele pos. Hierbij is gebruik gemaakt van for loops.
Opdracht 12b
Bij deze opdracht was het doel om de servo motor door gebruik van twee buttons te laten bewegen. Dit is gedaan door van twee if statements gebruik te maken. Deze statements zorgen ervoor dat de servo motor een bepaalde kant opdraaid wanneer op een knop wordt gedrukt. Welke kant de servo motor opdraaid is bepaald door de variabele pos waarde telkens omhoog of omlaag te laten gaan wanneer een knop wordt ingedrukt.
Opdracht 13b
Bij deze opdracht heb ik een Piezo speaker gebruikt om geluid te maken. Het geluid wordt gemaakt door verschillende toonhoogtes achter elkaar af te spelen. Ik heb er een melodie van gemaakt door sommige geluiden een hogere of lagere toonhoogte mee te geven en soms korter of langer af te laten spelen. Achter het woord tone in de void loop wordt de speakerPin aangeroepen met daarachter de toonhoogte en daarachter de duratie van de toon. Vervolgens vindt er een delay plaats voordat de volgende tone wordt afgespeeld.