วันอังคารที่ 27 มีนาคม พ.ศ. 2561

ส่งงานตรั้งที่20

เปิด/ปิด LED ผ่าน BLUETOOTH

  • Arduino Board
  • Notebook / PC
  • หลอดไฟ LED
  • Resistor ขนาด 1KΩ
  • bluetooth hc-06
  • สายไฟ
  • โปรแกรม Arduino IDE
ผลการค้นหารูปภาพสำหรับ arduino bluetooth เปิดปิดไฟ

CODE




int LED1 = 13; // กำหนดตัวเเปรLED1 คือ ขา 13
String readString;
void setup() {
     Serial.begin(9600);//ค่าความเร็วการรับส่งข้อมูล เท่ากับ 9600บิตต่อวินาที
     pinMode(LED1,OUTPUT);//กำหนดให้ LED 1 เป็นOUTPUT
}
void loop() {
  while(Serial.available()){ //ถ้า
  delay(3);
  char c = Serial.read();
  readString += c;
}
if(readString.length() > 0){
  Serial.println(readString); //พิมพ์ข้อมูล ออกทางพอร์ตอนุกรม แต่ขั้นบรรทัดใหม่
    if(readString == "on"){ //ถ้า readString == on
      digitalWrite(LED1,HIGH);//ส่งข้อมูล ไป LED1 เป็น HIGH
     }
    if(readString == "off"){ //ถ้า readString == off
      digitalWrite(LED1,LOW); //ส่งข้อมูล ไป LED1 เป็น LOW
     }
readString="";
  }

ส่งงานครั้งที่19

Arduino Based 3-Way Traffic Light Controller

Components Required:

  1. 3*Red LED Lights
  2. 3*Green LED Lights
  3. 3*Yellow LED Lights
  4. 3*220ohm Resistors
  5. Breadboard
  6. Male To Male Connectors
  7. Arduino Uno With Ide Cable
CODE
 void setup() {
  // configure the output pins
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
}
void loop() 
{
  digitalWrite(4,1);
  digitalWrite(5,1);
  digitalWrite(8,1);
  digitalWrite(2,0);
  digitalWrite(6,0);  
  digitalWrite(3,0);
  digitalWrite(7,0);
  digitalWrite(10,0);
  digitalWrite(9,0);
  delay(5000);
   
  digitalWrite(6,1);     
  digitalWrite(5,0);  
  delay(1000);
  
  digitalWrite(2,1);
  digitalWrite(8,1);
  digitalWrite(7,1);
  digitalWrite(3,0);    
  digitalWrite(6,0);
  digitalWrite(9,0);
  digitalWrite(5,0);
  digitalWrite(10,0);
  digitalWrite(4,0);
  delay(5000);
  
  digitalWrite(9,1);         
  digitalWrite(8,0);        
  delay(1000);
  
  digitalWrite(5,1);
  digitalWrite(2,1);
  digitalWrite(10,1);
  digitalWrite(6,0);
  digitalWrite(8,0);           
  digitalWrite(4,0);
  digitalWrite(7,0);
  digitalWrite(3,0);
  digitalWrite(4,0);
  digitalWrite(9,0);
  delay(5000);
  
  digitalWrite(3,1);           
  digitalWrite(2,0);
  delay(1000);
}

Arduino based 3-way Traffic light controller circuit

ส่งงานครั้งที่18

Arduino & Ultrasonic Sensor Based Distance Measurement

Components Used

  1. Arduino Pro Mini
  2. Ultrasonic sensor Module
  3. 16x2 LCD
  4. Scale
  5. Bread board
  6. 9 volt battery
  7. Connecting wires
CODE
#include <LiquidCrystal.h>

#define trigger 18
#define echo 19

LiquidCrystal lcd(2,3,4,5,6,7);

float time=0,distance=0;  //ตัวแปร time =0  , distance=0

void setup()
{
 lcd.begin(16,2);
 pinMode(trigger,OUTPUT);
 pinMode(echo,INPUT);
 lcd.print(" Ultra sonic");
 lcd.setCursor(0,1);
 lcd.print("Distance Meter");
 delay(2000);
 lcd.clear();
 lcd.print(" Circuit Digest");
 delay(2000);
}

void loop()
{
 lcd.clear();
 digitalWrite(trigger,LOW);
 delayMicroseconds(2);
 digitalWrite(trigger,HIGH);
 delayMicroseconds(10);
 digitalWrite(trigger,LOW);
 delayMicroseconds(2);
 time=pulseIn(echo,HIGH); //ตัวเเปรtime คือ ฟังก์ชั่นpulseIn(echo,HIGH)
 distance=time*340/20000; //ตัวเเปร  distance คือค่าจากตัวเเปร time คูณ340หาร 20000
 lcd.clear();
 lcd.print("Distance:");
 lcd.print(distance);
 lcd.print("cm");
 lcd.setCursor(0,1);
 lcd.print("Distance:");
 lcd.print(distance/100);
 lcd.print("m");
 delay(1000);
}

Arduino Distance Measurement Circuit Diagram

ส่งงานครั้งที่17

Interfacing 16x2 LCD with Arduino

CODE
#include <LiquidCrystal.h>

LiquidCrystal lcd(0, 1, 8, 9, 10, 11); 
void setup()
{

lcd.begin(16, 2);
}

void loop()
{

lcd.print("   CIRCUIT DIGEST");
lcd.setCursor(0, 1); 
lcd.print("www.circuitdigest.com");
delay(750);
lcd.scrollDisplayLeft();//เลือนตัวอักษรไปทางซ้าย 1 ตัว
lcd.setCursor(0, 0);






Circuit Diagram for LCD Interfacing with Arduino

ส่งงานครั้งที่16

Smart Phone Controlled Home Automation Using Arduino

Required Components:

  • Arduino Mega (any model)
  • Android Phone
  • HC05 Bluetooth Modules
  • Bluetooth terminal App
  • L293D IC
  • Two 6V relays
  • Two bulbs
  • Breadboards
  • 12 v,1A Adapter
  • 16x2 LCD
CODE

#include <LiquidCrystal.h> //เรียกใช้ไฟล์ LiquidCrystal.h
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);  // เชื่อต่อกับขา 7, 6, 5, 4, 3, 2
void setup() {
  pinMode(11, OUTPUT); //กำหนดขา11 เป็น output
  pinMode(10, OUTPUT); //กำหนดขา10 เป็น output
  Serial.begin(9600);        // กำหนดค่า การรับส่งข้อมูล เท่ากับ 9600 บิตต่อวินาที
  lcd.begin(16, 2);             // จอกว้าง 16 colum  2 เเถว 
  lcd.print("**AUTOMATION**");  // เเสดงคำว่า  **AUTOMATION**
}
void loop() {
  if (Serial.available() > 0) // ตรวจสอบว่ามีการ พิมพ์หรือไม่
  { 
    char c = Serial.read();   // กำหนดตัวเเปร C ไว้เก็บข้อมูลตัวอักษร ที่รับเข้ามา
    if (c == 'a')                     //ถ้า ตัวเเปร c มีค่า กดตัวอักษร  a
    {
     Serial.print("in a code");    //พิมพ์ข้อความ  in a code
     digitalWrite(10,HIGH);      // ส่งข้อมูล HIGH ไปที่ ขา 10 
     digitalWrite(11,LOW);         // ส่งข้อมูล Low ไปที่ ขา 11
     Serial.print("10 HIGH");      //พิมพ์ข้อความ  10 HIGH
     lcd.clear();                          // ล้าง หน้าจอ Lcd  
     lcd.print("**BULB1 ON**");    //พิมพ์ข้อความ  **BULB1 ON**
    }
    
    if(c=='b')                  ///ถ้า ตัวเเปร c มีค่า กดตัวอักษร   b
    {
     digitalWrite(11,HIGH);
     digitalWrite(10,LOW);
     Serial.print("11 HIGH");
     lcd.clear();
     lcd.print("**BULB2 ON**");
    }
    
    if(c=='c')      ///ถ้า ตัวเเปร c มีค่า กดตัวอักษร   c
    {
     digitalWrite(10,HIGH);
     digitalWrite(11,HIGH);
     lcd.clear();
     lcd.print("**BULB 1,2 ON**");
    }
    
    if(c=='d')    ///ถ้า ตัวเเปร c มีค่า กดตัวอักษร   d
    {
     digitalWrite(10,LOW);
     digitalWrite(11,LOW);
     lcd.clear();
     lcd.print("**BULB 1,2 OFF**");
    }
  }
}


Bluetooth-controlled-home-automation-block-diagram



Bluetooth-controlled-home-automation-circuit-diagram

ส่งงานครั้งที่15

Arduino based Automatic Plant Irrigation System with Message Alert

Required Components:

  • Arduino Uno
  • GSM Module
  • Transistor BC547 (2)
  • Connecting wires
  • 16x2 LCD (optional)
  • Power supply 12v 1A
  • Relay 12v
  • Water cooler pump
  • Soil Moisture Sensor 
  • Resistors (1k, 10k)
  • Variable Resister (10k, 100k)
  • Terminal connector
  • Voltage Regulator IC LM317
CODE
#include<SoftwareSerial.h> //เรียกใช้ไฟล์<SoftwareSerial.h>
SoftwareSerial Serial1(2,3); //กำหนดขา 2,3 เป็นขาเชื่อมต่อข้อมูล
#include<LiquidCrystal.h>
LiquidCrystal lcd(14,15,16,17,18,19);
int led=13;
int flag=0;
String str="";
#define motor 11
#define sensor 7
void setup()
{
  lcd.begin(16,2);
  Serial1.begin(9600);
  Serial.begin(9600);
  pinMode(led, OUTPUT);
  pinMode(motor, OUTPUT);
  pinMode(sensor, INPUT_PULLUP);
  lcd.print("Water Irrigaton");
  lcd.setCursor(4,1);
  delay(2000);
  lcd.clear();
  lcd.print("Circuit Digest");
  lcd.setCursor(0,1);
  lcd.print("Welcomes You");
  delay(2000);
  gsmInit();
  lcd.clear();
  lcd.print("System Ready");
}
void loop()
{
    lcd.setCursor(0,0);
    lcd.print("Automatic Mode    ");
    if(digitalRead(sensor)==1 && flag==0)
    {
      delay(1000);
      if(digitalRead(sensor)==1)
      {
        digitalWrite(led, HIGH);
        sendSMS("Low Soil Moisture detected. Motor turned ON");
        lcd.begin(16,2);
        lcd.setCursor(0,1);
        lcd.print("Motor ON    ");
        digitalWrite(motor, HIGH);
        delay(2000);
        flag=1;
      }
    }
    else if(digitalRead(sensor)==0 && flag==1)
    {
      delay(1000);
      if(digitalRead(sensor)==0)
      {
        digitalWrite(led, LOW);
        sendSMS("Soil Moisture is Normal. Motor turned OFF");
        digitalWrite(motor, LOW);
        lcd.begin(16,2);
        lcd.print("Motor OFF");
        lcd.setCursor(0,1);
        lcd.print("Motor OFF");
        delay(2000);
        flag=0;
      }
    }
}

void sendSMS(String msg)
{
  lcd.clear();
  lcd.print("Sending SMS");
  Serial1.println("AT+CMGF=1");
  delay(500);
  Serial1.print("AT+CMGS=");
  Serial1.print('"');
  Serial1.print("+919610126059");    // number
  Serial1.print('"');
  Serial1.println();
  delay(500);
  Serial1.println(msg);
  delay(500);
  Serial1.write(26);
  delay(1000);
  lcd.clear();
  lcd.print("SMS Sent");
  delay(1000);
  lcd.begin(16,2);
}
void gsmInit()
{
  lcd.clear();
  lcd.print("Finding Module..");
  boolean at_flag=1;
  while(at_flag)
  {
    Serial1.println("AT");
    while(Serial1.available()>0)
    {
      if(Serial1.find("OK"))
      at_flag=0;
    }
    delay(1000);
  }
  Serial1.println("ATE0");
  lcd.clear();
  lcd.print("Finding Network..");
  boolean net_flag=1;
  while(net_flag)
  {
    Serial1.println("AT+CPIN?");
    while(Serial1.available()>0)
    {
      if(Serial1.find("READY"))
      net_flag=0;
      break;
    }
    delay(1000);
  }
   Serial1.println("AT+CNMI=2,2,0,0,0");
   delay(1000);
   Serial1.println("AT+CMGF=1");
   delay(1000);
   Serial1.println("AT+CSMP=17,167,0,0");
   lcd.clear();
   Serial1.flush();
}
arduino-based-automatic-plant-irrigation-system-Block-Diagram

arduino-based-automatic-plant-irrigation-system-circuit-Diagram

ส่งงานครั้งที่14

Arduino ควบคุมการปิด-เปิดเครื่องใช้ไฟฟ้ากระแสสลับ 220 VAC


CODE

#define Lamp1 12 //กำหนดตัวเเปร Lamp1 คือขา12
char test ;  //ข้อมูลตัวอักษร test
void setup() 
{

Serial.begin(9600);
pinMode(Lamp1, OUTPUT); //กำหนดให้ตัวแปร Lamp1  เป็น output
}
void loop() 
{
if (Serial.available()) //ถ้า  มีการตรวจสอบข้อมูลมีการเข้ามาหรือไม่
test = Serial.read();//test =ค่าที่รับเข้ามา
else if (test == '1') //ถ้า test==1
digitalWrite(Lamp1, HIGH);//เขียนข้อมูลไปที่ตัวเเปร Lamp1 เป็น HIGH
}
else if (test == '3')// ถ้า test ==3
{
digitalWrite(Lamp1, LOW);//เขียนข้อมูลไปที่ตัวเเปร Lamp1 เป็น LOW
}
}


ส่งงานครั้งที่13

Arduino Motion Detector using PIR Sensor


Materials Required:

  1. PIR Sensor Module
  2. Arduino UNO (any version)
  3. LED
  4. Buzzer
  5. Breadboard
  6. Connecting Wires
  7. 330 ohm resistor
CODE

void setup() {
  pinMode(2, INPUT); //Pin 2 เป็น INPUT
  pinMode(3, OUTPUT); //PIN 3 เป็น OUTPUT
}
void loop() {
  if (digitalRead(2) == HIGH) //ถ้า ค่าจากขา2 เป็นHIGH .ให้ทำต่อไปนี้
  {
  digitalWrite(3, HIGH);  
  delay(100);                       
  digitalWrite(3, LOW);  
  delay(100);                       
  }
}
Arduino Motion Sensor Circuit Diagram

ส่งงานครั้งที่12

Arduino DC Motor Speed and Direction Control using Relays and MOSFET

Required Components:

  1. Arduino Uno
  2. Two 12v relay( 5v relay can also be used)
  3. Two transistors; BC547
  4. Two pushbuttons
  5. IRF540N
  6. 10k resistor
  7. 24 volt source
  8. 10K potentiometer
  9. Three diodes 1N4007
  10. Connecting wires
CODE

int x;
int y;
void setup()
{
  pinMode(2,OUTPUT);//กำหนดขา2 เป็น output
  pinMode(3,OUTPUT);//กำหนดขา3 เป็น output
  pinMode(6,OUTPUT);//กำหนดขา6เป็น output
  pinMode(A0,INPUT);//กำหนดขาA0 เป็น input
}
void loop()
 {
  x=analogRead(A0); // ตัวเเปร x  คือค่าทีอ่านจากขา A0
  y=map(x,0,1023,0,255); //y คือค่า X ที่ ปรับให้สมดุลกันระหว่าง 0-1023กับ 0-255
  analogWrite(6,y);// ส่งข้อมูลจากตัวเเปร Y ไปที่ ขา 6
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
}

Arduino based DC Motor Speed and Direction Control circuit diagram

Mini Project

Control Lamp 220v  With LDR const int lamp = 12; const int ldrPin=A0; #include <Wire.h> #include <LiquidCrystal_I2C.h>...