Агуулгын хүснэгт:

Электроникийн чадварын түвшин Lvl 2: 5 алхам
Электроникийн чадварын түвшин Lvl 2: 5 алхам

Видео: Электроникийн чадварын түвшин Lvl 2: 5 алхам

Видео: Электроникийн чадварын түвшин Lvl 2: 5 алхам
Видео: 🎶 ДИМАШ "ОПЕРА 2". История выступления и анализ успеха | Dimash "Opera 2" 2024, Долдугаар сарын
Anonim
Электроникийн чадварын түвшин 2
Электроникийн чадварын түвшин 2
Электроникийн чадварын түвшин 2
Электроникийн чадварын түвшин 2

Энэ нь электроникийн 2 -р түвшний мэдлэгийг бөглөхөд туслах хурдан заавар болно. Та үүнийг яг байгаагаар нь хийх шаардлагагүй! Та хүссэн хэсэг/бүрэлдэхүүн хэсгүүдийг орлуулах боломжтой боловч кодыг ажиллуулахын тулд өөрчлөх шаардлагатай болно. Би код тус бүр дээр юу хийж байгааг тайлбарлахын тулд тайлбар оруулах болно.

Хамгийн сүүлчийн зүйл бол микрокомпьютер юм. Бид Arduino Nano -ийг ашиглаж байна. Үүнийг Arduino Uno эсвэл бусад микроконтроллероор сольж болно. Үйлдлүүд өөр байж болох бөгөөд та бусад компьютерийг ажиллуулах үүрэгтэй болно.

LED зурвас нь MHD -ийн ажилтнуудын шүүгээний дээд хэсэгт байрлах мөнгөн уутанд байдаг. Микрофон нь LED бүхий цүнхэнд байдаг. Та дууссаны дараа тэднийг энд буцааж өгнө үү!

Хангамж

  1. Микрокомпьютер

    Ардуино Нано

  2. Утас

    1. 7x F2F кабель

      1. 2x Хар
      2. 2x Улаан
      3. 3x янз бүрийн өнгө
  3. LED зурвас

    Дахин хэлэхэд бидэнд ганц л бий. Энэ нь микрофонтой хамт байх болно

  4. Микрофон

    Бидэнд ганцхан ширхэг байгаа тул үүнийг төгсгөлд нь хавсаргана уу! Энэ нь ажилчдын шүүгээнд байх болно

Алхам 1: Микрокомпьютер

Микрокомпьютер
Микрокомпьютер

Эхлэхийн тулд бид Arduino Nano -ийн эд ангиудад тухтай байх ёстой. Зураг дээр харагдаж байгаа шиг хянагчийн хоёр үндсэн тал байдаг. Бидний санаа зовж буй цорын ганц хэсэг бол дараахь зүйлүүд юм.

  • +5V
  • GND
  • GND
  • 3V3 (энэ нь бас 3.3V шиг харагдаж болох боловч ижил утгатай)
  • D2
  • D3
  • D4
  • Mini USB (төгсгөлд нь мөнгөн залгуур)

Алхам 2: LED зурвас

LED зурвас
LED зурвас
LED зурвас
LED зурвас
LED зурвас
LED зурвас
LED зурвас
LED зурвас

Удирдах зурвасын үзүүрийг авч эхэл. Энэ нь хар залгууртай байх ёстой (дотор нь 4 утас ордог), дараа нь хоёр тэнэмэл утас (1х шар, 1x улаан) байх ёстой. Бид зөвхөн хар залгуурыг анхаарч үзэх болно. Үүнийг зүүнээс баруун тийш дарааллаар нь чиглүүлээрэй: улаан, цэнхэр, ногоон, шар. Эдгээр өнгө нь VCC, D0, C0, GND -тэй нийцдэг. Утасны эмэгтэй талыг ашиглан хар утсыг GND руу, улааныг VCC рүү, өөр өнгийг дунд хэсэгт нь дарна.

** Утсыг холбохдоо мөнгөн чихийг дээш харсан эсэхийг шалгаарай! Энэ нь тээглүүр рүү гулгахад нь туслах болно. (Эхний зураг дээр харсан)

Дараа нь бид нөгөө эмэгтэй талыг нь авч Нано руу хавсаргана. LED зурвасаас GND утсыг D2 -ийн хажууд байрлах GND руу холбоно уу. Дараа нь VCC утсыг аваад +5V зүү дээр холбоно уу. LED -аас C0 ба D0 зүүг нано дээрх D2 ба D3 зүүгээр холбоно уу. Залгуурын байршлыг гурав, дөрөв дэх зургуудаас харж болно.

Алхам 3: Микрофоныг холбоно уу

Микрофон холбоно уу
Микрофон холбоно уу
Микрофон холбоно уу
Микрофон холбоно уу
Микрофон холбоно уу
Микрофон холбоно уу

** ТАЙЛБАР **

Зураг авахад утас ховор байсан. Зааврыг илүү сайн тусгахын тулд би энэ зургийг шинэчлэх болно. Зураг дээрх өнгөнүүдтэй харьцуулахад чиглэлд байгаа утаснуудын өнгийг энд харуулав.

  • улаан -> хүрэн
  • хар -> хар
  • өнгө -> саарал

Микрофоныг LED зурвастай адилхан хавсаргах боловч хоёр биш зөвхөн 1 өгөгдлийн зүүтэй байх болно.

Энэ удаад бид микро утаснаас VCC зүүг нано дээрх 3V3 зүү рүү улаан утас ашиглан холбох хэрэгтэй. Дараа нь хар утас ашиглан микрофон дээрх GND зүүг нано дээрх GND рүү, эцэст нь микро утсан дээрх OUT зүүг өнгөт утсаар нано дээрх D4 зүү рүү холбоно уу.

Алхам 4: Arduino IDE

3D принтертэй хамгийн ойр байгаа компьютеруудыг ашиглан Arduino IDE -ийг нээнэ үү. Эдгээр компьютерууд нь бидний LED зурвасыг хянах тусгай програм хангамж суулгасан байдаг. Дараа нь микро USB ашиглан наног компьютерт холбоно уу.

  1. Дээд талын самбар дээрх Tools дээр дарна уу
  2. Дараа нь Удирдах зөвлөлийн доор Arduino Nano дээр дарна уу
  3. Процессорын доор ATmega328P (Хуучин ачаалагч) дээр дарна уу.

    Хэрэв энэ нь ажиллахгүй бол ATmega328P -ийг сонгоно уу

  4. Эцэст нь Порт хэсэгт харуулсан цорын ганц сонголтыг дарна уу.

Энэ бүгдийг сонгосны дараа энэ кодыг ноорог цонхон дээр хуулж тавь (энд void setup () ба void loop () гэж бичнэ). Дараа нь баруун тийш чиглэсэн сумыг дарна уу (үүнийг засварлах цэсийн доороос олж болно). Энэ нь кодыг таны нано руу байршуулах болно.

#include // Ямар D зүү ашигласан болохыг тодорхойл. const uint8_t clockPin = 2; const uint8_t dataPin = 3; const uint8_t micPin = 4; // LED зурваст бичих объект үүсгэх. APA102 ledStrip; // Хяналтын LED тоог тохируулна уу. const uint16_t ledCount = 60; uint8_t leds; // Audio const int sampleWindow = 50; // Цонхны өргөнийг mS (50 mS = 20Hz) тэмдэггүй int дээжээр; // Өнгийг хадгалах буфер үүсгэх (өнгө бүрт 3 байт). rgb_color өнгө [ledCount]; // LED -ийн тод байдлыг тохируулна уу (дээд тал нь 31 боловч сохроор гэрэлтүүлж болно). const int тод байдал = 12; void setup () {Serial.begin (9600); } void loop () {equilizer (); ledStrip.write (өнгө, ledCount, тод байдал); } void equilizer () {unsigned long startMillis = millis (); // Үлгэр жишээ цонхны эхлэл гарын үсэг зураагүй int peakToPeak = 0; // оргилоос оргил хүртэлх түвшинд гарын үсэг зураагүй int signalMax = 0; гарын үсэггүй int signalMin = 1024; uint8_t цаг = миллис () >> 4; // 50 mS байхад мэдээлэл цуглуулах (millis () - startMillis <sampleWindow) {sample = analogRead (micPin); // хуурамч уншилтыг хаях, хэрэв (sample signalMax) {signalMax = түүвэр; // зөвхөн дээд түвшинг хадгалах} өөр тохиолдолд if (sample <signalMin) {signalMin = sample; // зөвхөн мин түвшинг хадгалах}}} peakToPeak = signalMax - signalMin; // max - min = далайцын оргил -оргил (өнгө, 0, sizeof (өнгө)); // LED зурвасаас өнгийг цэвэрлэнэ leds = мужууд (peakToPeak); uint32_t stripColor = peakToPeak/1000 + peakToPeak%1000; for (uint16_t i = 0; i <= leds; i ++) {өнгө = hsvToRgb ((uint32_t) stripColor * 359/256, 255, 255); // өнгийг туузан дээр буцааж нэмж, зөвхөн шаардлагатай гэрлийг асаадаг. }} 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; шилжүүлэгч ((h / 60) % 6) {тохиолдол 0: r = v; g = t; b = p; завсарлага; тохиолдол 1: r = q; g = v; b = p; завсарлага; тохиолдол 2: r = p; g = v; b = t; завсарлага; тохиолдол 3: r = p; g = q; b = v; завсарлага; тохиолдол 4: r = t; g = p; b = v; завсарлага; тохиолдол 5: r = v; g = p; b = q; завсарлага; } буцах rgb_color (r, g, b); } uint8_t муж (uint8_t vol) {if (vol> 800) {return 60; } else if (vol> 700) {буцах 56; } if if (vol> 600) {буцах 52; } else if (vol> 500) {буцах 48; } else if (боть> 400) {буцах 44; } if if (vol> 358) {return 40; } if if (vol> 317) {return 36; } if if (vol> 276) {буцах 32; } if if (vol> 235) {return 28; } else if (боть> 194) {буцах 24; } if if (vol> 153) {return 20; } if if (vol> 112) {буцах 16; } if if (vol> 71) {буцах 12; } else if (боть> 30) {буцах 8; } өөр {буцаах 4; }}

Алхам 5: Дууссаны дараа

Сайн ажил! Энэ бүхэн ажиллаж байгаа зургийг нь аваарай. Хэрэв LED зурвас бүрэн асахгүй бол микрофоны арын боолтыг тохируулсан болно. Үүнийг засахын тулд та кодыг өөрчилж болно (хэрэв хүсвэл тусламж хүсээрэй), гэхдээ шаардлагагүй. Хэрэв та төслийг үргэлжлүүлэхийг хүсч байвал микрофон болон LED зурвасын холбоосыг доор харуулав. Бусад ажилтнууд үүнийг дуусгахын тулд бид төвд үлдэх ёстой.

Одоо бүх зүйлийг задлахаасаа өмнө наног компьютерт холбож, Arduino IDE дээрх дараах алхмуудыг дагана уу.

  • Файл дээр дарна уу
  • Жишээ
  • Үндсэн
  • Нүдээ анив
  • Дууссаны дараа байршуулах товчийг дарна уу

Энэ нь хүн бүр утсыг холбохоос гадна бүх үйл явцыг хийж байгаа эсэхийг баталгаажуулах явдал юм. Одоо бүх зүйлийг задалж, олсон газраа буцааж тавь!

Холбоосууд:

Микрофон

Надад линк байгаа бол LED -ууд нэмэгдэх болно

Зөвлөмж болгож буй: