I would like to create a small greenhouse for my bachelor's project. My supervising professor provided me with an Arduino Uno R3 board and a NodeMCU V3 board with integrated Wi-Fi. My question is, which one should I use? It's worth noting that I am using two analog sensors. However, due to the NodeMCU V3 having only one analog pin, I plan to use a 4-channel relay (which I already have) to switch between sensors sequentially, along with two digital output sensors. The entire system will be powered by a 12V DC source with two voltage outputs. I have attached a voltage regulator to one of them, setting it to 5V DC. I intend to send plant growth data to a database, and I believe the NodeMCU V3 with integrated Wi-Fi and greater computing power (as I want to implement a regulator for the water pump) would be more beneficial. However, I'm still unsure whether NodeMCU V3 or Arduino would be more suitable. Any opinions?
if that needs to happen over WiFi then sure... the UNO R3 alone won't do WiFi. (the code for the regulator is likely easy enough that it would fit on a UNO)
The computational power of the Arduino Uno R3 is more than sufficient for reading in 10 sensors and driving 10 outputs.
Is wireless data-transmission a part of the project?
Then I would prefer the ESP8266-nodeMCU.
For reading in more than a single ADC-channel you can use ADC-modules with I2C-interface.
There are libraries for this ready to use. Like the ADS1115 has 4 channels so no relays required to switch between sensors. And as it has an I2C-interface you can add more ADS1115 to the I2C-Bus.
It will be easier to write code to aquire measurements of an ADS115 directly into an ESP8266-nodeMCU than data-exchange between an arduino and an ESP8266.
Summary: the ESP8266-nodeMCU means you write only code for one microcontroller
If you are allowed to switch to a similar microcontroller I recommend using an ESP32-S2 or ESP32-S3 not an ESP32-C3
The C3 is has a new and complete different processor for which there are much less libraries available because this type is pretty new.
So take a ESP32-S2 or ESP32-S3.
You yourself has written
Which is not really a precise description of the board.
In the meantime you have even ESP32-nodeMCU-boards.
If you post a picture of how the board looks like this can be determined.
best regards Stefan
So, it's a WiFi CH340 NodeMcu V3 Lua ESP8266. Second, the sensors are: a DHT-22 AM2302, a flow meter sensor YF-S401, a Capacitive Soil Moisture Sensor V2.0, and a water level sensor HW038.
The relay module is next in the image:
You should provide datasheets for all sensors and the relaybaord.
If you don't have them yet look up new where you have bought them.
If you haven't bought them yourself google with the name and the type number
If you can't get the datasheet for the relayboard you will have to measure what minimum voltage which is nescessary to make the relays switch reliably.
It might be that the relay-inputs require 5V.
If you want to use the ESP8266 which is a 3.3V device you will have to insert a small transistor to provide the 5V for driving the relay-inputs.
This is the reason why the datasheets are so important. Beeing able to look up the technical specifications of each component.
Yes, all of the sensors and the rest of the component works at a 5V DC, so if you are right, I need to find a solution to make the out out voltage of the digital lins higher
Option 1: ESP8266 stand-alone some work on hardwae for voltage-level-shifting.
There is a chip called SN74HCT125 which is a Quadruple Bus Buffer Gates
These chips can drive up to 30 mA
Switching to HIGH as soon as the input voltage goes above 2.0V
.
.
Option2: Using Arduino in combination with ESP8266 means
writing code for data-exchanging and writing code for datasend and data-receive for two microcontrollers