Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <RCSwitch.h>
- RCSwitch mySwitch = RCSwitch();
- int rood = 13;
- int oranje = 12;
- int groen = 11;
- int AA = 1381717;
- int AB = 1381716;
- int BA = 1394005;
- int BB = 1394004;
- int CA = 1397077;
- int CB = 1397076;
- int DA = 1397845;
- int DB = 1397844;
- int mode = 0;
- long timing = 0;
- int teller;
- void setup() {
- pinMode(rood, OUTPUT);
- pinMode(oranje, OUTPUT);
- pinMode(groen, OUTPUT);
- digitalWrite(oranje, HIGH);
- mySwitch.enableReceive(1);
- }
- void loop() {
- if(mode == 0){
- unsigned long currentMillis = millis();
- long interval = 1000;
- if(currentMillis - timing > interval) {
- timing = currentMillis;
- digitalWrite(oranje, !digitalRead(oranje));
- }
- }
- if(mode == 1){
- //enkel rood
- digitalWrite(rood, HIGH);
- digitalWrite(oranje, LOW);
- digitalWrite(groen, LOW);
- }
- if(mode == 2){
- //enkel oranje
- digitalWrite(rood, LOW);
- digitalWrite(oranje, HIGH);
- digitalWrite(groen, LOW);
- }
- if(mode == 3){
- //enkel groen
- digitalWrite(rood, LOW);
- digitalWrite(oranje, LOW);
- digitalWrite(groen, HIGH);
- }
- if(mode == 4){
- //rood aan/uit
- digitalWrite(rood, !digitalRead(rood));
- mode = -1;
- delay(500);
- }
- if(mode == 5){
- //oranje aan/uit
- digitalWrite(oranje, !digitalRead(oranje));
- mode = -1;
- delay(500);
- }
- if(mode == 9){
- //groen aan/uit
- digitalWrite(groen, !digitalRead(groen));
- mode = -1;
- delay(500);
- }
- if(mode == 7){
- unsigned long currentMillis = millis();
- long interval = analogRead(A0) + 25;
- if(currentMillis - timing > interval) {
- timing = currentMillis;
- if (teller == 0){
- digitalWrite(rood, !digitalRead(rood));
- }
- if (teller == 1){
- digitalWrite(oranje, !digitalRead(oranje));
- digitalWrite(rood, !digitalRead(rood));
- }
- if (teller == 2){
- digitalWrite(oranje , !digitalRead(oranje));
- digitalWrite(groen, !digitalRead(groen));
- }
- if (teller == 3){
- digitalWrite(groen, !digitalRead(groen));
- teller = -1;
- }
- teller++;
- }
- }
- if(mode == 8){
- if(analogRead(A4) > 36){
- teller++;
- }
- if(teller == 15){
- digitalWrite(rood, HIGH);
- digitalWrite(oranje, HIGH);
- digitalWrite(groen, HIGH);
- delay(45);
- teller = 0;
- }
- else{
- digitalWrite(rood, LOW);
- digitalWrite(oranje, LOW);
- digitalWrite(groen, LOW);
- }
- }
- if(mode == 6){
- if(analogRead(A4) > 36){
- teller++;
- }
- if(teller == 15){
- digitalWrite(rood, HIGH);
- digitalWrite(oranje, HIGH);
- digitalWrite(groen, HIGH);
- delay(60);
- teller = -50;
- }
- else if (teller < -25){
- digitalWrite(rood, LOW);
- digitalWrite(oranje, HIGH);
- digitalWrite(groen, HIGH);
- delay(6);
- teller++;
- }
- else if (teller < 0){
- digitalWrite(rood, LOW);
- digitalWrite(oranje, LOW);
- digitalWrite(groen, HIGH);
- delay(6);
- teller++;
- }
- else{
- digitalWrite(rood, LOW);
- digitalWrite(oranje, LOW);
- digitalWrite(groen, LOW);
- }
- }
- if (mySwitch.available()) {
- int value = mySwitch.getReceivedValue();
- int newMode = 0;
- if (value == AA) {
- newMode = 1;
- }
- if (value == BA) {
- newMode = 2;
- }
- if (value == CA) {
- newMode = 3;
- }
- if (value == AB) {
- newMode = 4;
- }
- if (value == BB) {
- newMode = 5;
- }
- if (value == CB) {
- newMode = 6;
- }
- if (value == DA) {
- newMode = 7;
- }
- if (value == DB) {
- newMode = 8;
- }
- if(newMode != 0 && newMode != mode){
- mode = newMode;
- if (mode == 7){
- teller = 0;
- digitalWrite(rood, LOW);
- digitalWrite(oranje, LOW);
- digitalWrite(groen, LOW);
- }
- }
- mySwitch.resetAvailable();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement