List of Materials:
- MKR1000 with Headers(controller) – https://store.arduino.cc/usa/arduino-mkr1000-with-headers-mounted
- MKR RS485 Shield(RS485 Interface) – https://store.arduino.cc/usa/arduino-mkr-485-shield
- MKR Relay Proto Shield(adds screw terminals, makes life easier) – https://store.arduino.cc/usa/mkr-relay-proto-shield
- SparkFun 16×2 SerLCD(the lcd diaplay) – https://www.sparkfun.com/products/14073
- AM2302(wired DHT22, humidity and temp sensor)temperature-humidity sensor – https://www.adafruit.com/product/393
- 6 Channel 3V Relay Module Optocoupler Isolation(6 position relay board) – https://usa.banggood.com/BESTEP-6-Channel-3_3V-Relay-Module-Optocoupler-Isolation-Active-Low-For-Arduino-p-1355823.html?cur_warehouse=CN
- Modbus RS485 soil moisture sensor(Sensor for the garden) – https://www.tindie.com/products/miceuz/modbus-rs485-soil-moisture-sensor-2
- Misc wire(Cat5/6 or RS485 Wiring)
- 5 volt power supply, old phone charger will work – or https://www.sparkfun.com/products/15311
- minimum 12 volt 2 amp power supply for the Arduino and the sensors
- optional case for the controller
- Soldering Iron, solder, etc
- Small flat head screwdriver
- Jeweler flat head screwdriver
Assembling the pieces is not as hard as you may think. The RS485 Shield sits on top of the MKR1000 and the MKR1000 sits on top of the MKR Relay Proto Shield.
Adding the AM2302 sensor
- the red wire goes to the 3.3V terminal
- the black wire goes to the GND terminal
- the yellow wire goes to the A1 terminal
Adding the LCD display will require a soldering iron and some spare wire long enough to put the display where you would like it. I used some silicon wire for the power leads, and Cat 6 for the DA and DL signal wires. Adding the display to the controller is similar to adding the AM2302 Sensor.
- The red wire from Raw goes to the 3.3V teminal
- The black wire from GND goes to the GND terminal
- The blue wire from CL goes to the SCL terminal
- The orange wire from DA goes to SDA terminal
Adding the RS485 sensor is pretty easy, you will use the terminals on the RS485 Shield to wire the sensor to.
- The red wire goes to ISO VCC terminal on the RS485 shield
- The black wire goes to the ISO GND terminal on the RS485 shield
- The yellow wire goes to the Y terminal on the RS485 shield
- The green(or blue) wire goes to the Z terminal on the RS485 shield
After the sensor is added to the Arduino controller, the easiest way to change the sensor ID, is to use the Arduino Web Editor to load the code, the Web Editor can be found at :
Once you have an account, click on the OPEN CODE button(in picture below). It will open the sketch in the Online Editor, where you will be able to add the Sketch to your account. Before uploading the code to your Arduino board, you will need to add the Sensor ID, in the SECRET TAB, you want to change the sensor to. The Ceres Helper requires Sensor ID’s from 11 to 16. The sketch will search for sensor ID’s from 1 thru 16, once it finds a sensor, it will change the ID to the “SECRET_NEW_SENSOR_ID” found in the SECRET TAB. Add your sensors, one at a time, to the RS485 board, to change their IDs, dont forget to change the ID in the SECRET TAB for each sensor. After the ID has been changed, label the sensor with the new ID. The simplest solution is to use a waterproof marker and make marks on the cable for each sensor, example, one mark for sensor 11, 2 marks for sensor 12, 3 for 13, etc…
Now you can follow the online editor instructions to locate your Arduino board and upload the code sketch. The LCD display will update you on the status of locating the sensor and when the ID has been successfully changed, the dots increase for each sensor ID checked, when it has gone thru one complete loop without locating a sensor, the dots will reset. If it completes 2 cycles, check your wiring of the sensor.
Once you have sensors11-16 ready, you can wire them together, RS485 needs to be wired in series, you will connect a wire to the RS485 board connectors then go to a sensor, wire appropriately, then wire to the next sensor and then to the next one, etc.