Stap 14: Praktijk met Arduino Inputs en Outputs
In dit volgende voorbeeld combineert de knop detectie schets met de analoge LED besturingselement schets. Draad van een drukknop tot pin 7, zoals getoond in het schema van stap 10 en verbinden met een pot A0 en een LED aan pin 9, zoals weergegeven in stap 13. Vervolgens uploaden met de volgende code:
//button press detection with LED output and variable intensity int buttonPin = 7; int ledPin = 9; int potPin = A0; void setup(){ pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); Serial.begin(9600); } void loop(){ if (digitalRead(buttonPin)==HIGH){//if button pressed int analogVal = analogRead(potPin); int scaledVal = map(analogVal, 0, 1023, 0, 255); analogWrite(ledPin, scaledVal);//turn on led with intensity set by pot Serial.println("pressed"); } else { digitalWrite(ledPin, LOW);//turn off if button is not pressed Serial.println("unpressed"); } }
Deze sketch een LED af en aan afhankelijk van de toestand van de knop (ingedrukt/knopstatus) verandert, en op hetzelfde moment gebruikt de potentiometer voor het beheren van de helderheid van de LED, wanneer het in de stand "aan".