Add code for LED button with serial logging and "toggle" function.
This commit is contained in:
parent
30e9f7d702
commit
5a1fec4c74
@ -1,4 +1,5 @@
|
||||
{
|
||||
"port": "COM7",
|
||||
"board": "arduino:avr:uno"
|
||||
"board": "arduino:avr:uno",
|
||||
"output": "C:\\Temp"
|
||||
}
|
6
Sketches/sketch_sep27a-LEDButton/.vscode/arduino.json
vendored
Normal file
6
Sketches/sketch_sep27a-LEDButton/.vscode/arduino.json
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"board": "arduino:avr:uno",
|
||||
"port": "COM7",
|
||||
"output": "C:\\Temp",
|
||||
"sketch": "sketch_sep27a-LEDButton.ino"
|
||||
}
|
16
Sketches/sketch_sep27a-LEDButton/.vscode/c_cpp_properties.json
vendored
Normal file
16
Sketches/sketch_sep27a-LEDButton/.vscode/c_cpp_properties.json
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Win32",
|
||||
"includePath": [
|
||||
"C:\\Users\\Alex\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\**",
|
||||
"C:\\Users\\Alex\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\**"
|
||||
],
|
||||
"forcedInclude": [
|
||||
"C:\\Users\\Alex\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.6.21\\cores\\arduino\\Arduino.h"
|
||||
],
|
||||
"intelliSenseMode": "msvc-x64"
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
}
|
48
Sketches/sketch_sep27a-LEDButton/sketch_sep27a-LEDButton.ino
Normal file
48
Sketches/sketch_sep27a-LEDButton/sketch_sep27a-LEDButton.ino
Normal file
@ -0,0 +1,48 @@
|
||||
int buttonPin = 2;
|
||||
int ledPin = 13;
|
||||
|
||||
void setup()
|
||||
{
|
||||
pinMode(ledPin, OUTPUT);
|
||||
pinMode(buttonPin, INPUT);
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
int buttonState = 0;
|
||||
int lastButtonState = 0;
|
||||
int ledState = 0;
|
||||
void loop()
|
||||
{
|
||||
buttonState = digitalRead(buttonPin);
|
||||
|
||||
/**
|
||||
* "Toggle"-funksjon med LED.
|
||||
*
|
||||
* Gjør i praksis følgende:
|
||||
* - Sjekker om knappen er trykt ned og i tillegg har blitt sluppet tidligere (for å unngå blinking av LED).
|
||||
* - Dette gjøres ved å sjekke "lastButtonState"-variabelet som oppdateres senere i koden.
|
||||
* - Setter "ledState" til det omvendte (HIGH/LOW) av det det var tidligere.
|
||||
* - Serial.print av "LED state" (status).
|
||||
* - Setter LED til HIGH/LOW for å slå av/på.
|
||||
*/
|
||||
if (buttonState == HIGH && buttonState != lastButtonState) {
|
||||
ledState = ledState == HIGH ? LOW : HIGH;
|
||||
|
||||
Serial.print("LED state: ");
|
||||
Serial.println(ledState == HIGH ? "HIGH" : "LOW");
|
||||
digitalWrite(ledPin, ledState);
|
||||
}
|
||||
|
||||
/**
|
||||
* Serial.print() "button state" oppdateringer
|
||||
*
|
||||
* - Sjekker om buttonState er forskjellig fra lastButtonState.
|
||||
* - Oppdaterer lastButtonState og logger til Serial-konsoll.
|
||||
*/
|
||||
if (buttonState != lastButtonState) {
|
||||
Serial.print("Button state changed: ");
|
||||
Serial.println(buttonState == HIGH ? "HIGH" : "LOW");
|
||||
|
||||
lastButtonState = buttonState;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user