August 12, 2023 – Started working on it off and on this month
Hardware added:
- Everything is powered by single 12v barrel jack
- Fixed broken barrel jack
- Fixed broken 555 timer caused by faulty barrel jack
- Fixed broken MOSFET caused by faulty barrel jack
- Added relay (5v rail)
- Added RGB LED (only 3.3v direct from ESP32 so far)
- Added mister to relay (mister power 12v MOSFET 118khz circuit)
- Added water pump to relay (pump power 5v rail)
- Added fan control but circuit not sustainable yet (fan off L293D and 5v rail)
- Heat issues
- Occasional power spikes overloading buck converter causing 5v rail reboot
Hardware to order:
- more MOSFETs – RFP30N06LE or better for 3.3v gate/esp32 logic
- to help replace 4-channel relay (making everything silent)
- to have replacements for atomizer MOSFET
- motor drivers – L293D & L293D or better circuits
- only have one L293D chip
- solve heat issue on L293D or get larger
- PIEZO discs – 118khz resonant
- only 2 left
Code added:
- Custom location input through websocket website server
- All US zipcodes supported
- Updates on custom set 30s timer and on every websocket event
- Changed delay() to millis() in loop
- Added sliders to hardware values
- Let websocket handle multiple messages
- assigns messages a number and completes different task based on number. efficient?
- Added to json export of current variable values shared with websocket
- Started adding override buttons to website and logic
- Hardware will default to following live weather at current zip, override will allow custom hardware control.
- Working on mapping time of day to LED intensity/color
- Mapped wind to fan using 8.5x multiplier, mph to 8-bit 255
- Should multiplier be variable based on region?
To add:
- custom location anywhere in world
- Stick to zipcode support and add toggle for country?
- Use other API where it recognizes city name? This may be best with addition of country dropdown list
- Too many global variables?
- Clean up override buttons and make inputs update values first time always
- Speed up user websocket inputs?
- API pull from internet is probably slowest
- JSON export of global variables to websocket slow?
- iOS app connecting to websocket
- Bluetooth setup to change Wifi user/pass
- Add wind multiplier custom input
- Map mist to weather
- Map pump to weather
- Finish mapping light to weather
- Use time of day/ sun location as well as weather (overcast vs clear). Color as well.
- Add motion sensor to allow for OLED to go to sleep
- Check DHT sensor bug stopping display from updating (referenced in Log 2)
- Permanent test housing for components and breadboard
- Work towards custom breadboard and soldering everything
- Make everything more efficient / stress test