Door Sign Lab Office Workshop
by JeannvanRooyen in Circuits > Electronics
1214 Views, 10 Favorites, 0 Comments
Door Sign Lab Office Workshop
The Need:
I wanted to create a door sign which I can control via Bluetooth, or WIFI.
Safety First
Lasers, 3D Printers and soldering, etching, chemicals and other dangers
I regularly have a laser cutter or engraving machine, 3D printer or other dangerous machines running in my laboratory which could damage unsuspecting entrants.
I am also regularly on video conferences while these machines are running, and not always aware when someone enters the laboratory to warn them or ensure their safety.
I also do require some coffee from time to time. This sign will warn entrants if I am busy with laser work - and inform them to put on eye protection before entering - or that I am in a call, and wish not to be disturbed, except with coffee.
Notes on Parts and Equipment
WeMos D1 R32 ESP32 Based:
I opted for the ESP32 based board which requires zero external breakouts for Bluetooth or WIFI, but if you are familiar with Arduino boards - this is a simple project to port and use with an ESP breakout.
During the design, I have used ESP32 based dev boards of various brands and types, none gave me any issues. If you cannot find the specific one - use a ESP32 Dev Module or similar. Most should be compatible.
I just used this one cause it had 2 x 5v pins and a 3v for the display. This required no voltage regulation or additional PCBs or breakouts.
Passive Infrared Sensor:
Regarding the PIR module - this is to let me know someone is on the other side of the door - so no one can sneak up on me.
WS2812B RGB Led Strip:
The LED strip is for emphasis on the situation. When dangerous equipment are running - the LCD display may be overlooked. So the LED strip draws attention to ensure the LCD is read. I used 6 WS2812B LEDs, but you can use your own, individuals or upgrade the entire LCD to a bright TFT display and do away with the need for the LED strips...
Supplies
- WeMos D1 R32 ESP32 Board
- LCD 1602 I2C 16x2 Character Display (3V)
- WS2812B RGB Led Strip (5V)
- HC-SR501 PIR Motion Sensor (5V)
- 8 X M3x10 self-tapper wood screws
Updates
Updated:
- PIR is now utilized...
- Auto dimming based on movement sensed
- Bug fixes in loops
- Better serial command protocol handling
- Feedback to the controlling Bluetooth device regarding motion
Updates coming soon:
Add On:
- Audible or visual indicator on inside of door - showing motion...
I will also try to:
- Provide a web interface for control via WIFI
Provide a section on a Windows Desktop application for control:
- Via TCP/IP / UDP and/or
- Via Serial Communication (using Bluetooth connection)
Connections Diagram
- Ensure you connect all GND connections first. There should be enough on these boards...
- The WeMos has a 3V pin - I spared for my white on black low current LCD. VCC for the LCD display to 3V then. Ensure your display is rated for 3V and within the current ratings of the board
- VCC for the PIR HC-SR501 and the V5 for the 6 RGB LEDs to the separate 5V pins. If you use another board, or LED strip - ensure you are within the current limits of the board used - otherwise use a simple external 5V supply and/or a voltage regulator circuit / power supply circuit
- For the LCD - simple I2C connections follow - connect the SDA > SDA and SCL > SCL
- For the data line called DIN on the LED strips - I used GIOP16
- For the PIR OUT or "Trigger" - I used GIOP17
Code Overview
IDE: Arduino 1.8
Libraries Used:
LCD_I2C
https://github.com/blackhack/LCD_I2C
But any I2C LCD library will do fine - just compensate. Even some TFT libraries have support...
BluetoothSerial.h
I believe this is a native library - that is installed as part of ESP32 support libraries
FastLED.h
https://github.com/FastLED/FastLED
Recognition and Gratitude to the open source communities and MIT guys - always sharing their libraries and hard work... almost, for free? I think? Anyways - thank you and a big shout-out to all those guys.. I cannot thank all the contributors enough! Please visit their pages and support you local opensource stall... Opensource I always say was invented because the the people who has a good use for it can't afford it, and the people who can afford it won't know how to use it...
See attached file for my Programmer Settings. I still used the ESP Dev Module as my board's settings in the IDE - just note the crystal frequency may vary.
Bluetooth
Bluetooth 2 Serial
Android
I use the following app for my Android devices to communicate serially with the ESP32:
https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal&hl=en_ZA&gl=US
Please consider supporting any of these - visit their pages, and a shout out to them for their awesome work. If I had to write a native Android app to handle Bluetooth and Serial - I would've charged a million dollars... so, big shout out!
The app allows you to configure a "macro button bar" with the pre-defined commands. So you don't have to look like Mr. Roboto when trying to ask for privacy. But you totally can... I don't judge.
Desktop
I use Termite by https://www.compuphase.com/ for testing.
The Bluetooth command received is parsed in a simple command protocol. There are 3 different information commands:
Serial Commands
S - Status
- S0 : Closed
- S1 : Silence Please: In Meeting...
- S2 : Focusing: Achieving flow
- S3 : Meditating: Enlightening
- S4 : Relaxing: Hobbies
- S5 : Music and Chilling...
- S6 : Open
W - Warnings and Danger
- W0 : No warning or danger
- W1 : WARNING: Laser On!
- W2 : WARNING: 3D Printing
C - Coffee
- C0 : Coffee is still at acceptable levels...
- C1 : Coffee Please! (I don't know why I must even ask)
R - Reset
- R0 : Sets S0, W0 and C0
- R1 : Sets S6, W0 and C0
Any combination of a S, W and C command is valid. And the sign will show them accordingly...
Downloads
Enclosure
I designed a simple box and faceplate as the enclosure... included the STL files for your convenience.
Future Updates, WIFI and PIR Feedback
I will be adding functionality to either allow a web interface, or some other Bluetooth feedback regarding PIR motion sensed, with control. For now - it is there though, you can customize it yourself or leave it out.
Final Thoughts
Why I started publishing again...
Yes, that is a custom designed and built, Co2 laser cut, internally amplified, 5-band graphically equalized, Bluetooth enabled, JBL 800W RMS (maybe a bit more) duel floor standing speaker system in the background... Version 1. I never documented the process, and I reworked it so many times - I will share the next one I promise. The interest on YouTube proved I should've done the build documented... I have a new idea - which I will document that time and publish as a future project...