hii! i'm very new to arduino and i have a question regarding what arduino board i'll use if i want to do all of the following, this is for our research project which is about making an automated greenhouse using arduino:
control soil moisture of the soil via solenoid valve + soil moisture sensor
control a fan via humidity and temperature sensor
control a motor that can cover the greenhouse whenever it doesn't need sunlight using a timer (and also a light sensor for times that it suddenly gets dim and it doesn't hit the 6hr mark of the timer)
control it via our phones/pc
connect it to a camera
i'm not really sure what board to use, please send help, thank you so much!!
looks like you require a microcontroller with WiFi or Bluetooth
would suggest a ESP32 which has onboard WiFi, Bluetooth Classic and BLE - plenty of flash, SRAM and IO facilities - the ESP32 NodeMCU costs about £7 on Ebay in UK
Most any of the Arduinos will work. If parts like WiFi are not onboard you can get modules that will supply that function. You need to also pay attention to the voltage required for each of your sensors, with the ESP devices 3V3 in generally OK with the Nano, UNO and several of the older models 5V is OK. Before spending money get a copy of the Arduino Cookbook, skim it cover to cover then read the sections about your project, you will then be able to come up with a good answer that you can understand and implement.
That last one is, or could be, much more difficult than all the others put together. So what do you that mean, exactly?
You could mean "connect it to a digital SLR camera, which has it's own power supply/battery and SD card, to trigger it to take 1 photo every hour, to make a time-lapse movie".
Or you could mean "connect it to a camera module so that it acts as a webcam and I can see live but low-quality video on my phone from anywhere in the world".
The first is quite achievable with even the most basic Arduino models. The second is something very few Arduino models can do.
If you have WiFi in the greenhouse I suggest that you separate the camera-function to a ready to use WiFi-camera that offers moving the camera left / right up/down.
processing life-picture-data even if you only transfer one picture every second means
1920 * 1080 * 3bytes per pixel means an amount of data of 6200 kByte each second
An Arduino Uno has 2 kB of RAM an Arduino Mega has 6 kB of RAM
From these numbers you can see:
If you want to have the camera controlled from your greenhouse-control-device
you should use something like a RaspBerry Pi
or
sperating the video-camera function with a WiFi-camera where the manufacturer offers a smartphone app.
As addition even if you use a rather old and "slow" smartphone the specs of this smartphone are
smartphone: 1.000.000 kByte of RAM. (you are reading right 1 million kByte)
smartphone: processor-clockspeed 1000 MHz (Arduino uno / mega 16 MHz)
smartphone: processor works in 32 bit. (Arduinos on 8 bit)
smartphone: 16.000.000 kByte of flash-memory (Arduino Uno 32 kByte)
live-video-streaming has a much much higher datarate then everything else.
Without the video-camera almost any microcontroller starting from an Arduino-Uno will do.
You can use digital and analog IO-expanders to connect more things.
If you need to read in a lot of analog values an Arduino Mega offers a lot of ADC-inputs onboard but has no WiFi so you would need to connect a WiFi-module
An ESP32 has WiFi on board but not so much analog inputs which means to add analog-digita-converters as modules.
This seems a but easier than writing the code for an extra WiFi-module
Especially the feature controlling from smartphone/computers over WiFi (with a webinterface or using online services ) points on the ESP32.
The Arduino Uno R4 has Wifi but is very new and the pre-written software base is much smaller.
So me personal I would NOT recommend the Arduino Uno R4
You should write how many sensor you need. ?
how many soil-moisture sensors?
how many humidity / temperature sensors?
how many fans?
how many motors?
To your estimated number add 10% to 20% just to be sure.
Follow the example code that comes with the library or
run some tutorials for the hardware selected.
If you are happy with the results of the tutorials you can merge these to your project.