Hackster is hosting Hackster Holidays, Ep. 6: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Monday!Stream Hackster Holidays, Ep. 6 on Monday!
James Fleit
Created December 18, 2019

PetrFriend Alert Vest implementing Kemet products

Bullet proof light weight alert vest for animal safety and recovery.

IntermediateFull instructions providedOver 1 day36
PetrFriend Alert Vest implementing Kemet products

Story

Read more

Custom parts and enclosures

Hardware integration of Kemet parts

two Kemet pryro sensors and a thermal reed switch, OLED display and Arduino controller with a Redbear BTLE .

Schematics

PeterFriend schematic

Code

PeterFriend Code

Arduino
Standard Arduino code , open source licenses apply.
// delclare all  I/O
 

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// include all drivers for display

Adafruit_SSD1306 display = Adafruit_SSD1306(128, 32, &Wire);

int detector1 = 7;   //Main sensor1 of activity to alarm on
int detector2 = 4;  // Main sensor2 of activity to alarm on
int Ecold = 6;  // winter , too cold switch 
int GroveTemp = A0;    // relative degrees check
int sensorValue = 0;  // variable to store the value coming from temp


void setup() {
  
  // initialize all Parts:
  
pinMode(GroveTemp, INPUT);
  // initialize the COLD SWITCH DRIVER as an output:
  pinMode(Ecold, INPUT);
// initialize MAIN people activity SENSOR as a input:
  pinMode(detector1, INPUT);
   pinMode(detector2, INPUT);
  // initialize serial port out for testing 
 Serial.begin(9600);
  
   // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally at port
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Address 0x3C for 128x32

     // Since the buffer is intialized with an Adafruit splashscreen
  // internally, this will display the splashscreen.
  display.display();
  delay(10);

}

void loop() {
  
  // winter/summer switch omitted
 // code for always winter, check cold sw.
  if ( Ecold==LOW ){
    Serial.println("not that cold");
     // check the temp
  sensorValue = analogRead(GroveTemp);
        // cold freezing around 240 number actually
    //  <value changes due to testing temp ranges
  }
        if (sensorValue < 499 ){
          Serial.println("Normal operating tempature");
   delay(100);   
   // stablize ?
    }
    // its coldish out check the emergency cold breaker
     else {(digitalRead(Ecold) == HIGH )
            Serial.println(" ECold Switch tripped");
              //code here for display too cold alarm, 
       // Enble BTLE, SSID... trivial code
    } 
}     // check the sensors for activity
 if (digitalRead(detector1)and digitalRead(detector2)== HIGH ){
            Serial.println(" both sides activated");
            delay(1000);   // stablize ?
                   // Enble BTLE, HOMEID... trivial code
   // Clear the buffer.
  display.clearDisplay();
  display.display();
                             //  display ALARM Catch cat
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0,0);
  display.print("Catch this cat NOW: ");
display.print("DO NOT FEED THIS CAT ");
  display.print(" ");
  display.println("CALL #)#@#&%^%*");
  display.println(" HOMEID  ShadowCat ");
  display.setCursor(0,0);
  display.display();         // actually display all of the above
      delay (10000);
  // Clear the buffer.
  display.clearDisplay();
  display.display();
    }
}            // end of main

Credits

James Fleit

James Fleit

2 projects • 0 followers
80s TV, Stereo repair, VCRs just about anything with a transistor. BSEE 91 - HW Comm, 20Years IT Network Server fun. Now- All IoT build design VM-AI

Comments