Përmbajtje:

Treguesi i temperaturës RGB (me XinaBox): 5 hapa (me fotografi)
Treguesi i temperaturës RGB (me XinaBox): 5 hapa (me fotografi)

Video: Treguesi i temperaturës RGB (me XinaBox): 5 hapa (me fotografi)

Video: Treguesi i temperaturës RGB (me XinaBox): 5 hapa (me fotografi)
Video: Светодиодная гистограмма Код Arduino UNO || Проект Ардуино 2024, Nëntor
Anonim
Treguesi i temperaturës RGB (me XinaBox)
Treguesi i temperaturës RGB (me XinaBox)

Ky është zyrtarisht artikulli im i parë i Instructables, kështu që unë do të pranoj se po e përdor këtë mundësi tani për ta provuar. Merrni një ndjenjë se si funksionon platforma, e gjithë përvoja e përdoruesit nga ana e saj. Por ndërsa po e bëj këtë, kuptova se mund të përdor gjithashtu rastin për të ndarë një projekt të thjeshtë në të cilin kam punuar sot (duke përdorur produktet nga XinaBox, i cili nga rruga, shqiptohet si "X-in-a- Kuti ").

Në këtë udhëzues të thjeshtë me 5 hapa, unë do të mbuloj temat e mëposhtme:

  • Përbërësit e nevojshëm
  • Lidhja e xChips të ndryshme së bashku.
  • Vendosja e mjedisit Arduino IDE.
  • Shkrimi i kodit
  • Dhe së fundi, testimi i idesë

Çfarë nuk do të ndaj në këtë udhëzues:

  • Sa më pëlqen të zhytem në shpjegimin se çfarë mund të bëjë secili prej atyre xChips dhe si mund t'i manipuloni ato për të kryer disa funksione, ky nuk do të ishte qëllimi i këtij udhëzuesi. Unë planifikoj të botoj Instructables të tjera në të ardhmen e afërt që do të zhyten në secilën prej xChips të ndryshme që janë në dispozicion përmes katalogut të produkteve të XinaBox.
  • Unë nuk do të hyj në bazat e kodit Arduino pasi supozoj që ju tashmë keni një nivel të përvojës me përdorimin e Arduino IDE si dhe një kuptim bazë të programimit C/C ++.

Hapi 1: Çfarë ju nevojitet…

Ajo që ju nevojitet…
Ajo që ju nevojitet…
Ajo që ju nevojitet…
Ajo që ju nevojitet…
Ajo që ju nevojitet…
Ajo që ju nevojitet…

Teknikisht, mësimet më themelore të produktit zakonisht fillojnë me një "Përshëndetje Botë!" shembull, apo edhe një shembull "Blink", të cilin mund ta keni njohur shumë pasi keni punuar me Arduino ose Raspberry Pi në një moment. Por nuk dua të filloj me këtë sepse të gjithë tashmë po bëjnë të njëjtën gjë, gjë që e bën atë pak të mërzitshëm me të vërtetë.

Në vend të kësaj, doja të filloja me një ide praktike projekti. Diçka që është edhe mjaft e thjeshtë dhe e shkallëzueshme në një ide projekti më komplekse nëse dëshironi.

Këtu janë artikujt që do të na duhen (referojuni fotove të ofruara për këtë pjesë të Instructable):

  1. IP02 - Ndërfaqe e përparuar e programimit USB
  2. CC03 - Kortika e krahut M0+ Bërthama
  3. SW02 - VOC dhe Sensori i Motit (i cili përdor sensorin BME680 nga BOSCH)
  4. lidhësit xBUS - për të mundësuar komunikimet I2C midis xChips të ndryshme (x2)
  5. lidhës xPDI - për të mundësuar programimin dhe korrigjimin (x1)

Hapi 2: Lidhja e Copave

Lidhja e Copave
Lidhja e Copave
Lidhja e Copave
Lidhja e Copave
Lidhja e Copave
Lidhja e Copave

Për të lidhur të gjitha pjesët së bashku, së pari do të fillojmë me 1 pjesë të lidhësit xBUS dhe lidhësin xPDI.

Duke ndjekur imazhet që kam ofruar, vini re orientimin e xChips dhe ku do të shkojnë lidhësit.

Midis IP02 dhe CC03 xChips, është mjaft e lehtë të identifikosh pikat lidhëse.

Për CC03, do të jetë ana jugore. Për IP02, do të jetë ana veriore e xChip.

Pasi të bëhet kjo, ne do të shtojmë një lidhës tjetër xBUS në anën perëndimore të CC03 xChip.

U krye?

Tani, thjesht lidhni SW02 xChip me anën perëndimore të CC03.

Para se të fusim IP02 në laptopin tonë, sigurohuni që opsionet e mëposhtme të jenë zgjedhur për dy çelsin:

  • B është zgjedhur (çelësi i majtë)
  • DCE është zgjedhur (kaloni në të djathtë)

Më në fund, tani jemi gati të fusim IP02 në laptopin tonë dhe të fillojmë konfigurimin e Arduino IDE.

Hapi 3: Vendosja e Arduino IDE

Konfigurimi i Arduino IDE
Konfigurimi i Arduino IDE
Konfigurimi i Arduino IDE
Konfigurimi i Arduino IDE

Përsëri, në këtë udhëzues, unë kam bërë supozimin se ju tashmë jeni njohur me mjedisin Arduino IDE, si dhe si të menaxhoni bibliotekat brenda mjedisit të zhvillimit.

Për qëllimet e këtij projekti, do të na duhen dy biblioteka kryesore:

  • arduino-CORE-https://github.com/xinabox/arduino-CORE
  • Biblioteka SW02 -

Shkarkoni të dy bibliotekat në një vendndodhje brenda desktopit tuaj.

Tjetra, filloni Arduino IDE tuaj.

Nga menyja kryesore, zgjidhni "Sketch"> "Include Library"> "Add. ZIP Library …"

Përsëriteni të njëjtin proces për të dy skedarët e bibliotekës.

Tjetra, do të na duhet të zgjedhim "Bordin" përkatës, si dhe "Portin". (Vini re se unë gjithashtu kam nxjerrë në pah zgjedhjet e nevojshme duke përdorur një kuti portokalli.

  • Bordi: "Arduino/Genuino Zero (Porta USB Native)"
  • Porti: "COMXX" (kjo duhet të jetë sipas portës COM që reflektohet në makinën tuaj. Miniera po përdor COM31)

Ne rregull! Unë e di që ju keni qenë të etur për të hyrë në kodim, kështu që në hapin tjetër, kjo është ajo në të cilën do të përqendrohemi.

Hapi 4: Koha për të koduar

Në këtë pjesë, unë do të filloj duke ndarë copëza kodesh nga kodi i përfunduar i projektit. Dhe në fund, unë do të publikoj burimin e plotë, duke e bërë të lehtë për ju që thjesht të kopjoni dhe ngjisni kodin në skedarin tuaj burimor Arduino IDE.

Skedarët e kokës:

#include /* Kjo është biblioteka për funksionet kryesore XinaBox Core. */

#include /* Kjo është biblioteka për VOC & Sensori i motit xChip. */

Përcaktimi i disa konstanteve për kontrollin e sinjaleve të RGB Led:

#përcaktoni të kuqeLedPin A4

#përcaktoni jeshileLedPin 8 #përcaktoni bluLedPin 9

Tjetra, ne duhet të deklarojmë një prototip funksioni për kalimin e vlerave RGB

void setRGBColor (int redValue, int greenValue, int blueValue);

Deklarimi i objektit SW02:

xSW02 SW02;

Metoda e konfigurimit ():

void setup () {

// Filloni I2C Communication Wire.begin (); // Filloni Sensorin SW02 SW02.filloni (); // Vonesa për sensorin për të normalizuar vonesën (5000); }

Tani për lakin kryesor ():

lak void () {

noton tempC; }

Tjetra, do të na duhet të bëjmë sondazh duke përdorur objektin SW02 që kemi krijuar më herët në program për të filluar komunikimin tonë me çipin e sensorit:

// Lexoni dhe llogaritni të dhënat nga sensori SW02SW02.poll ();

Tani, ne po lexojmë për të marrë leximin e temperaturës së sensorit

tempC = SW02.getTempC ();

Pasi të kemi lexuar, gjëja e fundit që do të bëjmë është të përdorim një seri të deklaratave të kontrollit nëse… else… për të përcaktuar gamën e temperaturës, dhe më pas të thërrasim funksionin setRGBColor ()

// Ju mund të rregulloni gamën e temperaturës sipas klimës tuaj. Për mua, unë jetoj në Singapor, // e cila është tropikale gjatë gjithë vitit, dhe diapazoni i temperaturës mund të jetë mjaft i ngushtë këtu. nëse (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

Shënim: Nëse jeni të interesuar të dini se cilat janë vlerat përkatëse të RGB për një ngjyrë të veçantë, ju rekomandoj të bëni një kërkim në Google për "vlerat e ngjyrave RGB". Ka shumë faqe në dispozicion ku mund të përdorni një përzgjedhës ngjyrash për të zgjedhur ngjyrën që dëshironi

// Nëse ju pëlqen, dhe është opsionale, gjithashtu mund të shtoni një vonesë në mes të votimit për leximet e sensorit.

vonesë (DELAY_TIME);

Sigurisht që mund të deklaroni konstanten DELAY_TIME në fillim të programit, në atë mënyrë, ju vetëm duhet të modifikoni vlerën e tij një herë dhe jo në vende të shumta në të gjithë programin tuaj. Së fundi, ne kemi nevojë për funksionin për të kontrolluar LED -in tonë RGB:

void setRGBColor (int redValue, int greenValue, int blueValue) {

analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

Programi Përfundimtar

#përfshi

#përfshi #përkufizo të kuqenLedPin A4 #përcakto të gjelbërLedPin 8 #përcakto bluLedPin 9 void setRGBColor (int redValue, int greenValue, int blueValue); const int DELAY_TIME = 1000; xSW02 SW02; void setup () {// Filloni I2C Communication Wire.begin (); // Filloni Sensorin SW02 SW02.filloni (); // Vonesa për sensorin për të normalizuar vonesën (5000); } void loop () {// Krijo një ndryshore për të ruajtur të dhënat e lexuara nga SW02 float tempC; tempC = 0; // Lexoni dhe llogaritni të dhënat nga sensori SW02 SW02.poll (); // Kërkoni SW02 për të marrë matjen e temperaturës dhe ruajtur në ndryshoren // temperatue tempC = SW02.getTempC (); nëse (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // Vonesë e vogël midis vonesës së leximit të sensorit (DELAY_TIME); } void setRGBColor (int redValue, int greenValue, int blueValue) {analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

Tani që programi ynë është gati, le të programojmë xChip! Procesi i Ngarkimit është saktësisht i njëjtë me atë se si do të ngarkonit një program në bordet tuaja Arduino.

Kur të keni mbaruar, pse të mos e shkëputni nga priza dhe ta nxirrni për provë.

Recommended: