กลับไปหน้ารวมไฟล์
stepper-motor-control-x-bluetooth-and-app-39cce1.md

ในบทเรียนนี้ เราจะมาสร้างวงจรควบคุมสเต็ปเปอร์มอเตอร์กัน งานนี้เราจะใช้แอปที่ออกแบบบน App Inventor เพื่อสื่อสารและควบคุมผ่านบลูทูธ โดยใช้โมดูล HC-05 เป็นตัวเชื่อมต่อแบบไร้สายระหว่างแอปกับบอร์ด Arduino เนื้อหาจะครอบคลุมตั้งแต่การต่อวงจร การเขียนโค้ด Arduino ไปจนถึงการออกแบบหน้าจอใน App Inventor นอกจากนี้เรายังจะลงรายละเอียดเรื่องการจับคู่ (Pair) HC-05 กับ Arduino และแอป รวมถึงการปรับแต่งสเต็ปเปอร์มอเตอร์ให้ทำงานได้แม่นยำ งานนี้เหมาะมากสำหรับน้องๆ ที่สนใจด้านหุ่นยนต์ การเขียนโปรแกรม และการสร้างแอปมือถือแบบอินเทอร์แอคทีฟ

การผสมผสานความแม่นยำระดับมิลลิเมตรของสเต็ปเปอร์มอเตอร์เข้ากับความสะดวกแบบไร้สายของสมาร์ทโฟน จะสร้างแพลตฟอร์มที่ทรงพลังมาก โครงการนี้คือก้าวแรกสู่การสร้างเครื่องพิมพ์ 3 มิติไร้สาย เครื่องเลื่อนกล้อง (Camera Slider) และขาตั้งกล้องโทรทรรศน์แบบมอเตอร์

การแยกข้อมูลหลายส่วน (Multi-Data Parsing)

การส่งแค่ตัว 'A' ไปเปิดไฟนี่ง่าย แต่ถ้าจะส่งคำสั่งแบบ "หมุน 400 สเต็ป ด้วยความเร็ว 50" ล่ะ?

  1. แพ็กเกจข้อมูล: แอปจะรวมข้อมูลเป็นสตริง เช่น <M,400,50>\n
  2. บัฟเฟอร์: Arduino จะอ่านข้อมูลจาก Serial ลงในอาร์เรย์ของตัวอักษร จนกว่าจะเจอตัวขึ้นบรรทัดใหม่ \n
  3. ฟังก์ชัน strtok: ฟังก์ชัน strtok() ใน C++ จะถูกใช้เพื่อตัดสตริงทุกครั้งที่เจอเครื่องหมายจุลภาค แยกประเภทคำสั่ง (M), จำนวนสเต็ป (400) และความเร็ว (50) ออกมา แล้วแปลงกลับเป็นตัวเลขจำนวนเต็ม

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

Arduino mini pro

undefined

Arduino Pro Mini คือบอร์ดไมโครคอนโทรลเลอร์ที่ใช้ชิป ATmega328

มีขา Digital Input/Output 14 ขา (ซึ่ง 6 ขาในนั้นใช้เป็น PWM Output ได้) ขา Analog Input 6 ขา มีออสซิลเลเตอร์ในตัว ปุ่มรีเซ็ต และรูสำหรับติดตั้งพินเฮดเดอร์ สามารถใช้เฮดเดอร์ 6 พินเชื่อมกับสาย FTDI หรือบอร์ด Sparkfun breakout เพื่อจ่ายไฟและสื่อสารผ่าน USB ได้

Arduino Pro Mini ออกแบบมาสำหรับติดตั้งแบบกึ่งถาวรบนชิ้นงานหรือนิทรรศการ บอร์ดมาพร้อมกับเฮดเดอร์ที่ยังไม่ได้บัดกรี ทำให้สามารถเลือกใช้คอนเนคเตอร์แบบต่างๆ หรือบัดกรีสายไฟลงไปโดยตรงได้ การจัดวางขาเข้ากันได้กับ Arduino Mini

Pro Mini มีสองเวอร์ชัน เวอร์ชันหนึ่งทำงานที่ 3.3V และ 8 MHz อีกเวอร์ชันทำงานที่ 5V และ 16 MHz

โมดูล hc-05

undefined

ทำงานได้ทั้งในโหมด Master และ Slave สามารถตั้งค่าได้ด้วยคำสั่ง AT บลูทูธ V2.0+EDR ความถี่ในการทำงาน: แถบ 2.4 GHz ISM การมอดูเลต: GFSK (Gaussian Frequency Shift Keying) กำลังส่ง: <=4dBm, Class 2 ความไว: <=-84dBm @ 0.1% BER ความปลอดภัย: การยืนยันตัวตนและการเข้ารหัส โปรไฟล์บลูทูธ: Bluetooth serial port ระยะทางสูงสุด 10 เมตรในสภาวะเหมาะสม แรงดันทำงาน: 3.6 VDC ถึง 6 VDC กระแสที่ใช้: 30 mA ถึง 50 mA ชิป: BC417143 เวอร์ชันเฟิร์มแวร์: 3.0-20170609 Baud เริ่มต้น: 38400 Baud rate ที่รองรับ: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 อินเทอร์เฟซ: Serial TTL เสาอากาศ: ติดตั้งบนแผงวงจร ความปลอดภัย: การยืนยันตัวตนและการเข้ารหัส (รหัสผ่านเริ่มต้น: 0000 หรือ 1234) อุณหภูมิในการทำงาน (สูงสุด): 75°C อุณหภูมิในการทำงาน (ต่ำสุด): -20°C ขนาด: 4.4 x 1.6 x 0.7 ซม.

สเต็ปเปอร์มอเตอร์ 28BYJ-48

undefined

สเปคของสเต็ปเปอร์มอเตอร์ตัวนี้คือ:

รุ่น: 28BYJ-48 – 5V แรงดันใช้งาน: 5V (หรือ 12V ดูค่าที่ระบุด้านหลังมอเตอร์)

จำนวนเฟส: 4 ตัวลดความเร็ว: 1/64 มุมสเต็ป: 5.625° / 64 ความถี่: 100Hz ความต้านทาน DC: 50Ω ±7% (25°C) ความถี่ขณะดึง: > 600Hz ความถี่ไม่ดึง: > 1000Hz แรงบิดดึง: >34.3mN.m (120Hz) แรงบิดจับตัวเอง: >34.3mN.m แรงบิดพร้อมแรงเสียดทาน: 600-1200 gf.cm แรงบิดลาก: 300 gf.cm ความต้านทานฉนวน > 10MΩ (500V) ฉนวนไฟฟ้า: 600VAC/1mA/1s เกรดฉนวน: A อุณหภูมิเพิ่มขึ้น: < 40K (120Hz) เสียงรบกวน: < 35dB (120Hz, ไม่มีโหลด, 10cm)

ULN2003APG

undefined

สเปคหลักๆ จัดไปวัยรุ่น:

  • กระแสคอลเลกเตอร์ปกติ 500 mA (เอาต์พุตเดี่ยว)
  • เอาต์พุต 50V (มีเวอร์ชันที่รองรับ 100V ด้วยนะ)
  • มีไดโอด flyback ในเอาต์พุตแล้ววว
  • อินพุตเข้ากันได้กับลอจิก TTL และ CMOS 5V

เฟมเมลพิน (ขาตัวเมีย)

undefined

เมลพิน (ขาตัวผู้)

undefined

ซ็อกเก็ตสำหรับ Arduino Mini Pro

undefined

เฟมเมลพินมุม 90 องศา

undefined

PCB

undefined

แอปพลิเคชัน

undefined

ด้วยแอปที่สร้างจาก MIT App Inventor น้องจะสามารถออกแบบอินเทอร์เฟสสวยๆ มีสไลด์ควบคุมความเร็ว และมีหน้าปัดหมุนเพื่อตั้งตำแหน่งมอเตอร์ได้เป๊ะๆ เลย! สู้งานนะน้อง ห้ามช็อตนะตัวนี้

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino."
author: "carlosvolt"
category: "Internet of Things, BT & Wireless"
components:
  - "1x Arduino Pro Mini"
description: "มาเรียนกันเถอะวัยรุ่น! ในบทนี้เราจะมาดูวงจรตึงๆ ที่ใช้ควบคุมสเต็ปเปอร์มอเตอร์ผ่านแอปที่สร้างจาก App Inventor โดยใช้ Bluetooth กัน รับรองว่าเข้าใจง่าย จัดไปแบบเทพๆ!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX1/WiSV8enaK3XwLqwRU3sJHS0oeYPKd02E3wGBkHkyainAtqy9OACz17o56iHk8a2UPttWzNv4eaw=="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/stepper-motor-control-x-bluetooth-and-app-39cce1_cover.png"
lang: "en"
likes: 3
passwordHash: "87c4666536080c49c946f1257327fcc3462e9b2180a92a9cc921ded1a0ae1c10"
price: 299
seoDescription: "Learn to control a Stepper motor via Bluetooth using an App built with App Inventor. Step-by-step tutorial for Arduino."
tags:
  - "Arduino User Group"
  - "Communication"
title: "ควบคุมสเต็ปเปอร์มอเตอร์ผ่าน Bluetooth กับแอป งานง่ายแต่หล่อ!"
tools: []
videoLinks: []
views: 5807