Mündəricat:
- Addım 1: İstifadə olunan mənbələr
- Addım 2: Quraşdırma
- Addım 3: MBED -də Yeni Proqram
- Addım 4: DS18b20 Kitabxanasını idxal edin
- Addım 5: MBED -də Yeni Proqram
- Addım 6: Mənbə Kodu
- Addım 7: Məlumat Alındı
- Addım 8: Daha çox sensorlar daxildir
- Addım 9: Mənbəyə baxın
- Addım 10: Fayllar
Video: Proqramlaşdırmaq üçün inanılmaz dərəcədə asan!: 10 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu gün, Ultra Aşağı Gücün üzü olan L476RG STM32 Core haqqında danışacağam. Şəklin sol tərəfində görə bilərsiniz. Bu cihazın hər tərəfində biri arduino qalxanı üçün bağlayıcılardan başqa bir şey olmayan iki dişi pin çubuğu var. Bu əladır, elə deyilmi?
Fikrimcə, STMicroelectronics bunu İnkişaf etdirmə Kitində etdi, çünki mütəxəssislərin bu çipdən istifadə etdiyini bilir. Bu şirkət daha çox arduinoya doğru gedir. Və bu, bir neçə digər peşəkar STMicroelectronics dəstləri üçün də doğrudur.
Nəhayət, bu gün layihə ilə əlaqədar olaraq, L476RG -yə əlavə olaraq iki DS18b20 sensoru istifadə edəcəyik. Beləliklə, L476RG istifadə edərək sadə bir montaj edəcəyik, kitabxananı MBED mühitinə idxal edəcəyik, MBED mühitində bir proqram yaradacağıq və USB / Serial vasitəsilə L476RG -dən məlumat alacağıq.
Bu videoda L476RG haqqında bir az danışmışam: onlayn olan MBED mühitinin necə konfiqurasiya olunacağını göstərdiyim bir mikrokontrolörün proqramlaşdırılmasının daha asan yolu.
Videolarımı izləyən bəzi insanlar STM32 -nin ESP32 -ni əvəz edib -etmədiyini soruşurlar. Bir şeyi deyirəm: əvəz etmir və edə bilməz, çünki bunlar tamamilə fərqli iki şeydir.
Bu STM32 çipi bir mikro nəzarətçidir, daha doğrusu; ESP32 kimi "şeylər qrupu" deyil. Buna görə ad oxşar görünə bilər, amma tamamilə fərqlidir. STM32, məsələn, PIC, Atmel kimi ümumi məqsədli bir mikro nəzarətçidir.
Addım 1: İstifadə olunan mənbələr
1 Nüvəli L476RG
2 DS18b20 sensoru (bazarda ümumi su keçirməyən modullardan istifadə edirik)
1 4k7 rezistor
Mini protoboard
Bağlantı üçün tullananlar
Addım 2: Quraşdırma
Əvvəlcə montajı temperatur sensörlərindən birini istifadə edərək həyata keçirəcəyik.
Gücü 5V olacaq.
Məlumat xəttində (1-Tel) bir çəkmə aparmaq üçün 4k7 rezistoru istifadə ediləcək.
A0 pinindən istifadə edərək məlumatları oxuyacağıq.
Addım 3: MBED -də Yeni Proqram
Hesabınızı MBED -də qurduqdan və ona daxil olduqdan sonra yeni bir proqram yaradacağıq. Bunu etmək üçün "Proqramlarım" ı sağ vurun və "Yeni Proqram …" seçin.
"Platformanın" istifadə etdiyiniz lövhəyə uyğun olduğunu təsdiq edin.
İndi "Şablon" düyməsini basın.
"UART istifadə edərək kompüterdə bir mesaj göstər" nümunəsinə əsaslanaraq bir proqram yaradacağıq.
Proqramın adını "Proqram Adı" na daxil edin.
"Bu proqramı və kitabxanaları son versiyaya yeniləyin" seçimini yoxlayın.
Varsayılan MBED kitabxanası və main.cpp faylı daxil olmaqla proqramınız üçün yeni bir qovluq yaradılacaq.
Hər şeyin yaxşı işlədiyini yoxlamaq üçün istifadə edə bilərsiniz. Bunu etmək üçün sadəcə tərtib edin və platformaya kopyalayın.
İstədiyiniz serial terminaldan istifadə edərək aşağıdakı mesajları ala bilərsiniz.
Addım 4: DS18b20 Kitabxanasını idxal edin
Ds18b20 üçün kitabxanaların bir neçə versiyası olduğundan, nümunəniz eyni kitabxanadan istifadə etməsi üçün bir url istifadə edərək idxal edəcəyik.
Addım 5: MBED -də Yeni Proqram
"Mənbə URL" sahəsində: https://os.mbed.com/users/Sissors/code/DS1820/ doldurun və idxal edin.
DS1820 kitabxananız proqram qovluğunda görünməlidir.
Addım 6: Mənbə Kodu
Daxildir
Lazımi kitabxanaları daxil etməklə başladıq.
#"mbed.h" daxil edin // MBED daxil edin#"DS1820.h" daxil edin // DS1820 biblioteca sensoru daxil edin
İstifadə olunan sancaqları təmsil edəcək sabitləri təyin edirik.
DS18b20, 1-WIRE əlaqəsi olan bir sensordur. Bu səbəbdən, cihazlarla bütün ünsiyyət protokolunu idarə edəcək kitabxanadan istifadə edirik. Bura hər bir cihazın oxunan əmrlərə qədər təyin edilməsi daxildir.
#PINO_DE_DADOS A0 təyin edin // MAX_SENSORLARI müəyyən edin // sensorlar üçün müəyyən edin
Məlumat xəttinə bağlı 16 mümkün qurğunun hər birini göstərəcək bir vektor yaradırıq.
DS1820* sensoru [MAX_SENSORES]; // sensorlar üçün hər hansı bir məlumat əldə edə bilərsiniz
Əsas () metodunu işə salırıq, burada DS1820 kitabxanasında olan "unassignedProbe ()" metodundan istifadə edərək rabitə xəttindəki bütün mövcud cihazları axtarırıq.
Sensor vektorunu mövcud sensorların hər birini təmsil edəcək nümunələrlə doldururuq.
Bunu sonuncusu tapılana qədər və ya maksimum 16 sensora çatana qədər edirik.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// in sensia sensors sensorlar [encontrados] = yeni DS1820 (PINO_DE_DADOS); // sensorlar encontrado encontrados üçün ++; əgər (encontrados == MAX_SENSORES) // sensorlar pozulursa; }
Xəttdə tapılan sensorların sayını göndəririk.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados);
Sonsuz bir döngə başlatırıq, bütün mövcud sensorların müvafiq temperaturlarını hesablamalarını və sonra alınan oxunuşları göndərərək sensor vektoru vasitəsilə təkrarlamalarını tələb edirik.
printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); while (1) {sensor [0]-> convertTemperature (doğru, DS1820:: all_devices); // (int i = 0; maddə istiliyi ()); //… bir temperatur temperaturu çapı ("\ r / n"); gözləyin (1); }
Addım 7: Məlumat Alındı
Tək bir sensordan istifadə edərək aşağıdakı serial çıxışı əldə edirik.
Addım 8: Daha çox sensorlar daxildir
Kodu sınamaq üçün, ilk sensora paralel olaraq bağlayaraq, əlaqə xəttinə başqa bir sensor təqdim edirik.
Yeni sensorlar bağlamadan əvvəl qurğunu söndürməyi unutmayın.
Montajı yenidən başladıqda mənbə kodunda heç bir dəyişiklik etmədən aşağıdakı nəticəni əldə etdik.
Addım 9: Mənbəyə baxın
#"mbed.h" daxil edin /MBED daxil edin #DS1820.h daxil edin // DS1820 biblioteca sensoru daxil edin #PINO_DE_DADOS A0 təyin edin // MAX_SENSORES 16 müəyyən edin DS1820* sensorlar üçün sensorlar [MAX_SENSORES]; // int 16 və ya daha çox sensorlar int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// in sensia sensorlar sensorlar [encontrados] = yeni DS1820 (PINO_DE_DADOS); // sensorlar encontrado encontrados üçün ++; əgər (encontrados == MAX_SENSORES) // sensorlar pozulursa; } printf ("Dispositivos encontrado (s): %d / r / n / n", encontrados); while (1) {sensor [0]-> convertTemperature (doğru, DS1820:: all_devices); // (int i = 0; maddə istiliyi ()); //… e -poçt və temperatura çapı ("\ r / n"); gözləyin (1); }}
Addım 10: Fayllar
Digərləri
Tövsiyə:
Çox sürətli AC Motor İdarəçiliyi üçün IR Dekoderini necə proqramlaşdırmaq olar: 7 addım
Çox sürətli AC Motor İdarəçiliyi üçün IR Dekoderini necə proqramlaşdırmaq olar: Tək fazalı alternativ cərəyan mühərrikləri adətən fanatlar kimi məişət əşyalarında olur və müəyyən edilmiş sürətlər üçün bir sıra ayrı sarımlardan istifadə edərkən onların sürəti asanlıqla idarə olunur. Bu Təlimat kitabçasında bir rəqəmsal nəzarətçi qururuq ki
Dəhşətli dərəcədə qorxunc: Mexaniki Siqnal Səsini dəyişdirin: 8 addım (şəkillərlə)
Dəhşətli dərəcədə qorxunc: Mexaniki Siqnal Səsini dəyişdirin: Gecə ağıllı telefon istifadəmi azaltmaq ümidi ilə yatağımın yanında üzümlü zəngli saat aldım. Bu gözəl mexaniki saatın yalnız bir problemi var: həqiqətən qorxunc bir həyəcan siqnalı. (Yuxarıdakı ilk videonun şahidi olun.) Bu saatın nə olduğu təəccüblü deyil
DIY MusiLED, Bir klik Windows və Linux Tətbiqi (32 bit və 64 bit) ilə Sinxronizasiya edilmiş LEDlər. Yenidən Yaratmaq, İstifadəsi Asan, Porta Asan .: 3 Addım
DIY MusiLED, Bir klik Windows və Linux Tətbiqi (32 bit və 64 bit) ilə Sinxronizasiya edilmiş LEDlər. Yenidən Yaratmaq, İstifadəsi Kolay, Portu Asan.: Bu layihə Arduino Kartına 18 LED (6 Qırmızı + 6 Mavi + 6 Sarı) bağlamağa və kompüterinizin Səs Kartının real vaxt siqnallarını təhlil etməyə və onları Diod effektlərinə görə onları işıqlandırmaq üçün LEDlər (Tələ, Yüksək Şapka, Kick)
Audacity -ni müəyyən bir zamanda qeyd etmək üçün necə proqramlaşdırmaq olar: 8 addım
Audacity-ni müəyyən bir zamanda qeyd etmək üçün necə proqramlaşdırmaq olar: Bu sürətli bir hiylədir, casusluq etmək, telefon zəngi yazmaq və ya kənarda olarkən sadəcə tarix sinifindəki çıxışınızı qeyd etmək üçün istifadə edin Məşhur Audacitylet-in başlanğıc proqramından istifadə edin
Qəribə dərəcədə asan Arduino ProtoShield: 7 addım
Təəccüblü dərəcədə asan Arduino ProtoShield: Dünən bir ProtoShield Instructable dərc etdim. Ofset Arduino başlığının uçotunun faydası var idi, amma insanlar bunun bir az qarışıq olduğunu qeyd etdilər (standart kişi başlıqlarının yaxşı olacağı epoksi istifadə etdim.) Utandığımın səbəbi