<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Projects%2FPantry</id>
	<title>Projects/Pantry - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Projects%2FPantry"/>
	<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Projects/Pantry&amp;action=history"/>
	<updated>2026-05-08T21:49:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://aznot.com/index.php?title=Projects/Pantry&amp;diff=1912&amp;oldid=prev</id>
		<title>Kenneth at 16:41, 10 March 2015</title>
		<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Projects/Pantry&amp;diff=1912&amp;oldid=prev"/>
		<updated>2015-03-10T16:41:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
  PANTRY LIGHT CONTROL&lt;br /&gt;
  by Kenneth Burgener (2014)&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
int blink_led = 11;    // on board LED&lt;br /&gt;
int blink_counter = 0;&lt;br /&gt;
&lt;br /&gt;
int relay_pin = 21;    // relay control pin&lt;br /&gt;
int relay_counter = 0;&lt;br /&gt;
&lt;br /&gt;
int fade_led = 12;     // the pin that the fade LED is attached to&lt;br /&gt;
int brightness = 0;    // how bright the LED is&lt;br /&gt;
int fadeAmount = 10;    // how many points to fade the LED by&lt;br /&gt;
&lt;br /&gt;
int switch_pin = 20;   // pin for door input switch&lt;br /&gt;
int switch_state = false;  // if switch is on or off&lt;br /&gt;
int switch_count = 0;&lt;br /&gt;
int switch_val = HIGH;    // variable for input pin value&lt;br /&gt;
int switch_val_last = HIGH;    // variable for input pin&amp;#039;s previous value&lt;br /&gt;
int switch_debounce = 0;  // variable for debounce&lt;br /&gt;
int switch_safety = false;&lt;br /&gt;
int switch_off_delay = false;&lt;br /&gt;
&lt;br /&gt;
int SECONDS = 10;  // 10 * 100 ms delay&lt;br /&gt;
int MINUTES = 60 * SECONDS;  // 10 * 100 ms delay&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(blink_led, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(fade_led, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(relay_pin, OUTPUT);&lt;br /&gt;
  digitalWrite(relay_pin, LOW);&lt;br /&gt;
&lt;br /&gt;
  pinMode(switch_pin, INPUT);&lt;br /&gt;
  digitalWrite(switch_pin, HIGH);  // turn on pullup resistors&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  /** SWITCH **/&lt;br /&gt;
  /** SWITCH **/&lt;br /&gt;
  /** SWITCH **/&lt;br /&gt;
&lt;br /&gt;
  // read switch state&lt;br /&gt;
  if (switch_debounce == 0) {&lt;br /&gt;
    switch_val_last = switch_val;&lt;br /&gt;
    switch_val = digitalRead(switch_pin);&lt;br /&gt;
    if (switch_val != switch_val_last) {&lt;br /&gt;
      switch_debounce = 5;&lt;br /&gt;
    }&lt;br /&gt;
    if (switch_val == LOW) {&lt;br /&gt;
      digitalWrite(blink_led, HIGH);&lt;br /&gt;
    } else {&lt;br /&gt;
      digitalWrite(blink_led, LOW);&lt;br /&gt;
    }&lt;br /&gt;
  } else {&lt;br /&gt;
    switch_debounce--;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  /** RELAY **/&lt;br /&gt;
  /** RELAY **/&lt;br /&gt;
  /** RELAY **/&lt;br /&gt;
&lt;br /&gt;
  // of switch state change&lt;br /&gt;
  if (switch_debounce != 0 &amp;amp;&amp;amp; switch_val != switch_val_last) {&lt;br /&gt;
    if (switch_val == LOW) {  // switch on&lt;br /&gt;
      switch_state = true;&lt;br /&gt;
      switch_count = 0;&lt;br /&gt;
    } else {  // switch off&lt;br /&gt;
      switch_state = false;&lt;br /&gt;
      switch_safety = false;&lt;br /&gt;
      if (switch_safety == false) {&lt;br /&gt;
        switch_off_delay = true;&lt;br /&gt;
      }&lt;br /&gt;
      switch_count = 0;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // switch on state and safety&lt;br /&gt;
  if (switch_state == true &amp;amp;&amp;amp; switch_safety == false) {&lt;br /&gt;
    switch_count++;&lt;br /&gt;
    if (switch_count == 1) {&lt;br /&gt;
      digitalWrite(relay_pin, HIGH);&lt;br /&gt;
    }&lt;br /&gt;
    if (switch_count == 300 * SECONDS) { // 5 MINUTES WARNING&lt;br /&gt;
      // warning off&lt;br /&gt;
      digitalWrite(relay_pin, LOW);&lt;br /&gt;
    }&lt;br /&gt;
    if (switch_count == 301 * SECONDS) { // 5 MINUTE WARNING&lt;br /&gt;
      // warning on&lt;br /&gt;
      digitalWrite(relay_pin, HIGH);&lt;br /&gt;
    }&lt;br /&gt;
    if (switch_count == 330 * SECONDS) { // 5 MINUTE 30 SECOND SAFETY SHUTOFF&lt;br /&gt;
      // safety off&lt;br /&gt;
      digitalWrite(relay_pin, LOW);&lt;br /&gt;
      switch_state = false;&lt;br /&gt;
      switch_count = 0;&lt;br /&gt;
      switch_safety = true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // reset safety&lt;br /&gt;
  if (switch_safety == true &amp;amp;&amp;amp; switch_val == HIGH) {  // switch off&lt;br /&gt;
    switch_safety = false;&lt;br /&gt;
    switch_count = 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // switch off state and delay&lt;br /&gt;
  if (switch_state == false &amp;amp;&amp;amp; switch_off_delay == true) {&lt;br /&gt;
    switch_count++;&lt;br /&gt;
    if (switch_count == 10 * SECONDS) { // 10 SECOND WARNING&lt;br /&gt;
      // warning off&lt;br /&gt;
      digitalWrite(relay_pin, LOW);&lt;br /&gt;
    }&lt;br /&gt;
    if (switch_count == 11 * SECONDS) { // 10 SECOND WARNING&lt;br /&gt;
      // warning on&lt;br /&gt;
      digitalWrite(relay_pin, HIGH);&lt;br /&gt;
    }&lt;br /&gt;
    if (switch_count == 15 * SECONDS) { // 15 SECOND SHUTOFF&lt;br /&gt;
      digitalWrite(relay_pin, LOW);&lt;br /&gt;
      switch_count = 0;&lt;br /&gt;
      switch_off_delay = false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  /** BLINK LED **/&lt;br /&gt;
  /** BLINK LED **/&lt;br /&gt;
  /** BLINK LED **/&lt;br /&gt;
/*&lt;br /&gt;
  blink_counter++;&lt;br /&gt;
  if (blink_counter &amp;gt;= 4 * SECONDS) {&lt;br /&gt;
    blink_counter = 0;&lt;br /&gt;
  }&lt;br /&gt;
  if (blink_counter == 0) {&lt;br /&gt;
    digitalWrite(blink_led, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  if (blink_counter == 2 * SECONDS) {&lt;br /&gt;
    digitalWrite(blink_led, LOW);&lt;br /&gt;
  }&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
  /** FADE LED **/&lt;br /&gt;
  /** FADE LED **/&lt;br /&gt;
  /** FADE LED **/&lt;br /&gt;
&lt;br /&gt;
  // set the brightness&lt;br /&gt;
  analogWrite(fade_led, brightness);&lt;br /&gt;
  // change the brightness for next time through the loop:&lt;br /&gt;
  brightness = brightness + fadeAmount;&lt;br /&gt;
  // reverse the direction of the fading at the ends of the fade:&lt;br /&gt;
  if (brightness == 0 || brightness == 150) {&lt;br /&gt;
    fadeAmount = -fadeAmount ;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  /** LOOP DELAY **/&lt;br /&gt;
  /** LOOP DELAY **/&lt;br /&gt;
  /** LOOP DELAY **/&lt;br /&gt;
 &lt;br /&gt;
  // wait for 100 milliseconds per cycle&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%temp%\build3678427800310146579.tmp\sketch_mar09b.cpp&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#line 1 &amp;quot;sketch_mar09b.ino&amp;quot;&lt;br /&gt;
#include &amp;quot;Arduino.h&amp;quot;&lt;br /&gt;
void setup();&lt;br /&gt;
void loop();&lt;br /&gt;
#line 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
	</entry>
</feed>