วันอาทิตย์ที่ 17 มิถุนายน พ.ศ. 2561

Arduino ควบคุม DC Motor ด้วย L298

Arduino ควบคุม DC Motor ด้วย L298


ในบทนี้เราจะใช้ Arduino ควบคุม DC Motor ด้วย L298 ครับ
ตัวบอร์ด L298 สามารถควบคุมMotor 2ตัวได้ในบอร์ดเดียวกัน
อุปกรณ์
1.Arduino UNO R3
2. DC Motor 2ตัว
3. L298 Motor Drive Module
ตัวอย่างนี้จะเป็นการสั่งให้ Motor หมุนกลับไปกลับมาครับลองสั่งงานและนำไปปรับใช้กันดูครับ
สายสีแดงและดำเป็นสายสำหรับแหล่งจ่ายไฟภายนอกที่จ่ายให้Motor โดยตรงครับ โดยใช้แรงดัน 0-36V
Source Code Arduino ควบคุม Motor ด้วย L298 Module
int IN1 = 4;
int IN2 = 5;
int IN3 = 6;
int IN4 = 7;
 
void setup()
{
 
 pinMode(IN1, OUTPUT);
 pinMode(IN2, OUTPUT);
 pinMode(IN3, OUTPUT);
 pinMode(IN4, OUTPUT);
}
 
void loop()
{
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, LOW);
 delay(2000);
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, HIGH);
 delay(500);
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, LOW);
 delay(2000);
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, HIGH);
 delay(500);
 digitalWrite(IN1, LOW);
 digitalWrite(IN2, HIGH);
 delay(2000);
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, HIGH);
 delay(500);
 digitalWrite(IN3, LOW);
 digitalWrite(IN4, HIGH);
 delay(2000);
 
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, HIGH);
 delay(500);
}

วันเสาร์ที่ 2 มิถุนายน พ.ศ. 2561

Arduino (http://codeprojectarduino.blogspot.com/2017/07/code-arduino.html)

Code โปรเจค Arduino ง่ายๆ เปิด ปิดไฟด้วยเสียง


เปิดปิดไฟด้วยเสียง


เรียนรู้วิธีควบคุม Arduino  ด้วย เซ็นเซอร์เสียง LM393 เราจะควบคุม การ ปิด เปิด ไฟ LED ด้วยเสียงตบมือ โดยเราจะใช้เซ็นเซอร์ตรวจจับเสียง LM393 +  รีเลย์ และแสดงผลด้วยไฟ LED



อุปกรณ์ที่ใช้



1. Arduino UNO R3 - Made in italy

2. Sound Detection Sensor Module LM393

3. สาย Jumper Female to Male ยาว 20cm.

4. สาย Jumper Male to Male ยาว 20cm.

5. Prototype PCB Board 4x6 cm Double Sides

6. สกรูหัวกลม+น็อตตัวเมีย ขนาด 3มม ยาว 12มม

7. Relay 1 Channel DC 5V Module

8. SMD LED Lighting G4 AC DC 12V

9. รางถ่าน AA 8 ก้อน



การต่อวงจร ระหว่าง  เซ็นเซอร์เสียง LM393  กับ Arduino UNO



LM393 <--> UNO

+5V  <--> 5V

GND <--> GND
OUT <--> D4



การต่อวงจร ระหว่าง Relay กับ Arduino UNO





Relay
 <--> UNO

5V <--> 5V
GND <--> GND
IN <--> D5



การต่อวงจร ระหว่าง UNO+ Relay + LED + รางถ่าน


(LED เป็น LED แบบไม่มีขั้ว ต่อเข้าด้านไหนก็ทำงานได้เช่นกัน)




หมายเหตุ : ที่ 5V ของ Arduino มี 2 สาย จาก เซ็นเซอร์เสียง และ Relay ที่ใช้ร่วม 5V จุดเดียวกัน ให้ เชื่อมต่อ 2 เส้น รวมกันก่อน ให้เหลือ 1 เส้น แล้วจึงเสียบเข้าไปที่ 5V 



เปิดโปรแกรม Arduino (IDE) และ Upload โค้ดนี้ ไปยัง บอร์ด Arduino UNO R3




int sound_sensor = 4;
int relay = 5;

int clap = 0;
long detection_range_start = 0;
long detection_range = 0;
boolean status_lights = false;

void setup() {
  pinMode(sound_sensor, INPUT);
  pinMode(relay, OUTPUT);
}

void loop() {
  int status_sensor = digitalRead(sound_sensor);
  if (status_sensor == 0)
  {
    if (clap == 0)
    {
      detection_range_start = detection_range = millis();
      clap++;
    }
    else if (clap > 0 && millis()-detection_range >= 50)
    {
      detection_range = millis();
      clap++;
    }
  }
  if (millis()-detection_range_start >= 400)
  {
    if (clap == 2)
    {
      if (!status_lights)
        {
          status_lights = true;
          digitalWrite(relay, HIGH);
        }
        else if (status_lights)
        {
          status_lights = false;
          digitalWrite(relay, LOW);
        }
    }
    clap = 0;
  }
}


ไปที่ Tools > Board เลือกเป็น Arduino/Genuino UNO



ไปที่ Tools > Port แล้วเลือกพอร์ตที่ปรากฏ (กรณีใช้เครื่องคอมพิวเตอร์ที่มี COM Port มากกว่าหนึ่ง  ให้เลือกตัวอื่นที่ไม่ใช่ COM1)

ในตัวอย่างเลือกเป็น "COM3"

(ถ้ายังว่าง หรือ เป็น COM1 ให้ตรวจสอบการติดตั้งไดร์เวอร์ การต่อสาย USB ของ Arduino UNO)



(ถ้าไม่พบให้ทำการติดตั้งไดร์เวอร์ก่อน) 
การติดตั้งโปรแกรม Arduino (IDE) และ การติดตั้งไดร์เวอร์




กดปุ่ม 
 เพื่ออัพโหลด


หากสามารถอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จ จะแสดงคำว่า Done uploading. ที่แถบด้านล่าง





ให้เอาไขควงหมุน ปรับค่าการรับสัญญาณเสียง ที่ เซ็นเซอร์เสียง LM393 โดยให้หมุนตัว R ปรับค่าได้ แบบ trimpot สีฟ้า โดย เมื่อ ตบมือ 2 ครั้ง ให้ ไฟ LED สีแดง ที่ รีเลย์ ติด และ เมื่อ ตบมืออีก 2 ครั้ง ให้ ไฟ LED สีแดง ที่ รีเลย์ ดับ






ทดสอบการทำงาน โดย  เมื่อไฟติดอยู่ ตบมือ 2 ครั้ง ไฟจะดับ และ เมื่อ ตบมืออีก 2 ครั้ง  ไฟจะติด