The first section of the design involves calibrating the function with tension rather than gravity. To accomplish this, a bracket will be added that can attach to the load cells' activation points, whereby force will be applied.
CAD model
Printed
In this bracket design, a thread connected to a weight is placed through the bracket, which activates the load cell. The center piece represents the load cell and is only utilized for visualization and correct dimensioning.
When printed, the bracket holes required expansion via a drill and heat which allows for immediate testing
Evaluation:
The program worked effectively, in it would read measurements. However, it was extremely unreliable when either the Arduino or the wires were touched.
Here, I connected the load cell amplifier and load to an aurdiono to set the calibration value with a known 500g weight in order to test the load cell bracket and its effectiveness.
In order to correct the system's main flaw, being inaccurate or inconsistent readings, I soldered the wires together, thereby preventing minor oscillations from disrupting the current.
Since the ESP32 uses micropython it is impractical to use the google oauth work flow as without pip needed packdged cant be installed. Nonthless the remianing options can be broken down as so
SOLUTION
add a raspberry pi to handle wifi
host a VPS and use urequests to connect to it
BENIFITS
streamlines workflow(already tested)
Requries no addintional hardware
ISSUES
increases complexity - same as prevoius iteration
requries VPS(cost) demoderultiozes system(becomes reliant on outside services) can no longer be packadged as one system
Forgo Google Sheets and host a web server on the ESP32 that displays all needed data
Fully enclosed system no additional costs.
High compleixty with mutiple external tools needed
For future refrence this github repo stores all code being produced with version history
ISSEA STEAM:
This project overlapped with ISSEA steam so I took some time work on a robotics passion project
The project details can be found at this GitHub: https://github.com/Dmk45/issea-2
The project consisted of getting a raspberry pi to communicate with a vex brain so as to transmit movement information generated by an AI.
BACK ON TRACK
The ESP 32 went missing so I was forced to use an Arduino Nano RP2040 nonetheless it has more processing power and access to Arduino cloud allowing easy updates to the cloud
main github: https://github.com/Dmk45/Nanowork
here the code updates a variable on arudino cloud in order to store current temp
Due to challenges utilizing Auridno cloud and the fact that aurdino could can only display the current data recorded from the beehive, not data history in a spreadsheet format.
For this reason, I switched to MongoDB Atlas, a free database provider.
However, without Arduino cloud the nano must use simple POST requests to send data to MongoDB. The original MongoDB to solve this problem, I created a Node.js server on the free platform Railway. The server receives post requests from the nano and then uses a MongoDB driver to upload data to mongodb.