Presun starych
[mirrors/Programs.git] / arduino / exit-rum / exit-rum.ino
diff --git a/arduino/exit-rum/exit-rum.ino b/arduino/exit-rum/exit-rum.ino
deleted file mode 100644 (file)
index bffa260..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Exit Rum
- * (c) Tomas 'Harvie' Mudrunka 2016
- */
-
-#include <Wire.h> 
-#include <LiquidCrystal_I2C.h>
-#include <TM1637Display.h>
-
-#define TIMEOUT 300
-#define BEEP_FREQ 3000
-#define BEEP_LEN 50
-
-#define P_NASLAP 12
-#define P_PIEZO 35
-#define P_RELAY_1 9
-#define P_RELAY_2 8
-#define P_LEDSEG_CLK 2
-#define P_LEDSEG_DIO 3
-#define P_LEDSTRIP 11
-
-TM1637Display display(P_LEDSEG_CLK, P_LEDSEG_DIO);
-LiquidCrystal_I2C lcd(0x3F, 16, 2); //i2c addr, chars, lines
-
-#define JBASE 38
-#define JCOUNT 16
-
-#define J_A 0
-#define J_B 2
-#define J_C 4
-#define J_D 6
-#define J_E 8
-#define J_F 10
-#define J_G 12
-#define J_H 14
-#define J_1 1
-#define J_2 3
-#define J_3 5
-#define J_4 7
-#define J_5 9
-#define J_6 11
-#define J_7 13
-#define J_8 15
-
-boolean jumpers_read[JCOUNT][JCOUNT] = {0}, jumpers_secret[JCOUNT][JCOUNT] = {0};
-
-void jumper_store(int a, int b, boolean c) {
-  jumpers_secret[min(a,b)][max(a,b)]=c;
-}
-
-void sound(char sndpin, float freq, float duration) { //Play bit-bang sound
-  if(duration<=0) return; if(freq<=0) { delay(duration); return; }
-  freq=((1000000/2)/freq); //Convert freq to delay (us)
-  duration*=1000; //Convert duration to us
-  pinMode(sndpin, OUTPUT);
-  for(;duration>0;duration-=2*freq) {
-    digitalWrite(sndpin, HIGH); delayMicroseconds(freq);
-    digitalWrite(sndpin, LOW);  delayMicroseconds(freq);
-  }
-  pinMode(sndpin, INPUT); //Close pin to avoid noise (optional)
-}
-
-int check_jumpers() {
-  int i, j, check = 0, fail = 0;
-  
-  for(i=0;i<JCOUNT;i++) {
-    pinMode(JBASE+i, OUTPUT);
-    digitalWrite(JBASE+i, LOW);
-    for(j=0;j<JCOUNT;j++) if(i<j) {
-      pinMode(JBASE+j, INPUT_PULLUP);
-      jumpers_read[i][j] = !digitalRead(JBASE+j);
-      if(jumpers_read[i][j]) {
-        check++;
-        Serial.print(JBASE+i, DEC);
-        Serial.print("->");
-        Serial.print(JBASE+j, DEC);
-        if(jumpers_secret[i][j]) {
-          Serial.print("!");
-        } else {
-          fail++;
-        }
-        Serial.print(", ");
-      }
-    }
-    pinMode(JBASE+i, INPUT_PULLUP);
-  }
-  Serial.println();
-  check = fail ? -check : check;
-  Serial.println(check, DEC);
-  return check;
-}
-
-void setup() {
-  jumper_store(J_A, J_5, true);
-  jumper_store(J_B, J_4, true);
-  jumper_store(J_C, J_7, true);
-  jumper_store(J_D, J_2, true);
-  jumper_store(J_E, J_6, true);
-  jumper_store(J_F, J_8, true);
-  jumper_store(J_G, J_1, true);
-  jumper_store(J_H, J_3, true);
-
-  pinMode(P_NASLAP, INPUT_PULLUP);
-  pinMode(P_RELAY_1, OUTPUT);
-  pinMode(P_RELAY_2, OUTPUT);
-  pinMode(P_LEDSTRIP, OUTPUT);
-
-  Serial.begin(9600);
-  lcd.begin();
-}
-
-#define seconds_display(seconds) ((((seconds)/60)*100)+((seconds)%60))
-
-// the loop function runs over and over again forever
-void loop() {
-  Serial.println("Inicializace systemu...");
-
-  lcd.backlight();
-  lcd.clear();
-  lcd.print(" (c) SPOJE.NET");
-  lcd.setCursor(0,1);
-  lcd.print("Tomas@MudrunkaCZ");
-
-  display.setBrightness(0x0f);
-  display.setColon(true);
-  display.showNumberDec(2323);
-
-  delay(5000);
-
-  lcd.noDisplay();
-  lcd.noBacklight();
-  display.setBrightness(0x00);
-
-  display.setBrightness(0);
-  display.showNumberDec(0);
-
-  analogWrite(P_LEDSTRIP, 0);
-  digitalWrite(P_RELAY_1, HIGH);
-  digitalWrite(P_RELAY_2, HIGH);
-
-  sound(P_PIEZO, BEEP_FREQ, BEEP_LEN);
-  delay(BEEP_LEN);
-  sound(P_PIEZO, BEEP_FREQ, BEEP_LEN);
-  Serial.println("Cekam na aktivaci...");
-  while(digitalRead(P_NASLAP));
-
-  Serial.println("Sekvence aktivovana!");
-
-  display.setBrightness(0x0f);
-  for(int i=0;i<70;i++) {
-    sound(P_PIEZO, random(500,10000), random(10,100));
-    display.showNumberDec(random(1000,9999));
-    analogWrite(P_LEDSTRIP, random(0,255));
-  }
-  sound(P_PIEZO, BEEP_FREQ, 2000);
-
-  Serial.println("Odpocet aktivovan!");
-  int timer = TIMEOUT;
-  while(check_jumpers() != 8) {
-    Serial.print("Zbyva: ");
-    Serial.print(timer, DEC);
-    Serial.println(" sekund");
-    if(timer <= 0) {
-      digitalWrite(P_RELAY_1, LOW);
-    }
-    display.setColon(timer%2);
-    display.showNumberDec(seconds_display(timer));
-    analogWrite(P_LEDSTRIP, map(timer%5, 0, 4, 255, 10));
-    digitalWrite(P_RELAY_2, timer%2);
-    if(timer>0) {
-      timer--;
-      sound(P_PIEZO, BEEP_FREQ, BEEP_LEN);
-      delay(1000-BEEP_LEN);
-    } else {
-      analogWrite(P_LEDSTRIP, random(0,255));
-      sound(P_PIEZO, random(500,10000), random(100,1000));
-    }
-  }
-
-  Serial.println("Odpocet zastaven.");
-  display.setColon(true);
-  display.showNumberDec(seconds_display(timer));
-  analogWrite(P_LEDSTRIP, 0);
-  digitalWrite(P_RELAY_1, HIGH);
-      
-  //Muhammad Ismáil Árifi
-  lcd.clear();
-  lcd.print("  Muhammad");
-  lcd.setCursor(0,1);
-  lcd.print("  Ismail Arifi");
-  lcd.backlight();
-  lcd.display();
-
-  Serial.println("Cekam na reset...");
-  //while(digitalRead(P_NASLAP));
-  while(check_jumpers() != 0) delay(1000);
-}
This page took 0.162689 seconds and 4 git commands to generate.