[Waterproof DS18B20 Sensor Kit tutorial_1] DIY: auto AC for your pet fish

The sweat came out in a fine dew on my forehead when I left a room with AC and get outdoor yesterday. It just came up to my mind that my pet fish may need their own auto AC since I would go for a trip some day. So I DIY an AC through Waterproof DS18B20 Digital Temperature Sensor from DFrobot. It suits every rectangular fishbowl and costs little power.
Here is a tutorial for anybody new here to build such a device from 0 to 1.

Required Hardware:
DFRduino UNO R3 similar as Arduino UNO R3
USB Cable A-B for Arduino Uno/Mega
Waterproof DS18B20 Sensor Kit
Brushless DC Fan For Nozzle
2x2A DC Motor Shield for Arduino
Wall Adapter Power Supply 12VDC
some PMMA, and some wire

STEP1 Deal with all the hardware connection


(NO SOLDERING REQUIRED)
Connect the DS18B20 Digital Temperature Sensor to PIN2
STEP2 Install Arduino IDE
Open the next URL and pick the correct version for your machine.
https://www.arduino.cc/en/Main/Software
STEP3 Add Library through this button.

STEP4 Connect the board to your device with wire and load your
code(Hint: choose the port and the board to load)

STEP5 Decorate your project and make it suitable for the size of the fishbowl




Check it yourself!!!
Leave your pet fish a ‘coolest’ summer ever.
Here is a tutorial for anybody new here to build such a device from 0 to 1.

Required Hardware:
DFRduino UNO R3 similar as Arduino UNO R3
USB Cable A-B for Arduino Uno/Mega
Waterproof DS18B20 Sensor Kit
Brushless DC Fan For Nozzle
2x2A DC Motor Shield for Arduino
Wall Adapter Power Supply 12VDC
some PMMA, and some wire

STEP1 Deal with all the hardware connection


(NO SOLDERING REQUIRED)
Connect the DS18B20 Digital Temperature Sensor to PIN2
STEP2 Install Arduino IDE
Open the next URL and pick the correct version for your machine.
https://www.arduino.cc/en/Main/Software
STEP3 Add Library through this button.

STEP4 Connect the board to your device with wire and load your
code(Hint: choose the port and the board to load)

Code: Select all
#include <OneWire.h>
int DS18S20_Pin = 2; //DS18S20 Signal pin on digital 2
int E1 = 5;
int M1 = 4;
int E2 = 6;
int M2 = 7;
//Temperature chip i/o
OneWire ds(DS18S20_Pin); // on digital pin 2
void setup(void) {
Serial.begin(9600);
pinMode(4, OUTPUT);
pinMode(7, OUTPUT);
}
void loop(void) {
int value =0;
float temperature= getTemp();
Serial.println(temperature);
delay(100);
if(temperature > 25.00)
{
digitalWrite(M1,HIGH);
digitalWrite(M2, HIGH);
analogWrite(E1, 255); //PWM
analogWrite(E2, 255); //PWM
delay(30);
}
else{
digitalWrite(M1,LOW);
digitalWrite(M2, LOW);
analogWrite(E1, 0); //PWM
analogWrite(E2, 0); //PWM
delay(30);
}
//just here to slow down the output so it is easier to read
}
float getTemp(){
//returns the temperature from one DS18S20 in DEG Celsius
byte data[12];
byte addr[8];
if ( !ds.search(addr)) {
//no more sensors on chain, reset search
ds.reset_search();
return -1000;
}
if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.println("CRC is not valid!");
return -1000;
}
if ( addr[0] != 0x10 && addr[0] != 0x28) {
Serial.print("Device is not recognized");
return -1000;
}
ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end
byte present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad
for (int i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
}
ds.reset_search();
byte MSB = data[1];
byte LSB = data[0];
float tempRead = ((MSB << 8) | LSB); //using two's compliment
float TemperatureSum = tempRead / 16;
return TemperatureSum;
}
STEP5 Decorate your project and make it suitable for the size of the fishbowl




Check it yourself!!!
Leave your pet fish a ‘coolest’ summer ever.