Mündəricat:
- Təchizat
- Addım 1: Arduino ilə saitlərin oyununun inkişafı
- Addım 2:
- Addım 3:
- Addım 4: Layihə Fikri
- Addım 5:
- Addım 6: Oyunun Proqramlaşdırma Məntiqinin Qurulması
- Addım 7:
- Addım 8:
- Addım 9: Void Setup () Function
- Addım 10: Əsas Function Void Loop ()
- Addım 11:
- Addım 12: Nəticə
- Addım 13: Təsdiq
Video: Arduino və YX5300 MP3 Modulu ilə saitlər oyunu Catalex: 13 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Bu sualı oxuya bilirsinizmi? Qəribədir! Bu sualı bilərəkdən verdim. Bu mətni oxuya bilirsinizsə, bunun səbəbi bütün əlifbanı bildiyiniz və əlbəttə ki, bütün saitləri öyrəndiyinizdir.
Saitlər bütün sözlərdə mövcuddur. Onların hər birindən qaçmaq mümkün deyil. İndi sənə bir sual verim. Uşaqlığınız öyrənmək əyləncəli və əlaqəli texnoloji qaynaqlar idi?
Əminəm ki, öyrənmə mənbələri az idi və saitləri və əlifbanı öyrənmək üçün ənənəvi üsullardan istifadə edirdiniz.
Axı saitləri öyrənmək üçün bəzi texnoloji mənbələrdən istifadə etmək mümkündürmü?
Bu yazıda şagirdlərinizə və uşaqlarınıza bir oyun vasitəsilə saitləri necə öyrətməyi öyrədəcəyəm.
Uşağınızın/şagirdinizin məktub səsini eşidəcəyi və düzgün hərfi göstərmək üçün bir düyməyə basmalı olduğu bir səsli bir sistem yaratmağı sizə öyrədəcəyəm.
Beləliklə, oynayarkən öyrənəcəklər və həmişə öyrənməyə həvəslənəcəklər.
İndi sizə öz oyununuzu yaratmağınız və uşaqlara saitləri öyrətməyiniz üçün addım-addım prosesi göstərəcəyəm.
Təchizat
JLCPCB Çaplı Devre Kartı
Arduino Uno
Düymə açarı
10 kR müqavimət
Kişi Başlığı 2, 54mm 1x7
Addım 1: Arduino ilə saitlərin oyununun inkişafı
Oyunun ürəyi Saitlərin JLCPCB çaplı elektron lövhəsidir. Bu linkə daxil olaraq layihə fayllarını yükləyə bilərsiniz. 5 düymədən ibarətdir. Saitləri təmsil etmək və Arduino -ya bağlamaq üçün hər düyməni istifadə edəcəksiniz.
Çap edilmiş elektron lövhə Şəkil 1 -də göstərilmişdir.
Addım 2:
Bu PCB Layihəsi ilə onu Arduino ilə birləşdirə və oyununuzu yarada bilərsiniz. Sonra, protoboardınızda bir layihə yığmaq və ya qurmaq üçün sizə elektron bir sxem təqdim edəcəyəm.
Addım 3:
Bu sxemdən, elektron lövhənin sxemini qurduq. Şəkil 2 -də göstərilmişdir və faylları yükləyib layihənizi edə bilərsiniz.
Arduinodan 5 sancaq seçin və lövhədəki atlayıcıları Arduino ilə bağlayın. Və ya əks halda, aşağıdakı elektron diaqramı yığa bilərsiniz.
Addım 4: Layihə Fikri
Sizə Arduino ilə MP3 səs sistemini necə yığmağı öyrədəcəyəm. Bu sistem, məktubda danışan səsin bərpasından məsul olacaq. Hər hərfin səsi 1 -dən 5 -ə qədər olan bir dəyərdən istifadə olunacaq, burada 1 A və 5 U -u təmsil edir.
Beləliklə, uşaq səsi eşidəndə klaviaturaya baxmalı, saitin yazılışını tanımalı və düzgün düyməni basmalıdır.
Bu uğursuz olarsa, sistem qırmızı LED -i 3 dəfə yanıb -sönəcək. Əks təqdirdə, sistem 5 saniyə ərzində bir səs siqnalı işə salacaq və yeni sait çəkəcək.
Bunu etmək üçün aşağıdakı dövrəni yığmalısınız.
Bu dövrədə MP3 Modulunu və Arduino üzərindəki sait lövhəni bağlayacaqsınız. Bluetooth modulu Catalex MP3 Modulunu təmsil etmək üçün istifadə edilmişdir.
Arduino, 5 ədədin sıralanmasından və sonra çəkilmiş saitin aktivləşdirilməsi üçün əmr göndərilməsindən məsul olacaq
Addım 5:
Bundan sonra, uşağın yuxarıdakı Şəkildə göstərildiyi kimi bir düyməni eşitməsini və basmasını gözləyəcəyik.
Yuxarıdakı hər bir düymə əlifbanın saitini təmsil edir. Sonra, bu layihə üçün proqramlaşdırma məntiqini necə quracağınızı sizə göstərəcəyəm.
Addım 6: Oyunun Proqramlaşdırma Məntiqinin Qurulması
Sait oyun sistemi YX5300 modulunun işinə əsaslanır. Bu modulun bəzi funksiyaları var, ancaq YX5300 modulunun əsas funksiyaları vasitəsilə oyunun iş quruluşunu təqdim etməyə diqqət edəcəyik.
Aşağıda sizə layihənin bütün proqramlaşdırma məntiqini təqdim edirəm.
Addım 7:
Aşağıda, uşaqlar üçün bu əyləncəli oyunun məntiqini qurmaq üçün addım -addım izah edəcəyəm.
#daxil edin
#define ARDUINO_RX 5 // Serial MP3 Player modulunun TX -ə bağlanmalıdır #define ARDUINO_TX 6 // SoftwareSerial mp3 modulunun RX -ə qoşulun (ARDUINO_RX, ARDUINO_TX); statik int8_t Send_buf [8] = {0}; // Göndərmə əmrləri üçün tampon. // YAXŞI YERDƏ statik uint8_t ansbuf [10] = {0}; // Cavablar üçün tampon. // BÖYÜK LOKALDAN String mp3Cavab; // MP3 -dən cavab. String sanswer (boş); String sbyte2hex (uint8_t b); / ************ Komanda baytı **************************/ #define CMD_NEXT_SONG 0X01 // Sonrakı oynat mahnı. #define CMD_PREV_SONG 0X02 // Əvvəlki mahnını oxudun. #define CMD_PLAY_W_INDEX 0X03 #define CMD_VOLUME_UP 0X04 #define CMD_VOLUME_DOWN 0X05 #define CMD_SET_VOLUME 0X06 #define CMD_SNG_CYCL_PLAY 0X08 // Single Cycle Play. #define CMD_SEL_DEV 0X09 #define CMD_SLEEP_MODE 0X0A #define CMD_WAKE_UP 0X0B #define CMD_RESET 0X0C #define CMD_PLAY 0X0D #define CMD_PAUSE 0X0FOFFE_FEF_FEF #define CMD_FOLDER_CYCLE 0X17 #define CMD_SHUFFLE_PLAY 0x18 // #define CMD_SET_SNGL_CYCL 0X19 // Tək dövrəni təyin edin. # müəyyən CMD_SET_DAC 0X1A # müəyyən DAC_ON 0X00 # müəyyən DAC_OFF 0X01 # müəyyən CMD_PLAY_W_VOL 0X22 # müəyyən CMD_PLAYING_N 0x4C # müəyyən CMD_QUERY_STATUS 0x42 # müəyyən CMD_QUERY_VOLUME 0x43 # müəyyən CMD_QUERY_FLDR_TRACKS 0x4e # müəyyən CMD_QUERY_TOT_TRACKS 0x48 # müəyyən CMD_QUERY_FLDR_COUNT 0x4f / ********* *** Opitons ************************** / #define DEV_TF 0X02 / ************** ************************************************ *****/ int sayı; bayt estado; bayt səs siqnalı = 2; bayt pin = 0; bayt SortNumber = 0; bool düyməsi = 0; void setup () {Serial.begin (9600); mp3.begin (9600); gecikmə (500); üçün (pin = 8; pin 13) {pin = 8; } Serial.println ("Varrendo…"); Serial.println (pin); // gecikmə (1000); } while (düymə! = 1); Serial.println ("Saiu…"); if (button == 1 && (pin-1)! = SortNumber) {sendCommand (0x03, 0, 6); gecikmə (3000); } if (button == 1 && (pin-1) == SortNumber) {sendCommand (0x03, 0, 7); gecikmə (3000); } // Cavabı yoxlayın. əgər (mp3.available ()) {Serial.println (decodeMP3Answer ()); } gecikmə (100); //Serial.println("Tocando musica… "); } /********************************************** ******************************** / /*SendMP3Command funksiyası: 'c' əmrini axtarın və MP3 -ə göndərin * / /*Parametr: c. MP3 əmrinin kodu, kömək üçün 'h'. *// *Qayıdış: void */ void sendMP3Command (char c) {switch (c) {case '?': Case 'h': Serial.println ("HELP"); Serial.println ("p = Play"); Serial.println ("P = Pause"); Serial.println ("> = Sonrakı"); Serial.println ("': Serial.println (" Sonrakı "); sendCommand (CMD_NEXT_SONG); sendCommand (CMD_PLAYING_N); // faylın çalınma müddətini soruşun;" Yaddaş kartı daxil edildi. "; Fasilə; hal 0x3D: decodedMP3Answer + = " -> Tamamlanmış oynatma sayı" + String (ansbuf [6], DEC); // sendCommand (CMD_NEXT_SONG); // sendCommand (CMD_PLAYING_N); // fasilə oynanan faylın sayını soruşun; hal 0x40: decodedMP3Answer += " -> Xəta"; fasilə; 0x41 halda: decodedMP3Answer += " -> Məlumat düzgün alındı."; break; case 0x42: decodedMP3Answer += " -> Status oxunur:" +String (ansbuf [6], DEC); fasilə; hal 0x48: decodedMP3Answer + = " -> Fayl sayı:" + String (ansbuf [6], DEC); break; case 0x4C: decodedMP3Answer + = " -> Çalınır:" + String (ansbuf [6], DEC); break; case 0x4E: decodedMP3Answer + = " -> Qovluq fayl sayı:" + String (ansbuf [6], DEC); break; case 0x4F: decodedMP3Answer + = " -> Qovluq sayı:" + String (ansbuf [6], DEC); fasilə;} decodedMP3Answer qaytar;} /********************************* ************ ******************************* / /*Funksiya: MP3 -ə əmr göndər* / /*Parametr: bayt əmr *// *Parametr: *// *əmri üçün bayt dat1 parametri Parametr: */ void sendCommand (bayt əmri) {sendCommand (əmr, 0, 0) əmri üçün bayt dat2 parametri; } void sendCommand (bayt əmri, bayt dat1, bayt dat2) {gecikmə (20); Send_buf [0] = 0x7E; // Send_buf [1] = 0xFF; // Send_buf [2] = 0x06; // Len Send_buf [3] = əmr; // Send_buf [4] = 0x01; // 0x00 YOX, 0x01 rəy Send_buf [5] = dat1; // məlumat Send_buf [6] = dat2; // məlumat Send_buf [7] = 0xEF; // Serial.print ("Göndərilir:"); for (uint8_t i = 0; i <8; i ++) {mp3.write (Send_buf ); Serial.print (sbyte2hex (Send_buf )); } Serial.println (); } /********************************************** ******************************** / /*Funksiya: sbyte2hex. HEX formatında bir bayt məlumatı qaytarır. * / /*Parametr:- uint8_t b. HEX -ə çevirmək üçün bayt. *// *Qayıdış: String */ String sbyte2hex (uint8_t b) {String shex; shex = "0X"; əgər (b <16) shex += "0"; shex += String (b, HEX); shex += ""; qayıtmaq } /********************************************** ******************************** / /*Funksiya: shex2int. HEX sətrindən int qaytarır. * / /*Parametr: s. HEX -ə çevirmək üçün char *s. * / /*Parametr: n. char *s uzunluğu. *// *Qayıdış: int */ int shex2int (char *s, int n) {int r = 0; for (int i = 0; i = '0' && s = 'A' && <= 'F') {r *= 16; r + = (s - 'A') + 10; }} r; } /********************************************** ******************************** / /*Funksiya: cavabdeh. Mp3 UART modulundan String cavabı qaytarır. * / /*Parametr:- uint8_t b. boş * / /*Qayıdış: String. Cavab yaxşı formalaşdırılmışsa. */ String sanswer (void) {uint8_t i = 0; String mp3answer = ""; // (mp3.available () && (i <10)) {uint8_t b = mp3.read (); ansbuf = b; i ++; mp3answer += sbyte2hex (b); } // cavab formatı düzgündürsə. if ((ansbuf [0] == 0x7E) && (ansbuf [9] == 0xEF)) {return mp3answer; } qayıt "???:" + mp3answer; }
Əvvəlcə bütün proqram dəyişənlərini və YX5300 modulunun giriş qeyd ünvanlarını təyin edirik.
#daxil edin
#define ARDUINO_RX 5 // Serial MP3 Çalar modulunun TX -ə bağlanmalıdır #define ARDUINO_TX 6 // Module RX -ə qoşul SoftwareSerial mp3 (ARDUINO_RX, ARDUINO_TX); statik int8_t Send_buf [8] = {0}; // Göndərmə əmrləri üçün tampon. // YAXŞI YERDƏ statik uint8_t ansbuf [10] = {0}; // Cavablar üçün tampon. // BÖYÜK LOKALDAN String mp3Cavab; // MP3 -dən cavab. String sanswer (boş); String sbyte2hex (uint8_t b); / ************ Komanda baytı **************************/ #define CMD_NEXT_SONG 0X01 // Sonrakı oynat mahnı. #define CMD_PREV_SONG 0X02 // Əvvəlki mahnını oxudun. #define CMD_PLAY_W_INDEX 0X03 #define CMD_VOLUME_UP 0X04 #define CMD_VOLUME_DOWN 0X05 #define CMD_SET_VOLUME 0X06 #define CMD_SNG_CYCL_PLAY 0X08 // Single Cycle Play. #define CMD_SEL_DEV 0X09 #define CMD_SLEEP_MODE 0X0A #define CMD_WAKE_UP 0X0B #define CMD_RESET 0X0C #define CMD_PLAY 0X0D #define CMD_PAUSE 0X0FOFFE_FEF_FEF #define CMD_FOLDER_CYCLE 0X17 #define CMD_SHUFFLE_PLAY 0x18 // #define CMD_SET_SNGL_CYCL 0X19 // Tək dövrəni təyin edin. # müəyyən CMD_SET_DAC 0X1A # müəyyən DAC_ON 0X00 # müəyyən DAC_OFF 0X01 # müəyyən CMD_PLAY_W_VOL 0X22 # müəyyən CMD_PLAYING_N 0x4C # müəyyən CMD_QUERY_STATUS 0x42 # müəyyən CMD_QUERY_VOLUME 0x43 # müəyyən CMD_QUERY_FLDR_TRACKS 0x4e # müəyyən CMD_QUERY_TOT_TRACKS 0x48 # müəyyən CMD_QUERY_FLDR_COUNT 0x4f / ********* *** Opitons ************************** / #define DEV_TF 0X02 / ************** ************************************************ *****/ int sayı; bayt estado; bayt səs siqnalı = 2; bayt pin = 0; bayt SortNumber = 0; bool düyməsi = 0;
Addım 8:
Bu qeyd ünvanları modulun işini konfiqurasiya etmək üçün istifadə olunur. Məsələn, aşağıdakı qeydiyyat ünvanına baxın.
#CMD_PLAY_W_INDEX 0X03 təyin edin
0x03 ünvanı CMD_PLAY_W_INDEX adı ilə təyin olunur. Bir mahnını nömrəsindən tetiklemek üçün istifadə olunur, yəni səsin sayını daxil edirsiniz və çalınacaq.
Bu dəyərlərdən istifadə edərək layihəmizin işini konfiqurasiya edəcəyik.
İstifadə ediləcək müxtəlif ünvanları təyin etdikdən sonra, quraşdırma funksiyasına daxil olacağıq və layihəmiz üçün pinləri və serial ünsiyyətini konfiqurasiya edəcəyik.
Addım 9: Void Setup () Function
Sonra boşluq qurma funksiyasına baxın. Düymə pinlərinin bütün parametrlərini, MP3 modulunun serial ünsiyyətini və MP3 -də kart modulunun işə salınmasını etdim.
boş quraşdırma ()
{Serial.begin (9600); mp3.begin (9600); gecikmə (500); for (pin = 8; pin <13; pin ++) {pinMode (pin, INPUT); } sendCommand (CMD_SEL_DEV, 0, DEV_TF); gecikmə (500); }
Kompüterdəki məlumatları çap etmək üçün serial ünsiyyətinə başladım və sonra mp3 obyekti vasitəsi ilə serial ünsiyyətinə başladıq.
Serial.begin (9600);
mp3.begin (9600); gecikmə (500);
Mp3 modulu Arduino serialının aldığı əmrlər vasitəsilə idarə olunur. Bu prosesdə SoftwareSerial kitabxanasından istifadə etdik və Arduino rəqəmsal pinlərində bir serial təqlid etdik.
Beləliklə, MP3 modulunu ona göndərilən əmrlər vasitəsilə idarə etmək üçün Arduinodan istifadə edə biləcəksiniz.
Əlavə olaraq, rəqəmsal pinlərin konfiqurasiyasını və MP3 Kart modulunun işə salınmasını etdik
for (pin = 8; pin <13; pin ++) {pinMode (pin, INPUT); } sendCommand (CMD_SEL_DEV, 0, DEV_TF); gecikmə (500);
Konfiqurasiya etdikdən sonra boşluq döngəsi funksiyasındakı əsas məntiqə keçməliyik.
Addım 10: Əsas Function Void Loop ()
Kod çox sadədir və bütün məntiqi quruluş aşağıda təqdim olunur. Aşağıda sizə əsas funksiyanın tam məntiqini izah edəcəyəm.
boşluq döngəsi ()
{pin = 8; randomSeed (analogRead (A0)); numero = təsadüfi (8, 12); SortNumber = sayı; nömrə = rəqəm - 7; Serial.println (rəqəm); sendCommand (0x03, 0, numero); gecikmə (1000); do {button = digitalRead (pin); Serial.println (düymə); pin ++; əgər (pin> 13) {pin = 8; } Serial.println ("Varrendo…"); Serial.println (pin); // gecikmə (1000); } while (düymə! = 1); Serial.println ("Saiu…"); if (button == 1 && (pin-1)! = SortNumber) {sendCommand (0x03, 0, 6); gecikmə (3000); } if (button == 1 && (pin-1) == SortNumber) {sendCommand (0x03, 0, 7); gecikmə (3000); } // Cavabı yoxlayın. əgər (mp3.available ()) {Serial.println (decodeMP3Answer ()); } gecikmə (100); //Serial.println("Tocando musica… "); }
Döngü funksiyası dövrünün hər başlanğıcında, saitin səsini çıxarmaq üçün 8 ilə 12 arasında yeni bir dəyər yaradacağıq. 8 -dən 12 -ə qədər olan rəqəm saitin rəqəmsal pininə aiddir.
Təsadüfi dəyər yaratmaq üçün kod aşağıda göstərilmişdir.
pin = 8;
randomSeed (analogRead (A0)); numero = təsadüfi (8, 12); SortNumber = sayı;
Əlavə olaraq, 8 ilə 12 arasında çəkilən məbləğdən 7 çıxırıq. Bu, yaddaş kartına yazılmış mahnıların 1 -dən 5 -ə qədər mövqelərini göstərməyə imkan verəcək.
nömrə = rəqəm - 7;
Bundan sonra aşağıdakı sətirdə çəkilmiş saitin səsini təkrarladım.
sendCommand (0x03, 0, numero);
gecikmə (1000);
İndi vacib vaxt gəldi: uşağın basdığı düyməni oxuyacağımız an. Kod hissəsi aşağıda təqdim olunur.
etmək
{düymə = digitalRead (pin); Serial.println (düymə); pin ++; əgər (pin> 13) {pin = 8; } Serial.println ("Varrendo…"); Serial.println (pin); // gecikmə (1000); } while (düymə! = 1);
İstifadəçi düymələri basana qədər bu döngə icra olunacaq. Döngü, 5 rəqəmsal sancağı taramağa imkan verir və uşağın düymələrdən birini basdığı anda döngədən çıxacaq və uşağın düzgün cavab verdiyini yoxlayacaq.
Aşağıdakı kodu istifadə edərək yoxlama aparacaqsınız.
əgər (düymə == 1 && (pin-1)! = SıralaSayı)
{sendCommand (0x03, 0, 6); gecikmə (3000); } if (button == 1 && (pin-1) == SortNumber) {sendCommand (0x03, 0, 7); gecikmə (3000); }
Birinci şərt, istifadəçi səhv etdikdə yerinə yetiriləcək, çünki düyməyə basıldı və pinin tetiklenen dəyəri çəkilmiş pindən fərqli idi (SortNumber).
Bu nöqtədə aşağıdakı əmri yerinə yetirməlisiniz.
sendCommand (0x03, 0, 6);
gecikmə (3000);
Bu əmr səhv cavab tonunu işə salmaq üçün istifadə olunur. Nəhayət, uşağın haqlı olub olmadığını yoxlamaq üçün istifadə ediləcək ikinci şərtimiz var.
əgər (düymə == 1 && (pin-1) == Sıralama nömrəsi)
{sendCommand (0x03, 0, 7); gecikmə (3000); }
Addım 11:
Bir düyməyə basılırsa və basılan rəqəmsal pin çəkilmiş pinlə eynidirsə, sistem düzgün cavab səsini tetikler.
Sizə izah etdiyim kimi, bu kod çox sadədir və hər bir uşağın Arduino ilə oynayaraq saitlər haqqında biliklərini inkişaf etdirməsinə kömək edəcək.
Yuxarıdakı şəkildə səs qutusu YX5300 MP3 Modulunun SD Kartında saxlanılan mahnını ifa edir.
Addım 12: Nəticə
Sinif təhsili daim dəyişdirilməlidir və Arduino əyləncəli vəzifələr yaratmaqda böyük bir müttəfiq ola bilər.
Bu layihə vasitəsi ilə hər bir saitin səsini və orfoqrafiyasını bilməklə uşaqların bacarıqlarını inkişaf etdirə biləcək sadə bir fəaliyyət inkişaf etdirmək mümkün oldu.
Ənənəvi tədris metodlarından fərqli olaraq, uşaqlar oyunlar və elektronika vasitəsilə sinif əyləncəsi ilə öyrənəcəklər.
Addım 13: Təsdiq
Bu layihə JLCPCB şirkətinin dəstəyi və təşviqi sayəsində hazırlanmışdır. Təhsili təşviq etdilər və bizi uşaqları sinifdə öyrətmək üçün saitlər oyununu inkişaf etdirməyə dəvət etdilər.
Saitlərin Oyununun elektron lövhələrini almaq istəyirsinizsə, bu linkə daxil olaraq JLCPCB -dən 2 dollara 10 ədəd satın ala bilərsiniz.
Tövsiyə:
Aruduino LED Oyunu İki Oyunçu Oyunu Sürətli Tıklayır: 8 Addım
Aruduino LED Oyunu İki Oyunçu Oyunu Sürətli Tıklayaraq: Bu layihə @HassonAlkeim -dən ilhamlanıb. Bura dərindən baxmaq istəsəniz https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/ yoxlaya biləcəyiniz bir linkdir. Bu oyun Alkeim -in təkmilləşdirilmiş bir versiyasıdır. Bu bir
MP3 Səs Modulu ilə Faza Qutusu Necə Hazırlanır: 4 Addım
MP3 Səs Modulu ilə Mərhələ Qutusu Necə Hazırlanır: Son DIY layihəmdən xatırlatdığım bir neçə Kristal Epoksi Qatran var və onu israf etmək istəmirəm. Qənaət prinsiplərinə görə, kiçik bir şey üçün DIY üçün epoksi istifadə etməyə qərar verdim. Bəzən depressiyaya düşəndə sadəcə danışmaq istəmirsən. Mən indicə
ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım
ESP32 ilə PWM | Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: Bu təlimatlarda Arduino IDE istifadə edərək ESP32 ilə PWM siqnallarının necə yaradılacağını görəcəyik. PWM əsasən hər hansı bir MCU -dan analoq çıxışı yaratmaq üçün istifadə olunur və bu analog çıxış 0V ilə 3.3V arasında ola bilər (esp32 vəziyyətində) & dan
E32-433T LoRa Modulu Dərsliyi - E32 Modulu üçün DIY Breakout Board: 6 addım
E32-433T LoRa Modulu Dərsliyi | E32 Modulu üçün DIY Breakout Board: Hey, nə var, uşaqlar! Akarsh burada CETech-dən. Mənim bu layihəm, yüksək gücə malik 1 vatlıq ötürücü modulu olan eByte-dən E32 LoRa modulunun işini başa düşmək üçün daha çox öyrənmə əyrisidir. İşi başa düşdükdən sonra dizaynım var
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