Përmbajtje:

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

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

Video: Arduino Led/Strips RGB Bluetooth (Arduino + App Inventor): 5 hapa
Video: Bluetooth LED strip arduino control Android App 2024, Nëntor
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)

Në këtë tutorial do të tregoj se si të përdor App Inventor dhe ta lidh atë me arduino duke përdorur bluetooth

Hapi 1: Ajo që ju nevojitet dhe Skematike

Ajo që ju nevojitet dhe Skematike
Ajo që ju nevojitet dhe Skematike
Ajo që ju nevojitet dhe Skematike
Ajo që ju nevojitet dhe Skematike
Ajo që ju nevojitet dhe Skematike
Ajo që ju nevojitet dhe Skematike

Epo kjo është lista pasi zakonisht asgjë nuk ndryshon nëse ju këtu për skript thjesht lëvizni atë

  1. Lidhje interneti
  2. Telefoni Android (natyrisht)
  3. Regjistrohu është Shpikësi i Aplikacioneve pa pagesë (jo promovim)
  4. Moduli Arduino + Bluetooth
  5. LED/Rrip RGB
  6. Rezistenca 100/200/330

Hapi 2: Deklarata dhe Konfigurimi i Kodit Arduino

Së pari deklaroni variablat, numrin e numrit, etj. (Zëvendësoni "me <)

#përfshi "SoftwareSerial.h"

#përfshi "Wire.h" SoftwareSerial BT (10, 11);

Unë jam duke përdorur portin 7 dhe 8 si RX TX, mbani mend nëse doni të lidhni modulin bluetooth sigurohuni që moduli pin RX të lidhet me pin TX.

int LED_RED = 3;

int LED_GREEN = 5; int LED_BLUE = 6; Të dhënat e vargut = ""; Të dhënat e vargut_paraprak = "255.255.255"; String ON = "LON"; String OFF = "LOFF"; gjendje boolean = false;

skenari tjetër është të siguroheni që kunja e RGB LED/Stips të shkojë në pin PWM

void setup ()

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

Siç mund ta shihni, unë e quajta portën për bluetooth si BT, kështu që deklarojeni si Serial si zakonisht, sigurohuni që boudrate të jetë e njëjtë me konfigurimin në modul (parazgjedhja është 9600).

Hapi 3: Kodi Arduino (Kodi kryesor)

ND. RMJET LUPIT TO BASHKUAR

ndërsa (BT. në dispozicion ())

{char ReadChar = (char) BT.read (); Serial.println ("I lidhur"); if (ReadChar == '+') {gjendja = e vërtetë; } else {data += ReadChar; }}

Skripti për kontrollimin e modulit bluetooth është i lidhur ose jo, nëse lidhet do të marrë të dhëna dhe do t'i ruajë në ReadChar.

nëse (shteti)

{Serial.print ("të dhënat:"); Serial.print (të dhëna); Serial.print ("Predata:"); Serial.print (data_Parashikuar); nëse (të dhënat == ON) {të dhënat = të dhënat_paraprake; Data_LED (); } else if (data == OFF) {data = "0.0.0"; Data_LED (); } else {Data_LED (); të dhëna_paraprake = të dhëna; } të dhëna = ""; gjendje = false; }

kjo është pjesa e fundit e lakut të pavlefshëm, gjendja if për t'u siguruar që të dhënat janë të plota nëse jo nuk ka funksionuar brenda tij.

TAT DHNAT E FUNKSIONIT LED

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

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

kjo pjesë është kodi kryesor, sepse për të marrë një varg duhet ta dijë se ku ndodhet ndarësi. Nuk janë të mundshme vlerat e RGB nën 50, duke përdorur indexOf do të gjejë numrin e char që ne kërkojmë me këtë ne mund të dimë se cili numër të fillojë funksionin e nënstringut.

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

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

Pasi të merrni pozicionin e secilës vlerë, funksioni nënString do të bashkojë secilin numër në secilën variabël, duke rritur seperatorin për t'u siguruar që nuk e ka lexuar vlerën para tij.

Hapi 4: Shpikësi i aplikacioneve

Shpikësi i aplikacioneve
Shpikësi i aplikacioneve
Shpikësi i aplikacioneve
Shpikësi i aplikacioneve

Ky shërbim do ta bëjë fillestarin (si unë) më të lehtë për ta bërë aplikacionin android vetëm nevojë për logjikë, durim dhe internet

Së pari bëni një GUI të thjeshtë

Filloni të planifikoni ose imagjinoni paraqitjen, ka dy versione që bëra e zeza është e para dhe e bardha është e dyta

Hapni aplikacionin e dytë të MIT ose klikoni këtu

  1. A është ky hap klikoni Krijo aplikacione! në cepin e ngurtësisë
  2. Filloni një projekt të ri
  3. Shkruani emrin
  4. Filloni të hartoni

Nëse përdorni burimin tim, klikoni Projektet dhe zgjidhni aia import

Prezantimi

Në këtë shërbim keni nevojë për një logjikë sepse për secilën përmbajtje kanë ngjyrën dhe shpjegimin e tyre, thjesht kërkoni nëse nuk e kuptoni, nuk është e vështirë nëse jeni të njohur me shkrimin/kodimin.

Kryesorja ishte rrota me ngjyra dhe klienti bluetooth, këtu shpjegimi

RROK NGJYRA

  1. Rrota me ngjyra merr vlerën duke zbuluar gishtin ku prek
  2. Kursori do të ndjekë gishtin, mbani mend që kursori nganjëherë nuk ka përsosur align me objektivin
  3. Kursori do të marrë vlerën X dhe Y dhe
  4. Kjo vlerë do të përdoret nga funksioni i getBackgroundPixelColour, në thelb si zgjedhës i ngjyrave në aplikacionet e tjera
  5. Ekzistojnë 3 vlera (e kuqe, jeshile, blu) secila prej vlerave të ndara sipas numrit të listës (filloni nga 1)
  6. Kjo është mënyra e thjeshtë për të bërë rrota me ngjyra

BLUETOOTH

  1. Pasi të keni marrë vlerën dhe dërgojeni duke shtuar - për secilin karakter dhe shtoni + në fund duke përdorur funksionin e bashkimit
  2. Dërgoje në serial

Hapi 5: Përfundimi

Më falni për anglishten time të keqe, po testoja dhe gjeta problemin me LED -in tim RGB (Dioda e kuqe nuk do të përdoret për ngjarje të ndritshme që përdor 100R). Unë do të bëjë RGB Rrip nëse ka, unë jam duke u përpjekur versionin e tretë aeroplanin tim për të bërë më shumë karakteristika si drita e partisë, dritë me porosi të partisë dhe për të përmirësuar diçka.

Nëse funksionon vërtet nëse jo më korrigjoni gjithashtu. Kodim i lumtur ^^

Recommended: