Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Project Documentation

Arduino-Controlled RFM95 Pneumatic Solenoid Valve System

Image of Arduino-Controlled RFM95 Pneumatic Solenoid Valve System

Circuit Documentation

Summary

The circuit in question is designed to control a 12v pneumatic solenoid valve using an Arduino Pro Mini microcontroller. The control signal is amplified by a TIP120 Hi-Current Darlington Transistor. A 1N4007 Rectifier Diode is used for back EMF protection. The circuit also includes an RFM95 module for wireless communication, which is interfaced with the Arduino Pro Mini. The Arduino is programmed to switch the solenoid valve on and off at one-second intervals.

Component List

Arduino Pro Mini

  • Microcontroller board based on the ATmega328
  • Operating Voltage: 3.3V or 5V (depending on the model)
  • Digital I/O Pins: 14 (of which 6 provide PWM output)
  • Analog Input Pins: 8
  • Clock Speed: 8 MHz or 16 MHz

12v Pneumatic Solenoid Valve

  • Operates on 12V power supply
  • Used for controlling the flow of air or liquid in pneumatic systems

TIP120 Hi-Current Darlington Transistor

  • NPN Darlington Transistor
  • Collector-Emitter Voltage: 60V
  • Collector Current (DC): 5A

1N4007 Rectifier Diode

  • Standard silicon rectifier diode
  • Peak Repetitive Reverse Voltage: 1000V
  • Continuous Forward Current: 1A

Resistor

  • Resistance: 1 Ohm

RFM95

  • Long-range transceiver module
  • Supports FSK, GFSK, MSK, GMSK, LoRaTM, and OOK modulation
  • Frequency Range: 868/915MHz

Wiring Details

Arduino Pro Mini

  • GND connected to the ground plane
  • VCC connected to the 3.3V power supply
  • SCK, MISO, MOSI, D10 connected to the corresponding pins on the RFM95 for SPI communication
  • D5 connected to the RESET pin of the RFM95
  • D3 connected to DIO1 of the RFM95
  • D2 connected to DIO0 of the RFM95
  • D4 is the control pin for the solenoid valve (via the TIP120 transistor)

12v Pneumatic Solenoid Valve

  • VCC connected to the COLLECTOR of the TIP120 transistor
  • GND connected to the ground plane

TIP120 Hi-Current Darlington Transistor

  • BASE connected to a 1 Ohm resistor
  • COLLECTOR connected to the Anode of the 1N4007 diode and VCC of the solenoid valve
  • EMITTER connected to the ground plane

1N4007 Rectifier Diode

  • Cathode connected to the 3.3V power supply
  • Anode connected to the COLLECTOR of the TIP120 transistor

Resistor

  • pin1 connected to the BASE of the TIP120 transistor
  • pin2 connected to the control pin (D4) on the Arduino Pro Mini

RFM95

  • GND connected to the ground plane
  • 3.3V connected to the 3.3V power supply
  • SCK, MISO, MOSI, NSS connected to the corresponding pins on the Arduino Pro Mini for SPI communication
  • RESET connected to D5 on the Arduino Pro Mini
  • DIO1 connected to D3 on the Arduino Pro Mini
  • DIO0 connected to D2 on the Arduino Pro Mini

Documented Code

// sketch.ino
int solenoidPin = 4; // This is the output pin on the Arduino we are using

void setup() {
  // put your setup code here, to run once:
  pinMode(solenoidPin, OUTPUT); // Sets the pin as an output
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(solenoidPin, HIGH); // Switch Solenoid ON
  delay(1000); // Wait 1 Second
  digitalWrite(solenoidPin, LOW); // Switch Solenoid OFF
  delay(1000); // Wait 1 Second
}

This code is designed to run on the Arduino Pro Mini. It initializes a digital pin (D4) as an output to control the solenoid valve. In the loop function, it turns the solenoid on for one second, then off for one second, repeating this cycle indefinitely.