สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการและแผนผัง
- ขั้นตอนที่ 2: การประกาศและตั้งค่ารหัส Arduino
- ขั้นตอนที่ 3: รหัส Arduino (รหัสหลัก)
- ขั้นตอนที่ 4: App Inventor
- ขั้นตอนที่ 5: บทสรุป
วีดีโอ: Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor): 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ในบทช่วยสอนนี้ ฉันจะแสดงวิธีใช้ App Inventor และเชื่อมต่อกับ Arduino โดยใช้ Bluetooth
ขั้นตอนที่ 1: สิ่งที่คุณต้องการและแผนผัง
นี่คือรายการตามปกติไม่มีอะไรเปลี่ยนแปลงหากคุณมาที่นี่เพื่อสคริปต์เพียงแค่เลื่อนมัน
- การเชื่อมต่ออินเทอร์เน็ต
- โทรศัพท์ Android (แน่นอน)
- สมัครฟรี (ไม่ใช่โปรโมชั่น) App Inventor
- Arduino + โมดูลบลูทูธ
- LED/แถบ RGB
- ตัวต้านทาน 100/200/330
ขั้นตอนที่ 2: การประกาศและตั้งค่ารหัส Arduino
ขั้นแรกให้ประกาศตัวแปร พอร์ตตัวเลข ฯลฯ (แทนที่ " ด้วย <)
#include "SoftwareSerial.h"
#include "Wire.h" SoftwareSerial BT(10, 11);
ฉันใช้พอร์ต 7 และ 8 เป็น RX TX โปรดจำไว้ว่าหากคุณต้องการเชื่อมต่อโมดูลบลูทูธ ตรวจสอบให้แน่ใจว่าโมดูล pin RX เชื่อมต่อกับพิน TX
int LED_RED = 3;
int LED_GREEN = 5; int LED_BLUE = 6; ข้อมูลสตริง = ""; สตริง data_Previous = "255.255.255"; สตริงบน = "LON"; String OFF = "LOFF"; สถานะบูลีน = เท็จ;
สคริปต์ต่อไปคือเพื่อให้แน่ใจว่าพินของ RGB LED/Stips ไปที่พิน PWM
การตั้งค่าเป็นโมฆะ ()
{ โหมดพิน (LED_RED, เอาต์พุต); pinMode (LED_GREEN, pinMode (LED_BLUE, OUTPUT); Serial.begin(9600); BT.begin(9600); data.reserve(30); }
อย่างที่คุณเห็นฉันตั้งชื่อพอร์ตสำหรับบลูทู ธ เป็น BT ดังนั้นให้ประกาศเป็น Serial ตามปกติตรวจสอบให้แน่ใจว่า boudrate เหมือนกับการกำหนดค่าบนโมดูล (ค่าเริ่มต้นคือ 9600)
ขั้นตอนที่ 3: รหัส Arduino (รหัสหลัก)
ภายในวงเป็นโมฆะ
ในขณะที่(BT.available())
{ ถ่าน ReadChar = (ถ่าน) BT.read (); Serial.println("เชื่อมต่อแล้ว"); ถ้า (ReadChar == '+') { state = true; } อื่น ๆ { data += ReadChar; } }
สคริปต์สำหรับตรวจสอบโมดูลบลูทู ธ เชื่อมต่อหรือไม่หากเชื่อมต่อจะได้รับข้อมูลและบันทึกลงใน ReadChar
ถ้า (รัฐ)
{ Serial.print("ข้อมูล:"); Serial.print(ข้อมูล); Serial.print("ข้อมูลเบื้องต้น:"); Serial.print(data_Previous); ถ้า (data==ON) { data = data_Previous; Data_LED(); } else if (data==OFF) { data = "0.0.0"; Data_LED(); } อื่น ๆ { Data_LED(); data_Previous = ข้อมูล; } data = ""; รัฐ = เท็จ; }
นี่เป็นส่วนสุดท้ายของ void loop ซึ่งเป็นสถานะ if เพื่อให้แน่ใจว่าข้อมูลจะสมบูรณ์หากไม่มีการเรียกใช้ภายใน
ไฟ LED ข้อมูลฟังก์ชัน
int seperator1 = data.indexOf('-');
int seperator2 = data.indexOf('-', seperator1+1); int seperator3 = data.indexOf('-', seperator2+1);
ส่วนนี้เป็นรหัสหลักเพราะได้รับหนึ่งสตริงจะต้องรู้ว่าตัวคั่นอยู่ที่ใด เป็นไปไม่ได้ที่ค่าของ RGB ที่ต่ำกว่า 50 โดยใช้ indexOf มันจะค้นหาจำนวนของถ่านที่เราค้นหาด้วยสิ่งนี้ เราสามารถรู้ได้ว่าตัวเลขใดที่จะเริ่มต้นฟังก์ชันสตริงย่อย
สตริง R = data.substring(0, seperator1);
สตริง G = data.substring (seperator1+1, seperator2); สตริง B = data.substring (seperator2+1, seperator3);
หลังจากได้รับตำแหน่งของแต่ละค่าแล้ว ฟังก์ชัน subString จะแบ่งตัวเลขแต่ละจำนวนไปยังตัวแปรแต่ละตัว ตัวคั่นจะเพิ่มขึ้นเพื่อให้แน่ใจว่าไม่ได้อ่านค่าก่อนหน้านั้น
ขั้นตอนที่ 4: App Inventor
บริการนี้จะทำให้ผู้เริ่มต้น (เช่นฉัน) ง่ายขึ้นในการทำให้แอป Android เพียงแค่ใช้ตรรกะ อดทน และอินเทอร์เน็ต
ขั้นแรกให้สร้าง GUI. อย่างง่าย
เริ่มไสหรือสร้างภาพเลย์เอาต์ มีสองรุ่นที่ผมทำสีดำเป็นตัวแรกและสีขาวเป็นอันดับสอง
เปิด MIT APP ครั้งที่ 2 หรือคลิกที่นี่
- ขั้นตอนนี้คือคลิก Create apps! ที่มุมขวา
- เริ่มโครงการใหม่
- พิมพ์ชื่อ
- เริ่มออกแบบ
หากคุณใช้แหล่งที่มาของฉัน ให้คลิก โครงการ และเลือกนำเข้า aia
บทนำ
ในบริการนี้ คุณต้องมีตรรกะเพราะเนื้อหาแต่ละรายการมีสีและคำอธิบายของตัวเอง เพียงแค่ค้นหาหากไม่เข้าใจ ไม่ยากหากคุณคุ้นเคยกับสคริปต์/การเข้ารหัส
หลักคือวงล้อสีและไคลเอนต์บลูทู ธ นี่คือคำอธิบาย
วงล้อสี
- วงล้อสีรับค่าโดยตรวจจับนิ้วที่สัมผัส
- เคอร์เซอร์จะตามนิ้ว จำว่าเคอร์เซอร์บางครั้งไม่ตรงแนวกับเป้าหมาย
- เคอร์เซอร์จะได้รับค่า X และ Y และ
- ค่านี้จะถูกใช้โดยฟังก์ชันของ getBackgroundPixelColour โดยพื้นฐานแล้วจะเหมือนกับตัวเลือกสีในแอปอื่นๆ
- มี 3 ค่า (แดง เขียว น้ำเงิน) แต่ละค่าแยกตามจำนวนรายการ (เริ่มจาก 1)
- นั่นคือวิธีง่ายๆ ในการทำวงล้อสี
บลูทู ธ
- หลังจากได้ค่าแล้วส่งโดยการเพิ่ม - ให้แต่ละตัวละครแล้วบวก + ท้ายสุดโดยใช้ funcion ของ join
- ส่งไปที่ซีเรียล
ขั้นตอนที่ 5: บทสรุป
ขออภัยสำหรับภาษาอังกฤษที่ไม่ดีของฉัน ฉันกำลังทดสอบและพบปัญหากับ RGB LED ของฉัน (ไดโอดสีแดงไม่สว่างถึงเหตุการณ์ที่ฉันใช้ 100R) ฉันจะสร้าง RGB Strip หากมี ฉันลองใช้เครื่องบินเวอร์ชัน 3trd เพื่อสร้างฟีเจอร์เพิ่มเติม เช่น ไฟปาร์ตี้ ไฟปาร์ตี้แบบกำหนดเอง และปรับปรุงบางอย่าง
ถ้ามันใช้งานได้จริงถ้าไม่แก้ไขฉันด้วย แฮปปี้ โค้ดดิ้ง ^^
แนะนำ:
LED Clouds โดยใช้ Fadecandy, PI และ LED Strips: 4 ขั้นตอน (พร้อมรูปภาพ)
LED Clouds โดยใช้ Fadecandy, PI และ LED Strips: ฉันได้สร้างก้อนเมฆ LED เพื่อสร้างบรรยากาศที่ไม่มีตัวตนในบ้านของฉัน ในขั้นต้นจะใช้สำหรับเทศกาลที่ถูกยกเลิกเนื่องจากการระบาดในปัจจุบัน ฉันเคยใช้ Fade Candy Chip เพื่อให้ได้แอนิเมชั่นที่ลื่นไหล และฉันได้
Soft Toy Bluetooth Dice และพัฒนาเกม Android ด้วย MIT App Inventor: 22 ขั้นตอน (พร้อมรูปภาพ)
Soft Toy Bluetooth Dice และพัฒนาเกม Android ด้วย MIT App Inventor: การเล่นเกมลูกเต๋ามีวิธีการที่แตกต่างกัน1) การเล่นแบบดั้งเดิมกับลูกเต๋าไม้หรือทองเหลือง 2) เล่นในมือถือหรือพีซีด้วยค่าลูกเต๋าที่สุ่มสร้างโดยมือถือหรือ pc.in วิธีที่แตกต่างกันนี้ เล่นลูกเต๋าและย้ายเหรียญในมือถือหรือพีซี
APP INVENTOR 2 - เคล็ดลับหน้าสะอาด (+4 ตัวอย่าง): 6 ขั้นตอน
APP INVENTOR 2 - Clean Front Tips (+4 Example): เราจะมาดูกันว่าเราจะทำให้แอปของคุณบน AI2 ดูสวยงามได้อย่างไร :) คราวนี้ไม่มีโค้ด มีแต่เคล็ดลับสำหรับแอปที่ลื่นไหลอย่าง 4 ตัวอย่างด้านบน
(Ascensor) โมเดลลิฟต์โดยใช้ Arduino, App Inventor และซอฟต์แวร์ฟรีอื่นๆ: 7 ขั้นตอน
(Ascensor) โมเดลลิฟต์โดยใช้ Arduino, App Inventor และซอฟต์แวร์ฟรีอื่นๆ: ESPConstrucción, paso a paso, de un ascensor a escala usando arduino (como controlador del motor y entradas y salidas por bluetooth), app inventor (para diseño de aplicación como panel ออกจากการควบคุม ascensor) y freeCAD y LibreCAD สำหรับ diseño.Abajo
MIT App Inventor การทดสอบอนุภาคโฟตอน: 5 ขั้นตอน
MIT App Inventor Particle Photon Test: เรา (Team Practical Projects) ได้พัฒนาโครงการที่เชื่อมต่ออินเทอร์เน็ตโดยใช้อุปกรณ์ Particle Photon และ Electron IoT มาหลายปีแล้ว โปรดดูที่:https://github.com/TeamPracticalProjects เราได้ใช้บริการหลายอย่างเพื่อ สื่อสารกับพ่อของเรา