This is a repost from another forum but I believe this forum may be better for what I want to know.
I am developing a CO2 sensor and regulator for an incubator. I am linking a schematic of my design and hoping if I can get some feedback if there are any potential dangers.
Basically, the LED represents the sensor which can only handle between 6v to 12v. The two motors represents my regulator (solenoid) and a pump which share the same voltage source.
I want to know if this design is safe enough for my sensor where the voltage source for my two motors won't damage my sensor.
One last thing, when the arduino starts up it seems to put power into all of its pins which will send a start signal to all 3 transistors. Will this cause any damage? Right now only one motor is on at any time. Would sending a signal to close all three transistors at the same time cause damage?
Thanks for the reply! Yes I will add resistors since I just made this schematic pretty quickly. The motor supply is a 12v but I wanted to see if the schematic software would give me any errors if I 18v.
//include kSeries Library
kSeries K_30(12,13); //Initialize a kSeries Sensor with pin 12 as Rx and 13 as Tx
LiquidCrystal lcd( 8, 9, 4, 5, 6, 7 );
const int sensorPin = 11; // connected to the base of the transistor
const int solenoidPin = 10; // connected to the base of the transistor
const int motorPin = 3; // connected to the base of the transistor
Serial.begin(9600); //start a serial port to communicate with the computer
sensor(sensorPin); //turn sensor on
double co2 = K_30.getCO2('%'); //returns co2 value in ppm ('p') or percent ('%')
double temp = K_30.getTemp('c'); //return temp value
double rh = K_30.getRH(); //return humidity value
printData(co2, temp, rh);
if (co2 < 5)
solenoid(solenoidPin); //starts CO2 injection
motor(motorPin); //input flow from incubator
void sensor(int pin)
void solenoid(int pin)
digitalWrite(pin, HIGH); //turn on solenoid
digitalWrite(pin, LOW); //turn off
void motor(int pin)
digitalWrite(pin, HIGH); //turn on pump
digitalWrite(pin, LOW); /turn off pump
void printData(double co2, double temp, double rh)
void printCO2(double co2)
lcd.println(co2); //print value
void printT(double temp)
lcd.println(temp); //print value
void printRH(double rh)
My solenoid is 12dvc and requires 300ma. My motor is also 12dvc and requires 1A.
At start up, I didn't test it with my motor. But, I had leds in place with resistors. What I noticed was that all the LEDs lit up for like .5s or something and then the normal program ran.
Also, for the normal operation, the solenoid operates for 30s and then followed by the motor. So the LED that corresponded to the solenoid turned off for 30s while the other one turned on.
Ah, your circuit didn't show darlingtons. Darlingtons have significant leakage with open base
terminals which might account for LEDs lighting before the bases are driven low. Motors shouldn't be sensitive to such small currents though.