İçindekiler:

Elektronik Yeterliliği Lvl 2: 5 Adım
Elektronik Yeterliliği Lvl 2: 5 Adım

Video: Elektronik Yeterliliği Lvl 2: 5 Adım

Video: Elektronik Yeterliliği Lvl 2: 5 Adım
Video: Adım at para kazan hîlesi ( Arapların taktiği 😅 ) 2024, Temmuz
Anonim
Elektronik Yeterlilik Seviye 2
Elektronik Yeterlilik Seviye 2
Elektronik Yeterlilik Seviye 2
Elektronik Yeterlilik Seviye 2

Bu, 2. seviye elektronik yeterliliğini tamamlamanıza yardımcı olacak hızlı bir eğitim olacaktır. Bunu tam olarak olduğu gibi yapmak zorunda değilsiniz! Parçaları/bileşenleri istediğiniz gibi değiştirebilirsiniz, ancak kodun çalışması için değiştirilmesinden sorumlu olacaksınız. Her parçanın ne yaptığını açıklamak için koda yorumlar ekleyeceğim.

Son şey mikro bilgisayardır. Arduino Nano kullanıyoruz. Bu, bir Arduino Uno veya başka bir mikro denetleyici ile değiştirilebilir. İşlemler farklı olabilir ve diğer bilgisayarın çalışmasını sağlamaktan siz sorumlu olursunuz.

Led şerit, MHD personel çekmecesinin üst kısmındaki gümüş çantadadır. Mikrofon ayrıca LED'li çantanın içindedir. Bitirdikten sonra lütfen onları buraya iade edin!

Gereçler

  1. Mikrobilgisayar

    Arduino Nano

  2. teller

    1. 7x F2F kabloları

      1. 2x Siyah
      2. 2x Kırmızı
      3. 3x çeşitli renkler
  3. LED şerit

    Yine elimizde sadece bir tane var. Mikrofonlu olacaktır

  4. Mikrofon

    Sadece bir tane var, bu yüzden sonuna ekleyin! Personel çekmecesinde olacak

Adım 1: Mikrobilgisayar

Mikrobilgisayar
Mikrobilgisayar

Başlamak için Arduino Nano'nun parçaları konusunda rahat olmamız gerekiyor. Resimde görüldüğü gibi, kontrolörün iki ana tarafı vardır. Endişelendiğimiz kısımlar sadece şunlar:

  • +5V
  • GND
  • GND
  • 3V3 (bu aynı zamanda 3.3V olarak da görünebilir ancak aynı anlama gelir)
  • D2
  • D3
  • D4
  • Mini USB (uçtaki gümüş fiş)

Adım 2: LED Şerit

LED şerit
LED şerit
LED şerit
LED şerit
LED şerit
LED şerit
LED şerit
LED şerit

Led şeridin ucunu alarak başlayın. Bu, siyah bir fişe (içine 4 kablo girecek şekilde) ve ardından iki kaçak kabloya (1x sarı, 1x kırmızı) sahip olmalıdır. Sadece siyah fişle ilgileneceğiz. Soldan sağa doğru olacak şekilde yönlendirin: kırmızı, mavi, yeşil, sarı. Bu renkler VCC, D0, C0, GND ile uyumludur. Tellerin dişi tarafını kullanarak siyah kabloyu GND'ye, kırmızı kabloyu VCC'ye ve farklı renkleri ortadaki ikiye itin.

**Telleri takarken gümüş tırnağın yukarı baktığından emin olun! Bu, pimlere kaymalarına yardımcı olacaktır. (İlk resimde görülüyor)

Daha sonra diğer dişi tarafı alıp Nano'ya bağlayacağız. LED şeridinden GND kablosunu D2'nin yanındaki GND'ye takın. Ardından VCC kablosunu alın ve +5V pinine bağlayın. LED'deki C0 ve D0 pinini Nano'daki D2 ve D3 pinine takın. Fiş yerleri üçüncü ve dördüncü resimlerde görülebilir.

3. Adım: Mikrofonu Takın

Mikrofonu Takın
Mikrofonu Takın
Mikrofonu Takın
Mikrofonu Takın
Mikrofonu Takın
Mikrofonu Takın

** NOT **

Fotoğraf çekerken teller kıttı. Talimatları daha iyi yansıtmak için mümkün olduğunda bu resmi güncelleyeceğim. Resimlerdeki renklere karşı yönlerdeki tel renkleri:

  • kırmızı -> kahverengi
  • siyah -> siyah
  • renkli -> gri

Mikrofon, LED Strip ile aynı şekilde, ancak iki yerine yalnızca 1 veri pimi ile bağlanacaktır.

Bu sefer mikrofondan gelen VCC pinini kırmızı bir kablo kullanarak nano üzerindeki 3V3 pinine takmamız gerekiyor. Daha sonra siyah kabloyu kullanarak mikrofonun üzerindeki GND pinini nano üzerindeki GND'ye ve son olarak da mikrofonun üzerindeki OUT pinini renkli tel ile nano üzerindeki D4 pinine bağlayın.

Adım 4: Arduino IDE

3D yazıcılara en yakın bilgisayarları kullanarak Arduino IDE'yi açın. Bu bilgisayarlarda LED şeridimizi kontrol etmek için özel yazılımlar kuruludur. Ardından bir mikro USB kullanarak nano'yu bilgisayara takın.

  1. Üst çubuktaki Araçlar'ı tıklayın
  2. Ardından Board altında Arduino Nano'ya tıklayın
  3. İşlemci altında ATmega328P'yi (Eski Önyükleyici) tıklayın.

    Bu işe yaramazsa ATmega328P'yi seçin

  4. Son olarak, Bağlantı Noktası altında gösterilen tek seçeneğe tıklayın.

Hepsi seçildikten sonra, bu kodu kopyalayıp çizim penceresine yapıştırın (burada void setup() ve void loop() yazıyor). Ardından sağı gösteren oka tıklayın (düzenle menü öğesinin hemen altında bulunabilir). Bu, kodu nano'nuza yükleyecektir.

#include // Hangi D pinlerinin kullanıldığını tanımlayın. const uint8_t saatPin = 2; const uint8_t dataPin = 3; const uint8_t micPin = 4;// LED şeridine yazmak için bir nesne oluşturun. APA102 ledStrip;// Kontrol edilecek LED sayısını ayarlayın. const uint16_t ledCount = 60; uint8_t ledleri; // Ses const int sampleWindow = 50; // mS cinsinden örnek pencere genişliği (50 mS = 20Hz) unsigned int örnek;// Renkleri tutmak için bir arabellek oluşturun (renk başına 3 bayt). rgb_color renkler[ledCount];// Ledlerin parlaklığını ayarlayın (maksimum 31'dir ancak göz kamaştırıcı derecede parlak olabilir). const int parlaklık = 12; geçersiz kurulum() { Serial.begin(9600); } geçersiz döngü() { dengeleyici(); ledStrip.write(renkler, ledCount, parlaklık); } void equilizer() { unsigned long startMillis= millis(); // Örnek pencerenin başlangıcı unsigned int peakToPeak = 0; // tepeden tepeye seviye unsigned int sinyalMax = 0; imzasız int sinyalMin = 1024; uint8_t zaman = millis() >> 4; // 50 mS için veri topla while (millis() - startMillis < sampleWindow) { sample = analogRead(micPin); // sahte okumaları iptal et if (örnek sinyalMax) { sinyalMax = örnek; // sadece maksimum seviyeleri kaydedin } else if (örnek < sinyalMin) { sinyalMin = örnek; // sadece minimum seviyeleri kaydet } } } peakToPeak = signalMax - signalMin; // max - min = tepe-tepe genliği memset(renkler, 0, sizeof(renkler)); // LED şerit ledlerinden renkleri temizler = ranges(peakToPeak); // kaç LED'in yanacağını görmek için aralıkları çağırın uint32_t stripColor = peakToPeak/1000 + peakToPeak%1000; for(uint16_t i = 0; i <= ledler; i++) { renkler = hsvToRgb((uint32_t)stripColor * 359 / 256, 255, 255); // sadece gerekli ledleri aydınlatırken renkleri şeride geri ekler. } } 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; switch((h / 60) % 6){ durum 0: r = v; g = t; b = p; kırmak; durum 1: r = q; g = v; b = p; kırmak; durum 2: r = p; g = v; b = t; kırmak; durum 3: r = p; g = q; b = v; kırmak; durum 4: r = t; g = p; b = v; kırmak; durum 5: r = v; g = p; b = q; kırmak; } dönüş rgb_color(r, g, b); } uint8_t aralıkları(uint8_t hacim) { if(hacim> 800) { dönüş 60; } else if(vol > 700) { return 56; } else if(hacim > 600) { return 52; } else if(hacim > 500) { dönüş 48; } else if(vol > 400) { return 44; } else if(hacim > 358) { return 40; } else if(hacim > 317) { dönüş 36; } else if(hacim > 276) { dönüş 32; } else if(vol > 235) { return 28; } else if(vol > 194) { return 24; } else if(hacim > 153) { dönüş 20; } else if(hacim > 112) { dönüş 16; } else if(hacim > 71) { dönüş 12; } else if(vol > 30) { return 8; } başka { dönüş 4; } }

Adım 5: Bitirdikten Sonra

Aferin! Hepsinin çalıştığının bir fotoğrafını çekin. Led şerit tamamen yanmıyorsa mikrofonun arkasındaki vida ayarlanmıştır. Bunu düzeltmek için kodu değiştirebilirsiniz (isterseniz yardım isteyin), ancak gerekli değildir. Projeyi saklamak isterseniz mikrofon ve led şerit linkleri aşağıda gösterilmiştir. Diğer personelin de bitirmesi için Merkez'de kalacaklara ihtiyacımız var.

Şimdi her şeyi sökmeden önce nano'yu bilgisayara yeniden takın ve Arduino IDE'de şu adımları izleyin:

  • Dosya'yı tıklayın
  • Örnekler
  • Temel
  • Goz kirpmak
  • Bitirdikten sonra yükle düğmesine tıklayın

Bu, herkesin sadece kabloları takmakla kalmayıp tüm süreci yapmasını sağlamak içindir. Şimdi her şeyi sökün ve bulduğunuz yere geri koyun!

Bağlantılar:

Mikrofon

Bağlantıyı aldığımda LED'ler eklenecek

Önerilen: