Difference between revisions of "DIY-MedTech Arduino Basics - Team Tamberg"

From Hackteria Wiki
Jump to: navigation, search
(Vertiefung: LED schlauer schalten)
(Vertiefung: LED schlauer schalten)
Line 15: Line 15:
 
===Vertiefung: LED schlauer schalten===
 
===Vertiefung: LED schlauer schalten===
 
Wie kann man eine LED Lampe so schalten, dass sie beim ersten Knopfdruck an geht, und beim nächsten wieder aus?
 
Wie kann man eine LED Lampe so schalten, dass sie beim ersten Knopfdruck an geht, und beim nächsten wieder aus?
 +
 +
[File:LEDSwitchStateMachine.jpg]
 
<pre>
 
<pre>
 
int switchPin = 2;
 
int switchPin = 2;

Revision as of 10:49, 14 February 2018

Arduino Basics mit @tamberg im Rahmen von Medizintechnik DIY

Arduino Tutorial

http://www.tamberg.org/chopen/2017/LoRaWANIoTWorkshop.pdf

  • Arduino Programmierumgebung (IDE) einrichten p.12, 13
  • Text schicken (Serial Output) vom Arduino zum Computer p.16, 17
  • LED blinken (Digital Output), p.24, 25
  • Schalter lesen (Digital Input), p.27, 28
  • LED schalten, p.29
  • Licht messen (Analog Input), p.31, 32
  • Servo steuern (PWM Output), p.36, 37
  • Servo mit Licht steuern, p.38

Vertiefung: LED schlauer schalten

Wie kann man eine LED Lampe so schalten, dass sie beim ersten Knopfdruck an geht, und beim nächsten wieder aus?

[File:LEDSwitchStateMachine.jpg]

int switchPin = 2;
int ledPin = 13;
int state = 0;

void setup () {
    Serial.begin(9600);
    pinMode(switchPin, INPUT);
    pinMode(ledPin, OUTPUT);
}

void loop () {
    int switchValue = digitalRead(switchPin);
    Serial.println(state);
    if ((state == 0) && (switchValue == HIGH)) {
        state = 1;
    } else if ((state == 1) && (switchValue == LOW)) {
        digitalWrite(ledPin, HIGH);
        state = 2;
    } else if ((state == 2) && (switchValue == HIGH)) {
        state = 3;
    } else if ((state == 3) && (switchValue == LOW)) {
        digitalWrite(ledPin, LOW);
        state = 0;
    }
}