Mündəricat:

Elektronika bacarığı Lvl 2: 5 addım
Elektronika bacarığı Lvl 2: 5 addım

Video: Elektronika bacarığı Lvl 2: 5 addım

Video: Elektronika bacarığı Lvl 2: 5 addım
Video: Volt Ve Amperin Ne Kadar Farklı Şeyler Olduğunu Göstermenin En Kolay Yolu 2024, Noyabr
Anonim
Elektronika bacarığı Lvl 2
Elektronika bacarığı Lvl 2
Elektronika bacarığı Lvl 2
Elektronika bacarığı Lvl 2

Bu, 2 -ci səviyyə elektronika bacarıqlarını tamamlamağa kömək edəcək sürətli bir dərs olacaq. Bunu olduğu kimi etmək lazım deyil! İstədiyiniz kimi hissələri/komponentləri əvəz edə bilərsiniz, ancaq işləməsi üçün kodu dəyişdirməkdən məsul olacaqsınız. Hər hissənin nə etdiyini izah etmək üçün koda şərhlər əlavə edəcəyəm.

Sonuncu şey mikrokompüterdir. Arduino Nano'dan istifadə edirik. Bu bir Arduino Uno və ya başqa bir mikro nəzarətçi ilə dəyişdirilə bilər. Əməliyyatlar fərqli ola bilər və digər kompüteri işə salmaq üçün məsuliyyət daşıyacaqsınız.

Led şeridi, MHD personalı çekmecesinin üstündəki gümüş çantada. Mikrofon da LED -ləri olan çantanın içərisindədir. Bitirdikdən sonra onları bura qaytarın!

Təchizat

  1. Mikrokompüter

    Arduino Nano

  2. Tellər

    1. 7x F2F kabellər

      1. 2x Qara
      2. 2x Qırmızı
      3. 3x müxtəlif rənglər
  3. LED şeridi

    Yenə yalnız birimiz var. Mikrofonla olacaq

  4. Mikrofon

    Yalnız birimiz var, buna görə də sonunda əlavə edin! İşçilərin çekmecesinde olacaq

Addım 1: Mikrobilgisayar

Mikrokompüter
Mikrokompüter

Başlamaq üçün Arduino Nanonun hissələri ilə rahat olmalıyıq. Şəkildə göründüyü kimi, nəzarətçinin iki əsas tərəfi var. Narahat olduğumuz tək hissələr aşağıdakılardır:

  • +5V
  • GND
  • GND
  • 3V3 (bu da 3.3V kimi görünə bilər, amma eyni mənanı ifadə edir)
  • D2
  • D3
  • D4
  • Mini USB (sonunda gümüş fiş)

Addım 2: LED şeridi

LED şeridi
LED şeridi
LED şeridi
LED şeridi
LED şeridi
LED şeridi
LED şeridi
LED şeridi

Led şeridin ucunu alaraq başlayın. Bunun üçün qara fiş (içərisinə 4 tel daxil) və sonra iki boş tel (1x sarı, 1x qırmızı) olmalıdır. Yalnız qara fişlə maraqlanacağıq. Bu qaydada soldan sağa istiqamətləndirin: qırmızı, mavi, yaşıl, sarı. Bu rənglər VCC, D0, C0, GND ilə uyğun gəlir. Tellərin qadın tərəfini istifadə edərək, qara teli GND -ə, qırmızıyı VCC -yə, fərqli rəngləri ortanın ikisinə itələyin.

** Telləri bağlayarkən, gümüş çubuğun yuxarıya baxdığından əmin olun! Bu, sancaqlar üzərində sürüşməyə kömək edəcək. (İlk fotoda görüldü)

Daha sonra digər qadın tərəfi götürüb Nanoya bağlayacağıq. GND telini LED şeridindən D2 -nin yanındakı GND -ə bağlayın. Sonra VCC telini götürün və +5V pininə bağlayın. LEDdən C0 və D0 pinini Nano üzərindəki D2 və D3 pininə bağlayın. Fiş yerlərini üçüncü və dördüncü şəkillərdə görə bilərsiniz.

Addım 3: Mikrofonu bağlayın

Mikrofonu bağlayın
Mikrofonu bağlayın
Mikrofonu bağlayın
Mikrofonu bağlayın
Mikrofonu bağlayın
Mikrofonu bağlayın

** QEYD **

Şəkil çəkərkən tellər az idi. Təlimatları daha yaxşı əks etdirmək üçün mümkün olduqda bu şəkli yeniləyəcəyəm. Budur istiqamətlərdəki tel rəngləri və şəkillərdəki rənglər:

  • qırmızı -> qəhvəyi
  • qara -> qara
  • rəngli -> boz

Mikrofon LED Şeridi ilə eyni şəkildə bağlanacaq, ancaq ikisi əvəzinə yalnız 1 məlumat pininə sahib olacaq.

Bu dəfə mikrofondan VCC pinini qırmızı tel istifadə edərək nanonun 3V3 pininə bağlamalıyıq. Sonra mikrofondakı GND pinini qara teldən istifadə edərək nanonun GND -yə və nəhayət mikrofonun Çıxış pinini rəngli telli nanonun D4 pininə bağlayın.

Addım 4: Arduino IDE

3D printerlərə ən yaxın olan kompüterlərdən istifadə edərək Arduino IDE -ni açın. Bu kompüterlərdə LED şeridimizi idarə etmək üçün xüsusi proqram quraşdırılmışdır. Sonra mikro USB istifadə edərək nanonu kompüterə bağlayın.

  1. Üst çubuğdakı Alətlər düyməsini basın
  2. Sonra Board altında Arduino Nano düyməsini basın
  3. Prosessorun altında ATmega328P (Köhnə Bootloader) düyməsini basın.

    Bu işləmirsə, ATmega328P seçin

  4. Nəhayət, Liman altında göstərilən yeganə seçimi vurun.

Hamısı seçildikdən sonra bu kodu kopyalayın və eskiz pəncərəsinə yapışdırın (burada void setup () və void loop () deyilir). Sonra sağa işarə edən oxu vurun (düzəliş menyu maddəsinin altında tapa bilərsiniz). Bu kodu nanoya yükləyəcək.

#include // Hansı D pinlərinin istifadə edildiyini təyin edin. const uint8_t clockPin = 2; const uint8_t dataPin = 3; const uint8_t micPin = 4; // LED şeridinə yazmaq üçün bir obyekt yaradın. APA102 ledStrip; // İdarə ediləcək LED sayını təyin edin. const uint16_t ledCount = 60; uint8_t ledlər; // Audio const int sampleWindow = 50; // mS (50 mS = 20Hz) işarəsiz int nümunəsində pəncərə genişliyi; // Rəngləri saxlamaq üçün bufer yaradın (hər rəng üçün 3 bayt). rgb_color colors [ledCount]; // LED -lərin parlaqlığını təyin edin (maksimum 31 -dir, lakin kor -koranə parlaq ola bilər). const int parlaqlıq = 12; void setup () {Serial.begin (9600); } boşluq döngəsi () {ekvilizator (); ledStrip.write (rənglər, ledCount, parlaqlıq); } boş boşlaşdırıcı () {işarəsiz uzun startMillis = millis (); // Nümunə pəncərəsinin başlanğıcı işarəsiz int peakToPeak = 0; // zirvədən zirvəyə işarəsiz int signalMax = 0; işarəsiz int signalMin = 1024; uint8_t zaman = milis () >> 4; // 50 mil ərzində məlumat toplamaq (millis () - startMillis <sampleWindow) {sample = analogRead (micPin); // saxta oxunuşları atın, əgər (nümunə signalMax) {signalMax = nümunə; // yalnız maksimum səviyyələri saxla} başqa halda (nümunə <signalMin) {signalMin = nümunə; // yalnız minimum səviyyələri saxla}}} peakToPeak = signalMax - signalMin; // max - min = pik -pik amplituda yaddaşı (rənglər, 0, sizeof (rənglər)); // rəngləri LED şeridindən təmizləyir leds = aralıqlar (peakToPeak); // uint32_t stripColor = peakToPeak/1000 + peakToPeak%1000 -i yandırmaq üçün neçə LED -in olduğunu görmək üçün zəng edin. for (uint16_t i = 0; i <= leds; i ++) {colors = hsvToRgb ((uint32_t) stripColor * 359/256, 255, 255); // yalnız lazım olan ledləri işıqlandırarkən rəngləri yenidən zolağa əlavə edir. }} rgb_color hsvToRgb (uint16_t h, uint8_t s, uint8_t v) {uint8_t f = (h % 60) * 255/60; uint8_t p = (255 - s) * (uint16_t) v / 255; uint8_t q = (255 - f * (uint16_t) s / 255) * (uint16_t) v / 255; uint8_t t = (255 - (255 - f) * (uint16_t) s / 255) * (uint16_t) v / 255; uint8_t r = 0, g = 0, b = 0; keçid ((h / 60) % 6) {hal 0: r = v; g = t; b = p; fasilə; hal 1: r = q; g = v; b = p; fasilə; hal 2: r = p; g = v; b = t; fasilə; hal 3: r = p; g = q; b = v; fasilə; hal 4: r = t; g = p; b = v; fasilə; hal 5: r = v; g = p; b = q; fasilə; } rgb_color qaytar (r, g, b); } uint8_t aralıkları (uint8_t vol) {if (cild> 800) {qaytar 60; } else if (cild> 700) {qayıt 56; } else if (cild> 600) {qayıt 52; } else if (cild> 500) {qayıt 48; } else if (cild> 400) {qayıt 44; } else if (cild> 358) {qayıt 40; } else if (cild> 317) {qayıt 36; } else if (cild> 276) {qayıt 32; } else if (cild> 235) {qaytar 28; } else if (cild> 194) {qayıt 24; } else if (cild> 153) {qaytar 20; } else if (cild> 112) {qaytar 16; } else if (cild> 71) {qaytar 12; } else if (cild> 30) {qaytar 8; } başqa {qayıt 4; }}

Addım 5: Bitirdikdən sonra

Yaxşı iş! Bütün bunların işlədiyi bir şəkil çəkin. Led şeridi tamamilə yanmırsa, mikrofonun arxasındakı vida düzəldilmişdir. Bunu düzəltmək üçün kodu dəyişə bilərsiniz (istəsəniz kömək istəyin), amma lazım deyil. Layihəni davam etdirmək istəyirsinizsə, mikrofon və led şeridin bağlantıları aşağıda göstərilmişdir. Digər işçilərin də bunu bitirməsi üçün mərkəzdə qalmalarına ehtiyacımız var.

İndi hər şeyi sökmədən əvvəl nanonu kompüterə yenidən bağlayın və Arduino IDE -də bu addımları izləyin:

  • Fayl vurun
  • Nümunələr
  • Əsas
  • Göz qırp
  • Bitirdikdən sonra yükləmə düyməsini basın

Bu, hər kəsin bütün prosesi etdiyini və yalnız telləri bağlamadığını təmin etməkdir. İndi hər şeyi sökün və tapdığınız yerə qoyun!

Əlaqələr:

Mikrofon

Linki əldə etdikdən sonra LEDlər əlavə olunacaq

Tövsiyə: