Mundarija:

Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor): 5 qadam
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor): 5 qadam

Video: Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor): 5 qadam

Video: Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor): 5 qadam
Video: Turn ON and OFF LED using mobile App using Bluetooth on ESP32 board 2024, Noyabr
Anonim
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)
Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor)

Men bu qo'llanmada App Inventor -dan qanday foydalanishni va uni bluetooth yordamida arduino -ga ulashni ko'rsataman

1 -qadam: Sizga nima kerak va sxematik

Sizga nima kerak va sxematik
Sizga nima kerak va sxematik
Sizga nima kerak va sxematik
Sizga nima kerak va sxematik
Sizga nima kerak va sxematik
Sizga nima kerak va sxematik

Xo'sh, bu ro'yxat, chunki hech narsa o'zgarmaydi, agar siz bu erda skriptni aylantirsangiz

  1. Internetga ulanish
  2. Android telefon (albatta)
  3. Bepul ro'yxatdan o'ting (reklama emas) App Inventor
  4. Arduino + Bluetooth moduli
  5. LED/chiziqli RGB
  6. Qarshilik 100/200/330

2 -qadam: Arduino kodini e'lon qilish va sozlash

Avval o'zgaruvchilar, raqamlar porti va boshqalarni e'lon qiling ("o'rniga" ni qo'ying)

#"SoftwareSerial.h" ni qo'shing

#"Wire.h" SoftwareSerial BT ni qo'shing (10, 11);

Men 7 va 8 -portlarni RX TX sifatida ishlatmoqdaman, agar bluetooth modulini ulashni xohlasangiz, RX pinli pinni TX piniga ulanganligiga ishonch hosil qiling.

int LED_RED = 3;

int LED_GREEN = 5; int LED_BLUE = 6; String ma'lumotlari = ""; String data_Previous = "255.255.255"; String ON = "LON"; String OFF = "LOFF"; mantiqiy holat = noto'g'ri;

Keyingi skript - RGB LED/Stips pinining PWM piniga o'tishiga ishonch hosil qilish

bo'sh o'rnatish ()

{pinMode (LED_RED, OUTPUT); pinMode (LED_GREEN, pinMode (LED_BLUE, OUTPUT); Serial.begin (9600); BT.begin (9600); data.reserve (30);}

Ko'rib turganingizdek, men bluetooth portini BT deb nomladim, shuning uchun uni odatdagidek ketma -ket deb e'lon qiling, ovoz balandligi moduldagi konfiguratsiya bilan bir xil ekanligiga ishonch hosil qiling (standart 9600).

3 -qadam: Arduino kodi (asosiy kod)

VOID LOOP INSIDE

while (BT.available ())

{char ReadChar = (char) BT.read (); Serial.println ("Ulangan"); if (ReadChar == '+') {holat = to'g'ri; } else {data += ReadChar; }}

Bluetooth modulini tekshirish uchun skript ulanadi yoki yo'q, agar ulangan bo'lsa, u ma'lumotlarni oladi va ReadChar -ga saqlaydi.

agar (davlat)

{Serial.print ("ma'lumotlar:"); Serial.print (ma'lumotlar); Serial.print ("Predata:"); Serial.print (data_Previous); if (data == ON) {data = data_Previous; Ma'lumotlar_LED (); } if if (data == OFF) {data = "0.0.0"; Ma'lumotlar_LED (); } boshqa {Data_LED (); data_Previous = ma'lumotlar; } ma'lumotlar = ""; holat = noto'g'ri; }

bu bo'shliq pastadirining oxirgi qismi, agar uning ichi ishlamasa, ma'lumotlar to'liqligiga ishonch hosil qilish uchun.

FUNCTION DATA LED

int seperator1 = data.indexOf ('-');

int seperator2 = data.indexOf ('-', seperator1+1); int seperator3 = data.indexOf ('-', seperator2+1);

bu qism - bu asosiy kod, chunki bitta satrni qabul qilishda u ajratuvchi qaerda joylashganligini bilishi kerak. 50 dan kichik RGB qiymatlari, indeks yordamida, biz qidirayotgan belgilar sonini topsa, biz substring funktsiyasini qaysi raqamdan boshlash kerakligini bilishimiz mumkin.

String R = data.substring (0, seperator1);

String G = data.substring (seperator1+1, seperator2); String B = data.substring (seperator2+1, seperator3);

Har bir qiymatni joylashtirilgandan so'ng, subString funktsiyasi har bir o'zgaruvchiga har bir sonni ajratib turadi, bundan oldin qiymat o'qilmaganligiga ishonch hosil qilish uchun ajratuvchi kuchayadi.

4 -qadam: App Inventor

Ilova ixtirochisi
Ilova ixtirochisi
Ilova ixtirochisi
Ilova ixtirochisi

Bu xizmat yangi boshlanuvchilarni (men kabi) osonlashtiradi, android ilovasi mantiqqa, sabrli bo'lishga va internetga muhtoj

Avval oddiy GUI qiling

Jadvalni rejalashtirishni yoki tasvirlashni boshlang, men qora qilgan birinchi versiya - oq, ikkinchisi

2 -chi MIT APP -ni oching yoki bu erni bosing

  1. Bu qadam Ilovalar yaratish -ni bosing! burchakda
  2. Yangi loyihani boshlang
  3. Ismni kiriting
  4. Dizaynni boshlang

Agar siz manbaimdan foydalansangiz, Loyihalar -ni bosing va import aia -ni tanlang

Kirish

Bu xizmatda sizga mantiq kerak, chunki har bir kontentning o'ziga xos rangi va izohi bor, agar tushunmasangiz qidiring, agar siz skript/kodlashni yaxshi bilsangiz qiyin emas.

Asosiy rang g'ildiragi va bluetooth mijozi edi, bu erda tushuntirish

Rangli g'ildirak

  1. Rangli g'ildirak barmoqni tegib turgan joyini aniqlash orqali qiymatini oladi
  2. Kursor barmog'ini kuzatib boradi, esda tutingki, kursor ba'zan nishon bilan tekislanmagan
  3. Kursor X va Y qiymatini oladi
  4. Bu qiymat getBackgroundPixelColour funktsiyasida ishlatiladi, asosan boshqa ilovalarda rang tanlagich kabi.
  5. Ro'yxat soniga ko'ra har bir qiymatning 3 ta qiymati (qizil, yashil, ko'k) bor (1dan boshlang)
  6. Bu rangli g'ildirak yasashning oddiy usuli

BLUETOOTH

  1. Qiymatni olganingizdan so'ng, uni qo'shish orqali yuboring - har bir belgi uchun va qo'shilish funktsiyasidan foydalanib + oxirida qo'shing
  2. Uni serialga yuboring

5 -qadam: Xulosa

Yomon ingliz tili uchun uzr so'rayman, men sinovdan o'tdim va RGB LED -dagi muammoni topdim (qizil diod 100R -dan foydalanadigan yorqin hodisaga to'g'ri kelmaydi). Agar menda bo'lsa, men RGB Strip -ni yarataman, men samolyotning 3 -chi versiyasini partiya yorug'ligi, maxsus partiya chirog'i va boshqa narsalarni yaxshilash kabi ko'proq funktsiyalarni bajarishga harakat qilaman.

Agar u haqiqatan ham ishlasa, meni ham to'g'rilaydi. Baxtli kodlash ^^

Tavsiya: