Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <OneButton.h>
- #include <OneButton.h>
- #define LEDrot 3
- #define LEDgruen 5
- #define LEDblau 6
- #define Taster 8
- int TasterZustand = 1;
- OneButton Taster1(Taster, false);
- void setup()
- {
- pinMode(LEDblau, OUTPUT);
- pinMode(LEDgruen, OUTPUT);
- pinMode(LEDrot, OUTPUT);
- pinMode(Taster, INPUT);
- Taster1.attachClick(Ein_Click);
- }
- void loop()
- {
- Taster1.tick();
- switch (TasterZustand)
- {
- case 1:
- Rot();
- break;
- case 2:
- Gruen();
- break;
- case 3:
- Blau();
- break;
- case 4:
- Orange();
- break;
- case 5:
- Pink();
- break;
- case 6:
- Weiss();
- break;
- case 7:
- TestFarbe();
- break;
- case 8:
- FarbWechsel();
- break;
- case 9:
- LichtAus();
- break;
- default:
- break;
- }
- }
- void Ein_Click()
- {
- TasterZustand++;
- if (TasterZustand > 9)
- {
- TasterZustand = 1;
- }
- }
- void Rot()
- {
- analogWrite(LEDrot, 255);
- analogWrite(LEDgruen, 0);
- analogWrite(LEDblau, 0);
- }
- void Gruen()
- {
- analogWrite(LEDrot, 0);
- analogWrite(LEDgruen, 255);
- analogWrite(LEDblau, 0);
- }
- void Blau()
- {
- analogWrite(LEDrot, 0);
- analogWrite(LEDgruen, 0);
- analogWrite(LEDblau, 255);
- }
- void Orange()
- {
- analogWrite(LEDrot, 255);
- analogWrite(LEDgruen, 180);
- analogWrite(LEDblau, 0);
- }
- void Pink()
- {
- analogWrite(LEDrot, 255);
- analogWrite(LEDgruen, 0);
- analogWrite(LEDblau, 255);
- }
- void Weiss()
- {
- analogWrite(LEDrot, 255);
- analogWrite(LEDgruen, 255);
- analogWrite(LEDblau, 255);
- }
- void TestFarbe()
- {
- analogWrite(LEDrot, 0);
- analogWrite(LEDgruen, 100);
- analogWrite(LEDblau, 125);
- }
- void FarbWechsel()
- {
- while (TasterZustand == 8)
- {
- //rot zu gruen
- for (int i = 0; i < 255; i++)
- {
- analogWrite(LEDrot, 255 - i);
- analogWrite(LEDgruen, i);
- analogWrite(LEDblau, 0);
- Taster1.tick();
- if (TasterZustand != 8)
- {
- return;
- }
- delay(50);
- }
- //gruen zu blau
- for (int i = 0; i < 255; i++)
- {
- analogWrite(LEDrot, 0);
- analogWrite(LEDgruen, 255- i);
- analogWrite(LEDblau, i);
- Taster1.tick();
- if (TasterZustand != 8)
- {
- return;
- }
- delay(50);
- }
- //blau zu rot
- for (int i = 0; i < 255; i++)
- {
- analogWrite(LEDrot, i);
- analogWrite(LEDgruen, 0);
- analogWrite(LEDblau, 255 - i);
- Taster1.tick();
- if (TasterZustand != 8)
- {
- return;
- }
- delay(50);
- }
- }
- }
- void LichtAus()
- {
- analogWrite(LEDrot, 0);
- analogWrite(LEDgruen, 0);
- analogWrite(LEDblau, 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement