|
|
- #define FET 8
- #define testFET 0
-
- #define SWLIGHT 10
- #define SWREED 11
-
- #define LED 13
-
- //Switches on Pins 10, and 11
- //Switch 10, is light switch. Ground when switch is up (ON).
- //Switch 11, is magnet reed switch, Ground when door is closed.
-
- uint8_t SWLIGHTvar = 0;
- uint8_t SWREEDvar = 0;
-
- void setup() {
- pinMode(FET, OUTPUT);
- pinMode(SWLIGHT, INPUT);
- pinMode(SWREED, INPUT);
-
- pinMode(LED, OUTPUT);
- }
-
- void loop() {
- //test the fet
- /* while(1){
- digitalWrite(FET, HIGH); // turn the LED on (HIGH is the voltage level)
- delay(100); // wait for a second
- digitalWrite(FET, LOW); // turn the LED off by making the voltage LOW
- delay(1000); // wait for a second
- }*/
-
-
- /* OUTLINE */
- //Read light switch, read magnet switch
- //if light switch is 5v, do nothing, wait 3 seconds
- //if light switch is gnd, continue
- //if reed switch is gnd, do nothing, wait 100 ms
- //if reed switch is high, continue
- //ring bell, sleep for 10 seconds
-
-
-
- SWLIGHTvar = digitalRead(SWLIGHT);
- SWREEDvar = digitalRead(SWREED);
-
-
- //Use onboard LED to monitor whether magnet reed is synced or not
- if(SWREEDvar == 1){
- digitalWrite(LED, 1); //magnet not connected to reed
- }
- else{
- digitalWrite(LED, 0); //magnet connected
- }
-
- //trigger FET and Actuator
- if(SWLIGHTvar == 0){
- if(SWREEDvar == 1){
- digitalWrite(FET, 1); // turn on (HIGH is the voltage level)
- delay(80); // wait
- digitalWrite(FET, 0); // turn off by making the voltage LOW
- delay(15000); // wait for 15 seconds
- }
- goto breakout;
- }
-
- //if light switch is 5v, do nothing, wait 3 seconds
- delay(3000);
- breakout:
- delay(100);
-
-
-
- }
|