#include "led.h"
MyClass::MyClass(int pin) {
pinMode(pin, OUTPUT);
_pin = pin;
}
MyClass redLED(10);
MyClass greenLED(11);
void MyClass::myFunction(int blinkRate){
digitalWrite(_pin, HIGH);
delay(blinkRate);
digitalWrite(_pin, LOW);
delay(blinkRate);
}
//led::My_Led(pin) {
// }
class Led { // Beginn der Klassendefinition
int pinLed; // LED-Pin (Attritbute der Klasse)
bool stateLed; // Zustand der LED
public: // public: öffentliche Methoden und Attribute
Led(int pPin) { // Konstruktor (ohne void, int, etc.)
pinLed = pPin;
stateLed = false;
pinMode(pinLed, OUTPUT);
}
void toggle() { // Die Methoden können auf die Attribute zugreifen
stateLed = !stateLed;
digitalWrite(pinLed, stateLed);
}
}; // Eine Klassendefinition endet mit einem SEMIKOLON
Led ledGreen(4); // ein `Led` Objekt mit dem Namen `ledGreen` mit Pin 4
Led ledRed(5); // ein weiteres `Led` Objekt mit Pin 5
void setup() {
// bleibt leer
}
void loop() {
ledGreen.toggle(); // Methodenaufruf vom Objekt ledGreen
delay(200);
ledRed.toggle(); // Methodenaufruf vom Objekt ledGreen
delay(800);
ledGreen.toggle();
delay(200);
ledRed.toggle();
delay(800);
}