Sisukord:

Elektroonikaoskus Lvl 2: 5 sammu
Elektroonikaoskus Lvl 2: 5 sammu

Video: Elektroonikaoskus Lvl 2: 5 sammu

Video: Elektroonikaoskus Lvl 2: 5 sammu
Video: 6 оппозитных цилиндров! Что нас поразило в моторе Subaru 3.0 (EZ30R) ? 2024, Juuli
Anonim
Elektroonikaoskus Lvl 2
Elektroonikaoskus Lvl 2
Elektroonikaoskus Lvl 2
Elektroonikaoskus Lvl 2

See on kiire õpetus, mis aitab teil lõpetada 2. taseme elektroonikaoskuse. Te ei pea seda täpselt nii tegema! Saate asendada osi/komponente, kui soovite, kuid vastutate koodi muutmise eest, et see toimiks. Lisan koodile kommentaarid, et selgitada, mida iga osa teeb.

Viimane asi on mikroarvuti. Kasutame Arduino Nano. Selle saab vahetada Arduino Uno või mõne muu mikrokontrolleri vastu. Toimingud võivad olla erinevad ja teie vastutate teise arvuti tööle saamise eest.

LED -riba on hõbedases kotis MHD personali sahtli ülaosas. Mikrofon on ka LED -idega koti sees. Kui olete lõpetanud, saatke need siia tagasi!

Tarvikud

  1. Mikroarvuti

    Arduino Nano

  2. Juhtmed

    1. 7x F2F kaablit

      1. 2x must
      2. 2x punane
      3. 3x erinevat värvi
  3. LED riba

    Jällegi on meil ainult üks. See saab olema koos mikrofoniga

  4. Mikrofon

    Meil on ainult üks, nii et kinnitage see lõpus! See asub töötajate sahtlis

Samm: mikroarvuti

Mikroarvuti
Mikroarvuti

Alustuseks peame olema Arduino Nano osadega rahul. Nagu pildilt näha, on kontrolleril kaks peamist külge. Ainsad osad, mille pärast oleme mures, on järgmised:

  • +5V
  • GND
  • GND
  • 3V3 (see võib ilmuda ka kui 3.3V, kuid tähendab sama)
  • D2
  • D3
  • D4
  • Mini USB (hõbedane pistik lõpus)

Samm: LED -riba

LED riba
LED riba
LED riba
LED riba
LED riba
LED riba
LED riba
LED riba

Alustage LED -riba otsa hankimisega. Sellel peaks olema must pistik (millesse läheb 4 juhet) ja seejärel kaks hulkuvat juhtmest (1x kollane, 1x punane). Me hoolime ainult mustast pistikust. Suunake see nii, et need oleksid vasakult paremale selles järjekorras: punane, sinine, roheline, kollane. Need värvid vastavad VCC, D0, C0, GND. Kasutades juhtmete emakülge, lükake must traat GND -le, punane VCC -le ja erinevad värvid kahele keskmisele.

** Juhtmete kinnitamisel veenduge, et hõbedane sakk on ülespoole! See aitab neil tihvtidele libiseda. (Esimesel pildil näha)

Seejärel võtame teise naispoole ja kinnitame selle Nano külge. Kinnitage GND juhe LED -ribalt GND -le D2 kõrval. Seejärel võtke VCC juhe ja kinnitage see +5V tihvti külge. Kinnitage C0 ja D0 tihvt valgusdioodist Nano D2 ja D3 tihvti külge. Pistikute asukohad on näha kolmandal ja neljandal pildil.

Samm: kinnitage mikrofon

Kinnitage mikrofon
Kinnitage mikrofon
Kinnitage mikrofon
Kinnitage mikrofon
Kinnitage mikrofon
Kinnitage mikrofon

** MÄRGE **

Pildistamise ajal oli juhtmeid vähe. Uuendan seda pilti võimaluse korral, et kajastada juhiseid paremini. Siin on juhtmete värvid suundades ja piltidel olevad värvid:

  • punane -> pruun
  • must -> must
  • värviline -> hall

Mikrofon kinnitatakse samamoodi nagu LED -riba, kuid ainult ühe andmestikuga kahe asemel.

Seekord peame punase juhtme abil kinnitama mikrofonilt VCC tihvti nano 3V3 tihvti külge. Seejärel ühendage musta juhtme abil mikrofoni GND tihvt nano GND -ga ja lõpuks mikrofoni OUT -tihvt nano värvilise juhtmega D4 -tihvtiga.

Samm: Arduino IDE

Avage 3D -printeritele lähimad arvutid, avage Arduino IDE. Nendesse arvutitesse on paigaldatud spetsiaalne tarkvara meie LED -riba juhtimiseks. Seejärel ühendage nano arvuti mikro -USB abil.

  1. Klõpsake ülemisel ribal Tööriistad
  2. Seejärel klõpsake pardal jaotises Arduino Nano
  3. Klõpsake protsessori all nuppu ATmega328P (vana alglaadur)

    Kui see ei tööta, valige ATmega328P

  4. Lõpuks klõpsake jaotises Port ainukest kuvatavat valikut.

Kui see kõik on valitud, kopeerige ja kleepige see kood visandiaknasse (kus on kirjas void setup () ja void loop ()). Seejärel klõpsake paremale suunatud noolt (see asub otse redigeerimismenüü üksuse all). See laadib koodi teie nanosse üles.

#include // Määrake, milliseid D -tihvte kasutati. const uint8_t clockPin = 2; const uint8_t dataPin = 3; const uint8_t micPin = 4; // Loo objekt LED -ribale kirjutamiseks. APA102 ledStrip; // Määrake juhitavate LED -ide arv. const uint16_t ledCount = 60; uint8_t ledid; // Audio const int sampleWindow = 50; // Proovi akna laius mS (50 mS = 20 Hz) allkirjastamata int -proovis; // Looge puhver värvide hoidmiseks (3 baiti värvi kohta). rgb_color värvid [ledCount]; // Valgusdioodide heleduse määramine (maksimaalne on 31, kuid võib olla pimestavalt hele). const int heledus = 12; void setup () {Serial.begin (9600); } void loop () {ekvalaiser (); ledStrip.write (värvid, ledCount, heledus); } void equilizer () {unsigned long startMillis = millis (); // Näidisakna algus märkimata int peakToPeak = 0; // tipust tippu allkirjastamata int signalMax = 0; allkirjastamata int signalMin = 1024; uint8_t aeg = millis () >> 4; // koguda andmeid 50 mS kohta (millis () - startMillis <sampleWindow) {sample = analogRead (micPin); // viska valeandmeid välja, kui (proovisignaalMax) {signalMax = proov; // salvesta ainult maksimumtasemed} else if (sample <signalMin) {signalMin = sample; // salvesta ainult miinimumtasemed}}} peakToPeak = signalMax - signalMin; // max - min = tipp -tipp amplituudi memset (värvid, 0, sizeof (värvid)); // puhastab värvid LED -riba LED -idelt = vahemikud (peakToPeak); // helistamisvahemikud, et näha, mitu LED -i süttib uint32_t stripColor = peakToPeak/1000 + peakToPeak%1000; for (uint16_t i = 0; i <= leds; i ++) {colors = hsvToRgb ((uint32_t) stripColor * 359 /256, 255, 255); // lisab värvid ribale tagasi, samas valgustab ainult vajalikke LED -e. }} 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; lüliti ((h / 60) % 6) {juhtum 0: r = v; g = t; b = p; murda; juhtum 1: r = q; g = v; b = p; murda; juhtum 2: r = p; g = v; b = t; murda; juhtum 3: r = p; g = q; b = v; murda; juhtum 4: r = t; g = p; b = v; murda; juhtum 5: r = v; g = p; b = q; murda; } return rgb_color (r, g, b); } uint8_t vahemikud (uint8_t vol) {if (vol> 800) {return 60; } else if (vol> 700) {return 56; } else if (vol> 600) {return 52; } else if (vol> 500) {return 48; } else if (vol> 400) {return 44; } else if (vol> 358) {return 40; } else if (vol> 317) {return 36; } else if (vol> 276) {return 32; } else if (vol> 235) {return 28; } else if (vol> 194) {return 24; } else if (vol> 153) {return 20; } else if (vol> 112) {return 16; } else if (vol> 71) {return 12; } else if (vol> 30) {return 8; } muu {tagasitulek 4; }}

Samm: kui olete lõpetanud

Tubli töö! Tehke pilt sellest, kuidas kõik töötab. Kui LED -riba ei sütti täielikult, reguleeriti mikrofoni tagaküljel olevat kruvi. Selle parandamiseks saate koodi muuta (kui soovite, küsige abi), kuid seda pole vaja. Kui soovite projekti säilitada, on allpool toodud mikrofoni ja LED -riba lingid. Meil on vaja, et need jääksid Hubisse, et ka teised töötajad selle lõpule viiksid.

Nüüd ühendage nano enne kõike lahti võtmist arvutiga ja järgige Arduino IDE -s neid samme:

  • Klõpsake nuppu Fail
  • Näited
  • Põhiline
  • Pilguta
  • Kui olete lõpetanud, klõpsake üleslaadimisnuppu

Selle eesmärk on tagada, et kõik teeksid kogu protsessi, mitte ainult juhtmeid. Nüüd võtke kõik lahti ja pange see tagasi, kust leidsite!

Lingid:

Mikrofon

LED -id lisatakse, kui mul on link

Soovitan: