Tiny Timer (T ^ 2 för korta) (4 / 8 steg)
Steg 4: Koden
Jag älskar öppen källkod och därför...Min kod för alla att se och använda!
T ^ 2 kamera Timer
Av Carl Smith
Skapa och definiera globala variabler
int dipPins [] = {0, 1, 2}; / /, 5}; DIP-Switch Pins
stift 5 är på/av för batteriet
int transAddress;
int num;
int paus = 0;
#define cameraPin 3
void setup()
{
Serial.BEGIN(9600);
int i;
för (jag = 0; jag < = 2; i ++) {
pinMode (dipPins [i], ingång); Anger den digitala pin 2-5 som indata
digitalWrite (dipPins [i], hög); Ställ in pullup motstånd på
}
transAddress = address();
pinMode(cameraPin,OUTPUT);
Delay(100);
}
void loop()
{
NUM = address();
Switch(NUM) {
fall 0: pausa = 500, semester.
fall 1: pausa = 1000, bryta;
fall 2: pausa = 2000. bryta;
fall 3: pausa = 4000; bryta;
fall 4: pausa = 7000, bryta;
fall 5: pausa = 10000; semester.
mål 6: pausa = 15000; bryta;
fall 7: pausa = 30000; semester.
}
Serial.println (paus + "sekunder");
Serial.println(PAUSE/1000);
Camera();
Pausa = 100;
Delay(PAUSE);
Serial.println(Address());
}
Skapa adress från DIP-omkopplare (4 positioner används)
byte address() {
int i, j = 0;
Får tillståndet växlar
för (jag = 0; jag < = 2; i ++) {
j = (j << 1) | digitalRead(dipPins[i]); Läs ingångsstiftet
}
returnera j; avsändaradress
Delay(100);
}
void camera()
{
digitalWrite(cameraPin,HIGH);
Delay(45);
digitalWrite(cameraPin,LOW);
}