หน้าแรก ดูโปรเจกต์ทั้งหมด
Easy

โปรเจกต์ ควบคุม 2 Relays ผ่าน Internet

ใช้งาน Arduino MKR GSM 1400 และ Blynk app เพื่อควบคุม 2 relays ของ MKR Relay Proto Shield

โปรเจกต์ ควบคุม 2 Relays ผ่าน Internet

รายการอุปกรณ์และเครื่องมือ

1x Arduino MKR GSM 1400
-
1x Arduino MKR Relay Proto Shield
-
1x Jumper wires (generic)
🛒 สั่งซื้อ
1x Breadboard (generic)
🛒 สั่งซื้อ

รายละเอียดและวิธีทำ

หมายเหตุ: บทช่วยสอนนี้อาจล้าสมัย โปรดไปที่ here สำหรับเวอร์ชันที่เป็นปัจจุบันมากกว่า

โปรเจกต์นี้แสดงวิธีการควบคุม MKR Relay shield โดยใช้ Arduino MKR GSM 1400 และบริการ Blynk cloud เราได้สร้างแอปพลิเคชันง่ายๆ ที่ช่วยให้สามารถสลับการทำงานของ Relay ที่รวมอยู่บน shield โดยใช้ widget ของ Blynk

สิ่งที่คุณต้องมี

โปรเจกต์นี้ใช้ Arduino MKR GSM 1400, เสาอากาศ, battery pack, smartphone ที่ติดตั้ง Blynk, SIM card สำหรับข้อมูล 1 อัน, LED 2 ดวง, ตัวต้านทาน 220 ohm 2 ตัว, breadboard, สายไฟ และ MKR Relay Shield นอกจากนี้คุณยังต้องดาวน์โหลด Blynk library ผ่าน Library Manager ของ Arduino Software (IDE)

  • Arduino MKR GSM 1400 ทำหน้าที่รัน sketch และรองรับการเชื่อมต่อ GSM ที่ช่วยให้สามารถใช้งานฟังก์ชันระบุตำแหน่งที่จำเป็นสำหรับโปรเจกต์ของเราได้
  • เสาอากาศและ battery pack ใช้สำหรับช่วยให้เชื่อมต่อกับเครือข่ายข้อมูลมือถือด้วยสัญญาณที่ดี และเพื่อจ่ายไฟให้กับอุปกรณ์เมื่อไม่มีแหล่งจ่ายไฟอื่นๆ
  • MKR Relay Protoshield เป็น Board ที่รวม Relay ไว้ 2 ตัว และถูกสร้างขึ้นสำหรับ Board รูปแบบ MKR โดยเฉพาะ ใช้สำหรับสลับโหลดและแรงดันไฟฟ้าที่ปกติไม่สามารถจัดการได้ด้วยโซลูชันแบบ solid state (MOSFET) ในโปรเจกต์นี้จะใช้เพียงแค่สลับการทำงานของ LED เท่านั้น
  • โทรศัพท์มือถือจำเป็นสำหรับการใช้งานแอปพลิเคชัน Blynk ซึ่งช่วยให้เราสร้างอินเทอร์เฟซด้วย widget 2 ตัว Blynk จะทำหน้าที่สื่อสารระหว่าง MKR GSM 1400 และ smartphone
  • SIM card จำเป็นสำหรับการเข้าถึงเครือข่ายข้อมูลและอนุญาตให้ระบบเครือข่ายทำงานได้
  • PIN, APN และข้อมูลประจำตัวสำหรับการเข้าถึง (access credentials) จำเป็นสำหรับการเชื่อมต่อกับเครือข่ายข้อมูล
  • LED, ตัวต้านทาน, breadboard และสายไฟ ถูกใช้ในโปรเจกต์นี้เพื่อแสดงการเปิดและปิดของหน้าสัมผัส Relay
Arduino MKR GSM 1400, MKR Relay Protoshield, แบตเตอรี่ LiPo และเสาอากาศ

การติดตั้ง Hardware

การติดตั้งที่สมบูรณ์

เสาอากาศ, SIM และ battery pack ควรเชื่อมต่อกับคอนเน็กเตอร์ของตัวเองที่ส่วนหัวและส่วนท้ายของ MKR GSM 1400

วงจรบน breadboard นั้นง่ายมาก: ต่อ 5V และ GND ไปยังรางบน breadboard (5V ต่อกับรางสีแดง และ GND ต่อกับรางสีดำ) วาง LED แต่ละดวงลงบน breadboard โดยให้ขาที่สั้นกว่า (-) ต่อไปยังรางสีดำด้วยสายจัมเปอร์ ขาแต่ละข้างที่ยาวกว่า (+) ต่อเข้ากับตัวต้านทาน 220 ohm ซึ่งเชื่อมต่อด้วยสายจัมเปอร์ไปยังหน้าสัมผัส NO หนึ่งในคอนเน็กเตอร์ของ Relay ขา common ของ Relay แต่ละตัวจะต่อเข้ากับรางสีแดงของ breadboard (5V)

เมื่อ Relay ทำงาน (excited) มันจะปิดหน้าสัมผัส NO และจ่ายไฟ 5V ไปยัง LED ทำให้ไฟสว่างขึ้น

ระมัดระวังในการเชื่อมต่อ MKR GSM 1400 เข้ากับ MKR Relay Protoshield ให้ถูกต้อง โดยจัดตำแหน่งป้ายชื่อของคอนเน็กเตอร์บนแต่ละ Board ให้ตรงกัน

นี่คือการเชื่อมต่อที่ถูกต้องระหว่าง Board และ shield

หลักการทำงาน

โปรเจกต์นี้ใช้บริการ Blynk cloud และอินเทอร์เฟซของแอปพลิเคชันเพื่อควบคุม Relay ทั้ง 2 ตัวของ MKR Relay Protoshield จาก smartphone Blynk library ช่วยให้สามารถเชื่อมต่อผ่านอินเทอร์เน็ตระหว่าง MKR GSM 1400 ของเราและอินเทอร์เฟซบน smartphone ระบบ IOS หรือ Android ความง่ายในการใช้งานของ Blynk ทำให้การสร้างอินเทอร์เฟซทำได้ง่ายและตรงไปตรงมา การสื่อสารเป็นแบบสองทาง ซึ่งช่วยให้เราสร้างสวิตช์เสมือน (virtual switches) สองตัวและ LED หนึ่งดวงบนอินเทอร์เฟซได้ LED บนหน้าจอ smartphone จะถูกขับเคลื่อนโดย MKR GSM 1400 ของเรา ในขณะที่สวิตช์ทั้งสองตัวใช้สำหรับขับเคลื่อน D1 และ D2 ที่เชื่อมต่อกับ MKR Relay Protoshield

การตั้งค่า Blynk

เพื่อให้ง่ายขึ้น เราได้แบ่งปัน QR Code ของอินเทอร์เฟซ เพื่อให้คุณตั้งค่าทุกอย่างบน smartphone ได้ทันที แม้ว่าคุณจะเพิ่งเริ่มใช้งาน Blynk ก็ตาม

สแกน QR Code นี้จากแอป Blynk เพื่อโหลดอินเทอร์เฟซ

เมื่อโหลดอินเทอร์เฟซแล้ว คุณควรจะเห็นสิ่งที่คล้ายกับภาพหน้าจอนี้:

อินเทอร์เฟซแบบง่ายที่พัฒนาขึ้นสำหรับโปรเจกต์นี้

ขั้นตอนถัดไปจำเป็นต้องผูกแอป Blynk บน smartphone ของคุณเข้ากับ MKR GSM 1400 ซึ่งจะทำได้โดยใช้ token ที่คุณควรส่งจาก smartphone ไปยังอีเมลของคุณ

แตะที่ไอคอนรูปน็อตที่มุมขวาบนเพื่อเปิดหน้า Project Settings page

จากหน้านี้ คุณสามารถส่งอีเมลรหัส auth ไปให้ตัวเอง ซึ่งจำเป็นต้องใช้ใน sketch เพื่อจับคู่ Board กับแอปบน smartphone ของคุณ

Sketch

ซอฟต์แวร์ที่จัดเตรียมไว้สำหรับโปรเจกต์นี้ใช้ Arduino sketch ที่รวม MKRGSM และ Blynk library พร้อมกับแอปพลิเคชัน Blynk แบบง่าย เพื่อให้สามารถควบคุม Relay ของ shield ผ่าน Board MKRGSM ได้

  • Blynk: ใช้ LED เป็นตัวตรวจสอบสถานะการเชื่อมต่อ (connection alive monitor) และปุ่มสวิตช์ 2 ปุ่ม ปุ่มหนึ่งสำหรับเปิดใช้งาน Relay 1 และอีกปุ่มหนึ่งสำหรับ Relay 2
  • Arduino sketch เกี่ยวข้องกับ API หลายตัวของ MKRGSM:
  • Connection API ที่ใช้ผ่านคลาส GSM, GPRS และ GSMClient สิ่งเหล่านี้ใช้สำหรับเชื่อมต่อ Board เข้ากับเครือข่าย GSM;
  • Blynk API จำเป็นสำหรับการเชื่อมต่อระหว่าง Board และแอปพลิเคชันบน smartphone รวมถึงการโต้ตอบกับ widget ที่ใช้ในโปรเจกต์

โค้ดส่วนแรกใช้สำหรับรวม library ที่จำเป็นสำหรับแอปพลิเคชัน; MKRGSM จะรวมฟังก์ชันการเชื่อมต่อ GSM ทั้งหมด ซึ่งใช้งานได้ผ่านออบเจ็กต์ GSMClient, GPRS และ GSM, ส่วนหัว (header) BlynkSimpleMKRGSM จะนำเข้า API ที่ทำให้ sketch สามารถโต้ตอบกับแอป Blynk ได้:

#define BLYNK_PRINT Serial
#include <MKRGSM.h>
#include <BlynkSimpleMKRGSM.h>
GSMClient client;
GPRS gprs;
GSM gsmAccess;

หลังจากส่วนของการ include จะมีการกำหนดข้อมูลประจำตัวทั้งหมดที่จำเป็นสำหรับการเชื่อมต่อ auth[] จำเป็นสำหรับการจับคู่ sketch กับโปรเจกต์เฉพาะบน Blynk ส่วน pin, apn, user และ pass จะถูกใช้เพื่อเข้าถึง SIM และสร้างการเชื่อมต่อกับเครือข่ายข้อมูล ค่าของพวกมันจะถูกกำหนดโดยฟิลด์ป้อนข้อมูลที่ระบุไว้ใน Secrets tab.Pleasenote: หาก SIM ไม่มี PIN หรือเครือข่ายไม่ต้องการ Password คุณต้องใส่ "" ในฟิลด์ Secrets ที่เกี่ยวข้อง

char auth[] = SECRET_AUTH_TOKEN;
// Your access credentials.
// Set password to "" for open networks.
char pin[] = SECRET_PINNUMBER;
char apn[] = SECRET_GPRS_APN;
char user[] = SECRET_GPRS_LOGIN;
char pass[] = SECRET_GPRS_PASSWORD;

WidgetLED ใช้สำหรับควบคุม led widget บนแอป ค่าในวงเล็บคือ Pin ที่กำหนดให้กับออบเจ็กต์นี้ ในตัวอย่างนี้คือ Virtual pin 1 (V1), Blynk timer ใช้สำหรับกำหนดเวลาการกะพริบของ LED บนแอป:

BlynkTimer timer;
WidgetLED led1(V1);
BlynkTimer timer;

ส่วน setup ช่วยในการเริ่มต้นออบเจ็กต์ทั้งหมดที่ใช้ใน sketch, Blynk instance มีบทบาทสำคัญเนื่องจากทำหน้าที่สร้างการเชื่อมต่อและเริ่มต้นโครงสร้างทั้งหมดเพื่อควบคุม widget ของแอปบน smartphone:

void setup()
{
// Debug console
Serial.begin(9600);
// Here your Arduino connects to the Blynk, through begin you can set all the access credential required to establish a connection with the app
Blynk.begin(auth, gsmAccess, gprs, client , pin, apn, user, pass);
//here is assigned the time interval and function that should be executed when the timer interrupt rises
timer.setInterval(1000L, blinkLedWidget);
}

ฟังก์ชัน blinkLedWidget() จะเชื่อมโยงกับการขัดจังหวะเวลา (time interrupt) และจะถูกเรียกเมื่อมีการขัดจังหวะเกิดขึ้น โดยจะดึงค่าของ led1 (Pin V1) และสลับสถานะของมัน:

//Is alive code section, this allow to turn ON and OF the led on blynk app
void blinkLedWidget()
{
// the following APIs allow to get and set a value on the led widget of the app
if (led1.getValue()) {
led1.off();
Serial.println("LED on V1: off");
} else {
led1.on();
Serial.println("LED on V1: on");
}
}

วิธีใช้งาน

ก่อนที่คุณจะสามารถเริ่มใช้งานทุกอย่างได้ คุณควรกรอกข้อมูลในส่วนของโค้ด arduino_secrets.h ด้วย auth token ที่ได้รับทางอีเมลและข้อมูลประจำตัวเพื่อเข้าถึงอินเทอร์เน็ตผ่าน GPRS เมื่อมีข้อมูลนี้แล้ว สามารถอัปโหลด sketch ไปยัง MKR GSM 1400 ได้

เปิดแอปพลิเคชัน Blynk บน smartphone ของคุณ จากนั้นเลือกโปรเจกต์ที่สร้างด้วย QR code แล้วแตะที่ไอคอน "play" ทางด้านขวาของแถบด้านบน คุณควรเห็นไอคอนของ Board ขนาดเล็กที่มีจุดสีแดงอยู่บนนั้น: นี่คือสถานะการเชื่อมต่อกับ Board ของคุณ อัปโหลด sketch และรอให้กระบวนการเชื่อมต่อเกิดขึ้น คุณอาจต้องการตรวจสอบผ่าน Serial Monitor

อย่างไรก็ตาม เมื่อ Board เชื่อมต่อกับเซิร์ฟเวอร์ Blynk แล้ว จุดสีแดงควรจะหายไป และบนอินเทอร์เฟซคุณควรเริ่มเห็น virtual LED กะพริบช้าๆ คุณเชื่อมต่อสำเร็จแล้ว!

แตะสวิตช์ทรงกลมทั้งสองตัวเพื่อเปิดและปิด LED หากคุณได้ยินเสียง Relay คลิกแต่ไม่มีไฟจาก LED ให้ตรวจสอบการเดินสายไฟ

ขั้นตอนต่อไป

เราได้สอนวิธีควบคุม Relay ทั้งสองตัวของ MKR Relay Protoboard จาก smartphone โดยใช้ Blynk แล้ว คุณสามารถเปลี่ยน LED ทั้งสองดวงเป็นอุปกรณ์ไฟฟ้าหรืออิเล็กทรอนิกส์อื่นๆ ได้อย่างง่ายดาย และเปลี่ยนอินเทอร์เฟซของแอปให้เหมาะกับความต้องการของคุณ ส่วนที่ยากที่สุดได้รับการจัดการเรียบร้อยแล้ว

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: control-two-relays-over-the-internet-bd7db7
2450 บาท
PromptPay QR Code

ประเมิน Project

อยากได้งานคล้ายโปรเจคนี้? กดไปหน้าประเมินราคา

เอาฟอร์มยาวออกจากท้ายหน้า Project แล้ว เหลือเป็นปุ่มให้กดไปกรอกหน้าเดียว ตัวใหญ่ เว้นบรรทัดเยอะ อ่านง่ายกว่า

รีวิวจากคนใช้งานจริง

รีวิวจากลูกค้าและคนที่เคยใช้งาน

ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย

กำลังโหลดรีวิว...