An easy homemade blood incubator for those with technical ability.
basic code and diagram for my homemade but crude incubator set to 37C.
Those who have a little light Arduino experience or basic electrical will know what to do. This is not precise and could be better, but then i am not a great coder, hey it works ! FIRE HAZARD. It has been very reliable for my use, but as always when using controlled devices with heating elements please try to use in a fire safe area just in case ! i ACCEPT NO RESPONSIBILITY. A bit over the top, but always has to be said.
Items:
FREE and easy to use Arduino programming platform
Arduino Uno
DHT11 temp/humidity sensor
2x 6 Ohm 5Watt wire wound power resistor
3x LEDS ( Red, Yellow, Green)
5v Relay
PCB
Solder Iron
Cable
1K resistor 1/2Watt
Glass jar
19.4V, 3-4 Amp or around those specs laptop power supply
For the flashy people you can use a 16x2 LCD display to show the temperature, with or without the 3 indicator LEDS. The code contains the pin assignments for connecting a display. DISPLAY OPTION SHOULD WORK, NOT TESTED
.
//HERE IS THE CODE WITH PIN CONNECTIONS:
/** LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* LCD VSS pin to ground
* LCD VCC pin to 5V*/
#include <LiquidCrystal.h>
#include "DHT.h"
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
#define DHTTYPE DHT11
#define DHTPIN 9
#define heatPin A1
#define coolPin A2
#define targetPin A3
#define cooler A0
#define heater 8
DHT dht(DHTPIN, DHTTYPE);
void setup() {
delay(500);
// set up the LCD's number of columns and rows:
analogWrite(coolPin, 255);
lcd.begin(16, 2);
dht.begin();
delay(1000);
lcd.print("Temp: Humidity:");
analogWrite(targetPin, 255);
delay(1000);
analogWrite(heatPin, 255);
delay(1500);
analogWrite(targetPin, 0);
analogWrite(coolPin, 0);
analogWrite(heatPin, 0);
}
void loop() {
delay(300);
lcd.setCursor(0, 1);
// read humidity
float h = dht.readHumidity();
//read temperature in Fahrenheit
float f = dht.readTemperature(true);
{
lcd.setCursor(0,1);
lcd.print(f);
lcd.setCursor(7,1);
lcd.print(h);
if (f<=98.6)
{
analogWrite(targetPin, 0);
analogWrite(heater, 255);
analogWrite(heatPin, 255);
analogWrite(cooler, 0);
analogWrite(coolPin, 0);
}
else if (f>=98.6)
{
analogWrite(targetPin, 0);
analogWrite(heater, 0);
analogWrite(heatPin, 0);
analogWrite(cooler, 255);
analogWrite(coolPin, 255);
}
else if (f=98.6)
{
analogWrite(targetPin, 255);
analogWrite(heater, 0);
analogWrite(heatPin, 0);
analogWrite(cooler, 0);
analogWrite(coolPin, 0);
}
}
}
Help the citizen research by helping to provide equipment and supplies so we can go deeper.
I am using KO-FI right now and appreciate you clicking the link to go there and contribute.
Thank you every one !