Om zelf <Code> te schrijven heb je een idee en een plan van aanpak nodig.
probleemstelling:
Ik wil dat als ik een drukknop indruk dat de LED die brandt uitgaat en een andere LED gaat branden
In dit voorbeeld heb ik één drukknop, twéé LED-lampjes, twéé 220 Ohm weerstanden, één 10 k Ohm weerstand, draden en een Arduino UNO met een breadboard nodig.
De probleemstelling is terug te herleiden tot een 'if then else'-statement.
Vóór de void setup() moeten variabelen die gebruikt worden gedefinieerd worden.
De stand van de drukknop moet vóór de void setup() gedefinieerd worden. Hiervoor kan bijvoorbeeld de variabele switchstate gebruikt worden. Deze variabele kan met behulp van een int de waarde van een heel getal krijgen.
int switchstate = 0;
Met behulp van pinMode() wordt gedefinieerd of de desbetreffende pin een INPUT of een OUTPUT pin wordt.
De Arduino UNO moet opgezet worden om twéé LED-lampjes aan te kunnen sturen en één drukknop.
Hiervoor moeten de pinnen van de Arduino UNO gedefineerd worden als INPUT en OUTPUT.
Hiervoor wordt pinMode() gebruikt.
Omdat de LED-lampjes aangestuurd moeten worden (er stroom naar toe gaat), worden twéé pinnen als OUTPUT gedefinieerd.
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
Omdat de drukknop afgelezen moet worden (of er wel of niet stroom staat op de plek achter de schakelaar) wordt één pin gedefinieerd als INPUT.
pinMode(2, INPUT);
De pinMode() wordt gedefinieerd in de void setup() en binnen acculades geplaatst.
Met behulp van digitalWrite(); wordt wel of geen (HIGH/LOW) stroom vanaf een bepaalde pin naar een LED-lampje toegestuurd.
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
Met behulp van digitalRead(); wordt afgelezen of wel of geen stroom van de drukknop afgaat. De variabele switchstate krijgt de waarde van digitalRead() op pin 2.
switchstate = digitalRead(2);
De digitalWrite() en de digitalRead() worden gedefinieerd in de void loop() en binnen acculades geplaatst.
Stel zelf een plan van aanpak op voor het besturen van LED-lampjes. Experimenteer met de volgende functies* en statements* en definieer variabelen. Zorg ervoor dat je <code> altijd gedocumenteerd is!
if
if else
for
int
digitalRead
digitalWrite en/of AnalogWrite*
Stel een stroomschema op en gebruik de volgende symbolen:
LED
weerstand
drukknop
gebruik: leeg stroomschema [↓]
Zet het stroomschema om in een concrete bouwplaat met een schematische Arduino UNO en een schematisch breadboard.
Geef aan hoe de draden moeten lopen.
Geef aan welke weerstanden gebruikt worden.
220 Ohm = www.weerstandcalculator.nl
10 k Ohm = www.weerstandcalculator.nl
Geef aan waar de weerstanden geplaatst worden.
Geef aan of het RBG-LED-lampjes zijn.
Geef aan waar de LED-lampjes geplaatst worden.
Geef aan waar de drukknoppen geplaatst worden.
gebruik: bouwplaat[↓]
* = gebruik eventueel de onderstaande referenties.
220 Ohm = rood rood bruin goud:
StructureControl StructuresFurther Syntax
Arithmetic OperatorsComparison Operators
Boolean OperatorsPointer Access OperatorsBitwise Operators
Compound Operators
VariablesConstants
Data Types
ConversionVariable Scope & QualifiersUtilities |
FunctionsDigital I/O
Analog I/O
Due & Zero onlyAdvanced I/OTime
MathTrigonometryCharacters
Random Numbers
Bits and BytesExternal InterruptsInterruptsCommunicationUSB (32u4 based boards and Due/Zero only) |