Tutorial: Arduino Serial Control of Relay Module

On this tutorial, we will show how to use Arduino or any compatible board (Garagino in this case) to control a Relay Module using Serial communication with the PC.

Attention: You must be very careful while using relay modules connected to AC power plug. Please be careful to avoid electrical shock!

Material List:

  • 1 x Arduino or compatible board (AVR board)
  • 1 x USB/Serial Converter
  • 1 x Relay Module
  • 1 x Lamp. 127V with cable and plugs.
  • 1 x Breadboard
  • Jumpers

 

1º Cut one of the wires of AC cable. Connect one side to the C (Common) and connect the other to NO (Normally Open) from Relay Modulo (Picture 1).

Picture 1

2º Connect USB/Serial Converter 5V pin to Vcc bus on the breadboard (Prefer red jumpers);

3º Connect USB/Serial Converter GND pin to GND bus GND on the breadboard (Prefer black jumpers).

4º Connect the coupling capacitor (100nF between the USB/Serial Conversor pin DTR and the reset on the AVR board).

5º Connect breadboard Vcc bus to: AVR board Vcc, USB/Serial module CTS and Vcc pins (Prefer Red jumpers).

6º Now connect the following pins to breadboard GND: AVR board GND and Relay Module GND (Prefer Black jumpers).

7º Connect USB/Serial TX pin to AVR board RX Pin (Blue jumper on Picture 2).

8º Connect USB/Serial RX pin to AVR board TX Pin (Orange jumper on Picture 2).

Picture 2

9º For the last step, connect Relay Module input IN to Arduino's D8 pin or the correspondent on AVR board (Garagino in this case). Green Connection on Picture 3.

Picture 3

Verify all connections. Link an USB cable between PC and USB/Serial Converter and AC plug on power.

Copy and paste this Sketch in the Arduino's IDE:

char serialin;

#define relay 8
void setup() {

  //Begin Serial Comunication(configured for 9600baud)
  Serial.begin(9600);
  //pin relay as OUTPUT
  pinMode(relay, OUTPUT);
  //Relay
  digitalWrite(relay,LOW);
  }

void loop() {
  //Verify connection by serial
  while (Serial.available() > 0) {
    //Read Serial data and alocate on serialin
    serialin = Serial.read();
    //If serialin is equal as 'o' or 'O' LAMP OFF
    if (serialin == 'o' || serialin =='O'){ // Two Pipeines(||) to make a boolean OR Comparission
      digitalWrite(relay,LOW);
      }
    /*serialin is equal as 'c' or C */
    else if (serialin == 'c' || serialin =='C'){ // Two Pipeines(||) to make a boolean OR Comparission
      digitalWrite(relay,HIGH);
      }
      Serial.println(serialin);
  }
}

Configure Serial Monitor to 9600 Baud. Send by Serial Monitor letter ”c” or “C” and press Enter. The relay will be close (Lamp ON). Now send “o” or “O” and it will be open(Lamp OFF).

Thanks for following this tutorial! If you have any question, please comment.

Views: 23139

Comment by نهاد عبدالله حسين السلمان on January 17, 2013 at 12:56am

Hello - all up to us the information, programs and projects is a wonderful grandfather and wholesome

Comment by نهاد عبدالله حسين السلمان on January 17, 2013 at 1:18am

Hi - I'm the designer who designed the masterpiece known Arduino google drive  my drive  Works like a Joker, a paper multiple areas is really wonderful and thank you for the designer

Comment by نهاد عبدالله حسين السلمان on January 17, 2013 at 1:20am

Printed board

Comment

You need to be a member of GarageLab (arduino, electronics, robotics, hacking) to add comments!

Join GarageLab (arduino, electronics, robotics, hacking)

Latest Activity

sujeeth senthilvel is now a member of GarageLab (arduino, electronics, robotics, hacking)
yesterday
Alan commented on Kevin Krumwiede's group Aquaponics
"Joined this group as my main interest in aquaponics much more than electronics !!! However I not…"
Jun 15
Alan joined Kevin Krumwiede's group
Thumbnail

Aquaponics

Ancient agriculture and aquaculture techniques meet modern technology! Learn how to grow fresh…See More
Jun 15
Profile IconKambiz Hadzad and Kasim Rafiq joined GarageLab (arduino, electronics, robotics, hacking)
Jun 15
Marcelo Rodrigues posted a blog post
Jun 14
Michael Williams updated their profile
Jun 13
Joe Mallat is now a member of GarageLab (arduino, electronics, robotics, hacking)
Jun 12
Profile IconCarlos Bejar Marambio, Harsh and Mohammed Mazed Hossain joined GarageLab (arduino, electronics, robotics, hacking)
Jun 10
Marcelo Rodrigues posted a blog post
Jun 9
Marcelo Rodrigues replied to Marc Stevens's discussion easy drive
"Maybe the time between the steps? Do you hear any sound like vibration or noise? If we use a time…"
Jun 8
Profile IconDon Girvin and Michael Williams joined GarageLab (arduino, electronics, robotics, hacking)
Jun 8
Marcelo Rodrigues replied to Peter Davies's discussion Anyone got stock of Garagelabs automation board
";-) Thanks!"
Jun 8
Peter Davies replied to Peter Davies's discussion Anyone got stock of Garagelabs automation board
"Thanks Marcello - placed an order for 10 units today"
Jun 7
Marc Stevens replied to Marc Stevens's discussion easy drive
"I tried every combination of wiring the stepper motor, but it simply don't work. But the motor…"
Jun 7
Marcelo Rodrigues replied to Peter Davies's discussion Anyone got stock of Garagelabs automation board
"Peter, If you still need the ABs, Seeed finally made them available. Thanks!"
Jun 7
Profile Iconnaibin paul, rbk12456 and Dariusz Jasiński joined GarageLab (arduino, electronics, robotics, hacking)
Jun 7
Profile IconM.Hess and ratno wijaya joined GarageLab (arduino, electronics, robotics, hacking)
Jun 3
Mohamed Hammad is now a member of GarageLab (arduino, electronics, robotics, hacking)
Jun 2
Marcelo Rodrigues replied to Marc Stevens's discussion easy drive
"Marc, Check the connections like the following image: If the problem persists, you can check the…"
Jun 2
Marcelo Rodrigues replied to Christine C's discussion The Spam.
"Thank you Jeff. That guy was suspended. Best!"
Jun 2

© 2016   Created by Marcelo Rodrigues.   Powered by

Badges  |  Report an Issue  |  Terms of Service