I created a new project and posted the information on Hackster.io with instructions, etc.
Harry’s Horn
16 Friday Mar 2018
Posted Projects
in16 Friday Mar 2018
Posted Projects
inI created a new project and posted the information on Hackster.io with instructions, etc.
30 Tuesday Aug 2016
Posted Projects
inCheck out my Amazon Alexa contest project posting.
https://www.hackster.io/parttimehacker/alexa-voice-alarm-clock-42ab05
25 Saturday Jun 2016
Posted Projects
inMy new project is a Internet of Things kitchen counter LED light strip. The goal was to implement a 21st century light switch using bright and energy efficient LED lights. This required the replacement the mechanical switch with a hand-motion proximity sensor for on and off. Other features include:
The ESP-01 presents a couple of problems, because it only has two GPIO ports. I needed to use the I2C bus to communicate with the OLED, which used both GPIO. So I decided to use an MCP23008 IC to handle interrupts (INPUT) and to control the MOSFET (OUTPUT). This enabled me to use I2C bus and added 8 more GPIO ports.
I used two two proximity devices on this project. The first is the PIR motion sensor. I really like the Parallax, Inc. PIR Sensor – Rev B, because it can operate on 3.3 volts and has a red LED to indicate detection of motion. The second proximity sensor is the Adafruit, VCNL4010 Proximity/Light sensor. It measures both near proximity and ambient light. The VCNL4010 uses the I2C bus to communicate data and it has a configurable interrupt signal. I used the MCP23008 to handle both interrupts – PIR and VNCL4010.
Breadboard prototype
I added a cool on/off switch from Adafruit as the final touch. The Rugged Metal On/Off Switch with Blue LED Ring – 16mm Blue On/Off looks great.
The software features included: (a) NTP time set, (b) AP mode when the ESP-01 could not connect to its predefined SSID/password, (c) defaults in EEPROM, (d) my version of the VNCL4010 library, (e) my MCP23008 library with interrupt handling, and (f) RESTful interface for the website configuration stuff.
The next step was to fit everything in a small wooden box that I would mount on the wall.
Beta version in a small wooden box
I had a lot of trouble with the VNCL4010 when it was installed in the box. I need to spend time determining how much of the PCB board needs to be exposed from a hole or mount in the box. My first attempt blinked on and off after a couple of minutes.
Below is a short video of the light working. I’m planning to move everything to an Adafruit proto-board and finding a smaller box.
Next steps in a couple of weeks.
10 Wednesday Feb 2016
Amazon, Intel, IBM and many other companies have started building Internet of Things platforms and cloud services. These services are exactly what I’ve been looking for as a way to safely and securely gain Internet access to my home automation system. I buy a lot of great products from Adafruit and discovered they have an IOT platform. Adafruit.IO is a beta version and I started experimenting with their MQTT SDK this week.
My plan was to build a standalone test bed to learn how to publish sensor data to Adafruit.IO and subscribe to switches and triggers. I built the breadboard below with an ESP-1 to handle the MQTT interface and an ATMega328 to process environment sensors and the alarms (flashing LED and loud piezo buzzer).
Power was one challenge. I needed 3.3 volts for the ESP-1 and the ATMega328 (LM1117). A 5 volt rail (7805)was needed for the MQ2 and PIR sensors. A 12 volt rail (power supply rated at 1 amp) was needed for the flashing LED and a loud piezo (not shown).
Programming two processors is an added complication but I’ve got the process down and its pretty reliable. The Arduino IDE is not state of the art but its much better than some of the development environments I used to work with in the olden days.
The photo below is my first prototype of a dashboard from Adafruit.IO
I’ve created feeds for humidity, temperature and light. The alarm button turns the flashing LED alarm light on and off pretty quickly. I’ll add gas and motion later tonight. I also want to test the trigger capability as well.
Sensors
That’s it for now and it took me only a couple of days to get it working. The Adafruit.IO forum was also helpful and support was responding almost as fast as I posted questions.
28 Monday Dec 2015
Posted Projects
inI created an interactive fireplace decoration using an ATmega328, two 8×8 Matrix LED backpacks, a 128×64 OLED, a piezo buzzer and an IR remote sensor. Basic functions include the following
I soldered one of the I2C address pads on one of the 8×8 Matrix LED to differentiate displays (0x70 and 0x71). I used an antique wooden glove box as the project box.
The video demonstrates the simple functions of this fireplace decoration.
23 Friday Oct 2015
Posted Projects
inI’ve started work on a new version of my alarm clock. I wanted to add a couple of improvements to the first version which was based on an ATMega328pu processor and NRF24 radio. This version would use an ESP-1 for both communication and standalone configuration.
Hardware features:
Software features:
The OLED can be hidden and only needed at startup to determine the status of the system and to show the IP address of the device.
A simple web form is used to (a) manually set date and time; (b) set the alarm time; (c) enable the alarm clock and (d) sound a system alarm.
The video below demonstrates the basic features using the breadboard design.
The next step is to complete the software development and move everything to a protoboard and antique box.
19 Saturday Sep 2015
Posted Projects
inI wanted to add video surveillance to my home automation project, which was a good excuse to add another Raspberry Pi to the project. I’d tried using an ATMega328 with the Pi but found it too cumbersome to write Python code and Arduino ATMega code. It worked with an I2C interface but I wanted something simpler.
The diagram below illustrates the Adafruit photo-board with all of the necessary interfaces to 5 volt and 3.3 volt devices.
Features of a Raspberry Pi 2 Surveillance project:
I enclosed the project in a plain wooden box. As you can see the cable management was a hassle with the hinge and external interfaces on the door.
All of the code is in Python. There are four main packages
I will publish the code to GitHub when I get a chance.
19 Saturday Sep 2015
Posted Projects
inContinuation of my ESP8266 DC power switch. Once I had the breadboard working I soldered the components onto an Adafruit Proto-Board and enclosed the electronics in an antique wooden box. I’ve been combining the “old” with the “new” by reusing old or antique wooden boxes as my Arduino, Raspberry Pi and ESP8266 projects.
The next version (there are always things to improve) will use a 220 Ohm resistor for the LED indicator. I will also add some type of relay for an AC version. I really like the cloths pin box which I found in an antique store in Kalispell, Montana.
The diagram depicts a modified version (new 220 Ohm resister, etc.) of the proto-board solution. I’ve also added pins to support debugging on the proto-board by providing RX, TX and GND pins from the ESP-1.
02 Wednesday Sep 2015
Posted Projects
inAnother recent project is a cat entertainment center using a combination of servo controlled mice and feathers. For the prototype I used a wooden wine case (6 pack) and inserted 1-1/2 inch tubes and servos for two mice. A slot on the side uses another servo to pop out a feather. It has been very popular with Nebbie, our six month old kitty.
Features include the following:
One of the challenges was to make it robust enough to handle abuse from the kitty while at the same time “NOT HURTING” my kitty. Nebbie has pulled out the servos several times. She also runs over to the box as soon as she hears the servos power up.
02 Wednesday Sep 2015
Posted Projects
inThis is a prototype of my battery powered PIR motion sensor unit that I have on my front porch. It has run for several months on 3 AA batteries. Larry gave me the idea to use the PIR output to drive a MOSFET power switch.
The ATMega328 and NRF24 radio are powered up by motion detected by the PIR sensor. In the setup() routine it determines which of the four outdoor sensor locations it has been installed in (front porch, back yard, etc.) by the 2 position DIP switch, configures the NRF24 radio (DIP determines mesh network parent and pipe addresses), sends a message to a mesh NRF24 router unit and then enters a null loop until it looses power (PIR goes low). I’ve used an Adafruit proto-board to build a more permanent version:
I’ve run this device for more than 3 months and it works great. My next prototype will use the same idea but replace the ATMega328 and NRF24 with an ESP-1 Wi-Fi client.