Free Joomla Templates by FatCow Coupon

Arduino Project 14 "Tweak the Arduino logo"

Hoofdcategorie: ROOT Categorie: Robotica Gepubliceerd: woensdag 30 oktober 2019
Ster inactiefSter inactiefSter inactiefSter inactiefSter inactief
 

Niveau

:

Mavo 2/3/4, Havo 2/3, VWO 2/3
Havo 4/5, VWO 3/4
VWO 5/6

Doel

:

 

Nodig

:

Links

:

 

 

Om project Arduino 14 uit te kunnen voeren, moet je via een website een extra programma installeren. De gratis versie werkt prima voor project 14. De link staat hierboven in het groen.

 

Hoe werkt de "Tweak the Arduino logo"

Op je beeldscherm verschijnt een Arduino-logo. Het gaat om deze file: https://www.arduino.cc/arduino_logo.png. Dit is een transparante file. Het logo zelf verandert niet. Het enige dat bij dit project verandert, is de achtergrondkleur. Zoals je op de afbeelding bovenaan dit artikel kunt zien: in totaal komen bij dit project 3 vensters open te staan:

  • arduino.cc, het Arduino programma
  • processing
  • het venster met Arduino-logo (dit scherm wordt gegenereerd door het programma processing)

 

De achtergrondkleur is cyaan (licht-blauw). Op je Arduino breadboard zit een potentiometer (draaiknop). Door te draaien aan deze knop, kun je de achtergrondkleur van het Arduino-logo op je beeldscherm varieren.

Er is dus sprake van een koppeling tussen je Arduino en je beeldscherm. Op zich is dat niet echt nieuw, want via de serial monitor heb je al diverse koppelingen tussen Arduino en beeldscherm gezien.

Voor mij als Arduino-starter is na het zien van het filmpje duidelijk geworden: dit verzin je niet zelf. Een potentiometer opbouwen en de waarde daarvan uitlezen via de serial monitor uitlezen... dat lukt inmiddels mischien wel. Maar hoe je een logo op je beeldscherm krijgt waarvan je de achtergrondkleur kunt variëren... dat verzin ik niet zo snel. Tuurlijk, dit begrijp ik nog wel: de waarde die je naar je serial monitor stuurt, wordt nu gebruikt om de achtergrondkleur van je afbeelding te variëren.

Dit project kun je als beginner niet zelfstandig bouwen. Dit project reikt je tools aan. Het is de bedoeling dat je dit project nabouwd, de code overneemt van het internet en vervolgens bestudeerd hoe dit werkt zodat je een volgende keer wel zelfstandig deze tools kunt toepassen. 

 

Wat is het leerdoel van project 14?

Project 14 laat je kennis maken met het programma "Processing". Daarmee reikt Arduino je een tool aan. Processing is software waarmee je digitale input kunt omvormen tot iets 'grafisch', d.w.z.: iets wat je op je beeldscherm kunt zien. Bijvoorbeeld een grafiek of zoals in dit geval slechts een kleur. Dus als je na afloop van dit project weet wat de wisselwerking tussen Arduino en processing kan opleveren, ben je volgens mij heel aardig geslaagd in de opzet. Processing is een omvangrijk programma. Ik denk dat het op dit moment niet de bedoeling dat je echt leert HOE processing werkt.

 

Hoe wordt een kleur op een beeldscherm opgebouwd?

Ueh, even uitleggen wat ik nu begrijp! Ik begrijp hoe kleuren op een beeldscherm worden opgebouwd. Een beeldscherm is opgebouwd uit duizenden rode, groene en blauwe LED's. Rood Groen Blauw afgekort is RGB.

 

Je beeldscherm is opgebouwd uit miljoenen pixels (puntjes). Elke pixel heeft zijn eigen kleur. Één pixel bestaat uit drie LED's in de kleuren Rood, Groen en Blauw die elk qua felheid van branden apart worden aangestuurd.

Hoe meer Rood, Groen en Blauw licht, hoe feller je beeldscherm. Als Rood, Groen en Blauw alle drie uit zijn, zie je een zwart beeldscherm. 

Om de drie kleuren te kunnen definieren wordt een kleurcode gebruikt. Deze kleurcode bestaat uit 6 hexadecimale getallen waarvan er telkens 2 een paartje vormen bij elkaar horen. Bijvoorbeeld FF0000 (met de getallenparen FF, 00 en 00) is een kleurcode voor Rood. Rood krijgt hier de maximale waarde FF en brandt hierdoor volop, groen en blauw krijgen hier ieder de laagste waarde '00' en blijven dus uit.

 

 R G B (R  G  B)    
000000 (00-00-00) = zwart
FFFFFF (FF-FF-FF) =   wit
111111 (11-11-11) = donker grijs
EEEEEE (EE-EE-EE) = licht grijs
FF0000 (FF-00-00) = ROOD
00FF00 (00-FF-00) = GROEN
0000FF (00-00-FF) = BLAUW
       

000000

010101

222222

6A6A6A

CCCCCC

D2D2D2

FEFEFE

FFFFFF

(00-00-00)

(01-01-01)

(22-22-22)

(6A-6A-6A)

(CC-CC-CC)

(D2-D2-D2)

(FE-FE-FE)

(FF-FF-FF)

=

van zwart

naar

donkergrijs

naar

lichtgrijs

naar wit

 

Dus... door te draaien aan de potmeter laat ik de waarde voor de kleurcode variëren tussen 000000 en FFFFFF. Op die manier kan ik alle kleuren produceren die een beeldscherm kan weergeven. Hoeveel verschillende waarden zijn dit eigenlijk? elk los cijfer staat voor 16 verschillende waarden. zo kan ik uiteindelijk 16 x 16 x 16 x 16 x 16 x 16 = 166 = 16.777.216 (bijna 17 miljoen) verschillende waarden maken. 

 

Stap 1: spiek en bouw op

Google "arduino project 14" en zoek met behulp van internet uit...

  • installeer het programma "processing" op je pc
  • hoe je de potmeter aan moet sluiten op je Arduino
  • welke programmacode je moet gebruiken
  • kopieer de juiste programmacode naar je Arduino-programma en naar Processing
  • SAVE je programma!
  • Test of alles werkt. Er moet nu een Arduino-logo op je beeldscherm verschijnenen als je aan de potmeter draait, verandert de kleur.

 

Stap 2: bekijk de serial monitor en verklaar het programma uit Arduino

 Arduino Project 14 programma

 

Stap 3: bestudeer het programma in processing

  • Zoek op internet naar een tutorial voor het programma processing en bestudeer deze
  • Google-up! Wat is "processing.serial", waar komt het vandaan en hoe werkt het?
  • Waar komt de serial input vandaan?

 

 

 

 

 


Hits: 1206

Doel

Physicsexperiments.org wil docenten, TOA's en leerlingen natuurkunde inspireren. Physicsexperiments.org is een verzameling Natuur­kunde Experimenten. Elk experiment, simpel of gecompliceerd, verdient aandacht.

Vind je mijn initiatief positief en heb je een suggesties? Graag!!! Ik sta altijd open voor nieuwe ideeën, voor verbeteringen en aanvullingen.

Je collega-TOA Lennart

 

VERANTWOORDING/DISCLAIMER:

Het is altijd uw eigen verantwoordelijkheid om veilig te werken en om risico's in te schatten. De maker van physicsexperiments kan niet aansprakelijk worden gesteld voor fouten op de website die kunnen leiden tot ongelukken.