Mündəricat:
- Addım 1: Ehtiyacınız olan…
- Addım 2: Parçaları birləşdirin
- Addım 3: Arduino IDE qurmaq
- Addım 4: Kodlaşdırma vaxtı
Video: RGB İstilik Göstəricisi (XinaBox ilə): 5 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bu rəsmi olaraq ilk Instructables məqaləmdir, buna görə də sınamaq üçün bu fürsətdən istifadə etdiyimi etiraf edəcəm. Platformanın necə işlədiyini, bütün istifadəçi təcrübəsi tərəfini hiss edin. Ancaq bunu edərkən, bu gün üzərində işlədiyim sadə bir layihəni də paylaşmaq imkanından istifadə edə biləcəyimi düşündüm (bu arada "X-in-a-" Qutu").
Bu sadə 5 addımlı təlimatda aşağıdakı mövzuları əhatə edəcəyəm:
- Lazım olan komponentlər
- Fərqli xChipləri bir araya gətirmək.
- Arduino IDE mühitinin qurulması.
- Kodu yazmaq
- Və nəhayət, fikri sınamaq
Bu təlimatda paylaşmayacağım şeylər:
- Bu xChip -lərin hər birinin nə edə biləcəyini və onları müəyyən funksiyaları yerinə yetirmək üçün necə manipulyasiya edə biləcəyinizi izah etməyə çalışmaq nə qədər çox olsa da, bu təlimatlandırmanın məqsədi olmayacaq. Yaxın gələcəkdə XinaBox -un məhsul kataloqu vasitəsi ilə mövcud olan müxtəlif xChip -lərin hər birinə daxil olacaq digər Təlimat kitablarını nəşr etməyi planlaşdırıram.
- Arduino kodunun əsaslarını öyrənməyəcəyəm, çünki artıq Arduino IDE -dən istifadə təcrübənizin və C/C ++ proqramlaşdırmasının əsas səviyyəsini başa düşdüyünüzü düşünürəm.
Addım 1: Ehtiyacınız olan…
Texniki cəhətdən ən çox məhsul dərsləri ümumiyyətlə "Hello World!" İlə başlayır. məsələn və ya hətta bir nöqtədə Arduino və ya Raspberry Pi ilə işlədiyiniz üçün çox tanış ola biləcəyiniz bir "Blink" nümunəsi. Ancaq bununla başlamaq istəmirəm, çünki hamı artıq eyni şeyi edir, bu da onu bir az cansıxıcı edir.
Bunun əvəzinə praktik bir layihə ideyası ilə başlamaq istədim. İstəyirsinizsə həm kifayət qədər sadə, həm də daha mürəkkəb bir layihə ideyasına çevrilə bilən bir şey.
Ehtiyac duyduğumuz maddələr budur (Təlimat kitabının bu bölməsi üçün təqdim olunan fotolara baxın):
- IP02 - Qabaqcıl USB Proqramlaşdırma İnterfeysi
- CC03 - Arm Cortex M0+ Core
- SW02 - VOC və Hava Sensoru (BOSCH tərəfindən BME680 sensoru istifadə olunur)
- xBUS bağlayıcıları - müxtəlif xChips (x2) arasında I2C əlaqəsini təmin etmək
- xPDI konnektoru - proqramlaşdırma və ayıklama imkan verir (x1)
Addım 2: Parçaları birləşdirin
Bütün parçaları birləşdirmək üçün əvvəlcə 1 ədəd xBUS konnektoru və xPDI konnektoru ilə başlayacağıq.
Təqdim etdiyim şəkillərdən sonra, xChiplərin istiqamətini və bağlayıcıların hara gedəcəyini qeyd edin.
IP02 və CC03 xChips arasında əlaqə nöqtələrini müəyyən etmək olduqca asandır.
CC03 üçün cənub tərəfi olacaq. IP02 üçün xChip -in şimal tərəfi olacaq.
Bunu etdikdən sonra CC03 xChip -in qərb tərəfinə başqa bir xBUS konnektoru əlavə edəcəyik.
Bitdi?
İndi SW02 xChip -i CC03 -ün qərb tərəfinə bağlayın.
Laptopumuza IP02 daxil etməzdən əvvəl iki açar üçün aşağıdakı seçimlərin seçildiyinə əmin olun:
- B seçildi (sol keçid)
- DCE seçildi (sağ keçid)
Nəhayət, indi IP02 -ni dizüstü kompüterimizə daxil etməyə və Arduino IDE qurmağa başlamağa hazırıq.
Addım 3: Arduino IDE qurmaq
Yenə də bu təlimatlandırıcı kitabda Arduino IDE mühiti ilə tanış olduğunuzu və inkişaf mühitində kitabxanaları necə idarə edəcəyinizi ehtimal etdim.
Bu layihə üçün iki əsas kitabxanaya ehtiyacımız olacaq:
- arduino-CORE-https://github.com/xinabox/arduino-CORE
- SW02 kitabxanası -
Hər iki kitabxananı masaüstünüzdəki bir yerə yükləyin.
Sonra Arduino IDE -ni işə salın.
Əsas menyudan "Eskiz"> "Kitabxanaya daxil et"> ". ZIP Kitabxanası əlavə et …" seçin.
Hər iki kitabxana faylı üçün eyni prosesi təkrarlayın.
Sonra, müvafiq "Board" və "Liman" ı seçməliyik. (Diqqət yetirin ki, narıncı bir qutudan istifadə edərək lazımi seçimləri də vurğuladım.
- Lövhə: "Arduino/Genuino Zero (Native USB Port)"
- Port: "COMXX" (bu, maşınınızda əks olunan COM portuna uyğun olmalıdır. Mənimkim COM31 istifadə edir)
Tamam! Bilirəm ki, kodlaşdırmaya keçmək istəyirdiniz, buna görə də növbəti addımda diqqət edəcəyimiz şey budur.
Addım 4: Kodlaşdırma vaxtı
Bu bölmədə, tamamlanmış layihə kodundan kod parçalarını paylaşaraq başlayacağam. Və sonunda, Arduino IDE mənbə sənədinizə kodu kopyalayıb yapışdırmağınızı asanlaşdıraraq tam mənbəni dərc edəcəyəm.
Başlıq faylları:
#include /* Bu, əsas XinaBox Core Functions üçün kitabxanadır. */
#include /* Bu VOC və Hava Sensoru xChip üçün kitabxanadır. */
RGB Led Siqnallarını idarə etmək üçün bəzi sabitlərin təyin edilməsi:
#redLedPin A4 təyin edin
#yaşılLedPin 8 təyin edin #maviLedPin 9
Sonra, RGB dəyərlərini ötürmək üçün bir funksiya prototipini elan etməliyik
boşluq setRGBColor (int redValue, int greenValue, int blueValue);
SW02 obyektinin elan edilməsi:
xSW02 SW02;
Setup () metodu:
boş quraşdırma () {
// I2C Communication Wire -ı işə salın.begin (); // SW02 Sensorunu işə salın SW02.begin (); // Sensorun gecikməni normallaşdırması üçün gecikmə (5000); }
İndi əsas döngə () üçün:
boşluq döngəsi () {
float tempC; }
Bundan sonra, sensor çipi ilə ünsiyyətə başlamaq üçün proqramın əvvəlində yaratdığımız SW02 obyektini istifadə edərək sorğu keçirməliyik:
// SW02 sensorundan məlumatları oxuyun və hesablayınSW02.poll ();
İndi sensorun temperatur göstəricisini əldə etmək üçün oxuyuruq
tempC = SW02.getTempC ();
Oxumanı əldə etdikdən sonra, edəcəyimiz son şey, temperatur aralığını təyin etmək üçün əgər… başqa… nəzarət ifadələrindən istifadə etmək və sonra setRGBColor () funksiyasını çağırmaqdır
// İqliminizə uyğun olaraq temperatur aralığını tənzimləyə bilərsiniz. Mənim üçün Sinqapurda yaşayıram
// bütün il boyu tropikdir və burada temperatur aralığı olduqca dar ola bilər. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }
Qeyd: Müvafiq RGB dəyərlərinin müəyyən bir rəng üçün nə olduğunu bilmək istəyirsinizsə, "RGB rəng dəyərləri" üçün google axtarışınızı aparmağı məsləhət görürəm. İstədiyiniz rəngi seçmək üçün rəng seçicidən istifadə edə biləcəyiniz çox sayda sayt var
// İstəsəniz və bu isteğe bağlıdırsa, sensorun oxunması üçün sorğu arasında gecikmə də əlavə edə bilərsiniz.
gecikmə (DELAY_TIME);
Əlbəttə ki, proqramın əvvəlində DELAY_TIME sabitini elan edə bilərsiniz, beləliklə, proqramın bir çox yerində deyil, yalnız bir dəfə dəyərini dəyişdirməlisiniz. Nəhayət, RGB LED -ni idarə etmək funksiyasına ehtiyacımız var:
boşluq setRGBColor (int redValue, int greenValue, int blueValue) {
analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }
Final Proqramı
#daxil edin
#daxil edin #define redLedPin A4 #define greenLedPin 8 #define blueLedPin 9 boşluq dəstiRGBColor (int redValue, int greenValue, int blueValue); const int DELAY_TIME = 1000; xSW02 SW02; void setup () {// I2C Communication Wire.begin () başlayın; // SW02 Sensorunu işə salın SW02.begin (); // Sensorun gecikməni normallaşdırması üçün gecikmə (5000); } void loop () {// SW02 float tempC -dən oxunan məlumatları saxlamaq üçün dəyişən yaradın; tempC = 0; // SW02 sensorundan məlumatları oxuyun və hesablayın SW02.poll (); // Temperatur dəyişkən tempC = SW02.getTempC () -də temperaturun ölçülməsi və saxlanılması üçün SW02 tələb edin. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // Sensor arasındakı gecikmə oxuma gecikməsi (DELAY_TIME); } void setRGBColor (int redValue, int greenValue, int blueValue) {analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }
Proqramımız hazır olduqdan sonra xChip proqramlaşdıraq! Yükləmə prosesi, bir proqramı Arduino lövhələrinə necə yüklədiyiniz ilə eynidır.
İşiniz bitdikdə, niyə elektrik prizindən çıxarıb sınamaq üçün çıxarmayın.
Tövsiyə:
CPU İstilik Göstəricisi olan Soyuducu FAN Raspberry Pi Qutu: 10 Addım (Şəkillərlə)
CPU İstilik Göstəricisi olan Soyuducu FAN Raspberry Pi Qutu: Əvvəlki layihədə moruq pi (bundan sonra RPI) CPU temperatur göstərici dövrə təqdim etmişdim. Dövrə sadəcə olaraq RPI 4 fərqli CPU temperatur səviyyəsini göstərir.- Yaşıl LED yandıqda CPU temperaturu 30 ~
Raspberry Pi CPU İstilik Göstəricisi: 11 Addım (Şəkillərlə birlikdə)
Raspberry Pi CPU İstilik Göstəricisi: Əvvəllər sadə moruq pi (bundan sonra RPI) əməliyyat vəziyyəti göstərici dövrə təqdim etmişdim, bu dəfə başsız (monitor olmadan) işləyən RPI üçün daha faydalı bir göstərici dövrə izah edəcəyəm. CPU teması
Arduino İstilik və Nəmlik Göstəricisi: 7 addım (şəkillərlə)
Arduino tərəfindən İstilik və Nəmlik Göstəricisi: Bu Təlimat Arduino ilə temperatur və rütubəti göstərə biləcək bir qutunun necə hazırlanacağını göstərəcəkdir. Bu qutunu otağınızın temperaturu və rütubətini ölçmək üçün masaya qoya bilərsiniz. sıxılmış f
XinaBox istifadə edərək Tarix, Saat və İstilik Göstəricisi: 8 addım
XinaBox istifadə edərək Tarix, Saat və Temperatur Göstəricisi: ESP8266 əsaslı Xinabox xChips istifadə edərək Selsi və Fahrenheitdəki tarixi, saatı və temperaturu göstərən sərin OLED ekran
Bluetooth vasitəsi ilə SD Kart Modulu ilə Arduinodan Android Telefonuna İstilik və Rütubət Məlumatlarını Qeyd edən: 5 addım
Bluetooth vasitəsi ilə SD Kart Modulu ilə Arduinodan Android Telefona qədər İstilik və Rütubət Məlumatlarını Qeyd edən: Hamıya Salam, bu mənim ilk təlimatımdır, inşallah istehsalçı cəmiyyətinə kömək etdiyim kimi kömək edərəm. Çox vaxt layihələrimizdə sensorlar istifadə edirik, ancaq məlumatları toplamaq, saxlamaq və dərhal Telefonlara və ya digər cihazlara ötürmək üçün bir yol tapırıq