สารบัญ:

ความชำนาญด้านอิเล็กทรอนิกส์ เลเวล 2: 5 ขั้นตอน
ความชำนาญด้านอิเล็กทรอนิกส์ เลเวล 2: 5 ขั้นตอน

วีดีโอ: ความชำนาญด้านอิเล็กทรอนิกส์ เลเวล 2: 5 ขั้นตอน

วีดีโอ: ความชำนาญด้านอิเล็กทรอนิกส์ เลเวล 2: 5 ขั้นตอน
วีดีโอ: สรุปพี่คุ้มใช่ไหม 2 แลก 1 2024, พฤศจิกายน
Anonim
ความชำนาญด้านอิเล็กทรอนิกส์ เลเวล 2
ความชำนาญด้านอิเล็กทรอนิกส์ เลเวล 2
ความชำนาญด้านอิเล็กทรอนิกส์ เลเวล 2
ความชำนาญด้านอิเล็กทรอนิกส์ เลเวล 2

นี่จะเป็นบทช่วยสอนสั้นๆ ที่จะช่วยให้คุณผ่านระดับความเชี่ยวชาญด้านอิเล็กทรอนิกส์ระดับ 2 ได้สำเร็จ คุณไม่จำเป็นต้องทำเช่นนี้อย่างแน่นอน! คุณสามารถเปลี่ยนชิ้นส่วน/ส่วนประกอบได้ตามต้องการ แต่จะรับผิดชอบในการเปลี่ยนรหัสเพื่อให้ใช้งานได้ ฉันจะเพิ่มความคิดเห็นในโค้ดเพื่ออธิบายว่าแต่ละส่วนทำอะไร

สิ่งสุดท้ายคือไมโครคอมพิวเตอร์ เราใช้ Arduino Nano สามารถเปลี่ยนเป็น Arduino Uno หรือไมโครคอนโทรลเลอร์อื่น ๆ ได้ การดำเนินการอาจแตกต่างกันไป และคุณจะต้องรับผิดชอบในการให้คอมพิวเตอร์เครื่องอื่นทำงาน

แถบไฟ LED อยู่ในถุงเงินที่ด้านบนของลิ้นชักพนักงาน MHD ไมโครโฟนยังอยู่ในกระเป๋าพร้อมไฟ LED เมื่อเสร็จแล้วกรุณาส่งคืนที่นี่!

เสบียง

  1. ไมโครคอมพิวเตอร์

    Arduino นาโน

  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 เส้น สีแดง 1 เส้น) เราจะสนใจเฉพาะปลั๊กสีดำเท่านั้น จัดวางให้อยู่ในลำดับนี้จากซ้ายไปขวา: แดง, น้ำเงิน, เขียว, เหลือง. สีเหล่านี้สอดคล้องกับ VCC, D0, C0, GND การใช้ด้านหญิงของสายไฟดันลวดสีดำลงบน GND สีแดงบน VCC และสีต่างๆ ลงบนตรงกลางทั้งสอง

**เมื่อติดสายไฟ ตรวจสอบให้แน่ใจว่าแถบสีเงินหงายขึ้น! นี้จะช่วยให้พวกเขาเลื่อนไปที่หมุด (เห็นในรูปแรก)

จากนั้นเราจะเอาด้านหญิงอีกด้านมาติดไว้กับนาโน ต่อสาย GND จากแถบ LED เข้ากับ GND ถัดจาก D2 จากนั้นนำสาย VCC มาต่อเข้ากับขา +5V แนบพิน C0 และ D0 จาก LED เข้ากับพิน D2 และ D3 บน Nano ตำแหน่งปลั๊กสามารถดูได้ในรูปภาพที่สามและสี่

ขั้นตอนที่ 3: แนบไมโครโฟน

ติดไมโครโฟน
ติดไมโครโฟน
ติดไมโครโฟน
ติดไมโครโฟน
ติดไมโครโฟน
ติดไมโครโฟน

** บันทึก **

สายไฟขาดตอนถ่ายรูป ฉันจะอัปเดตรูปภาพนี้เมื่อเป็นไปได้เพื่อให้สอดคล้องกับคำแนะนำได้ดีขึ้น ต่อไปนี้คือสีของเส้นลวดในทิศทางเทียบกับสีในภาพ:

  • แดง -> น้ำตาล
  • สีดำ -> สีดำ
  • สี -> สีเทา

ไมโครโฟนจะติดแบบเดียวกับ LED Strip แต่มีดาต้าพินเพียง 1 อันแทนที่จะเป็นสองอัน

คราวนี้เราต้องต่อพิน VCC จากไมค์กับพิน 3V3 บนนาโนโดยใช้สายสีแดง จากนั้นหมุด GND บนไมโครโฟนไปยัง GND บนนาโนโดยใช้สายสีดำ และสุดท้ายพิน OUT บนไมโครโฟนไปยังพิน D4 บนนาโนด้วยลวดสี

ขั้นตอนที่ 4: Arduino IDE

ใช้คอมพิวเตอร์ที่อยู่ใกล้กับเครื่องพิมพ์ 3D มากที่สุด เปิด Arduino IDE คอมพิวเตอร์เหล่านี้มีซอฟต์แวร์พิเศษติดตั้งไว้เพื่อควบคุมแถบ LED ของเรา จากนั้นใช้ไมโคร USB ต่อนาโนเข้ากับคอมพิวเตอร์

  1. คลิกเครื่องมือในแถบด้านบน
  2. จากนั้นภายใต้ Board ให้คลิก Arduino Nano
  3. ภายใต้ โปรเซสเซอร์ คลิก ATmega328P (Old Bootloader)

    หากไม่ได้ผลให้เลือก ATmega328P

  4. สุดท้าย ภายใต้ Port คลิกตัวเลือกเดียวที่แสดง

เมื่อเลือกทั้งหมดแล้ว ให้คัดลอกและวางโค้ดนี้ลงในหน้าต่างสเก็ตช์ (ซึ่งระบุว่า 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; ไฟ LED uint8_t; // เสียง const int sampleWindow = 50; // ความกว้างของหน้าต่างตัวอย่างเป็น mS (50 mS = 20Hz) ตัวอย่าง int ที่ไม่ได้ลงชื่อ // สร้างบัฟเฟอร์สำหรับเก็บสี (3 ไบต์ต่อสี) rgb_color colors[ledCount];// ตั้งค่าความสว่างของไฟ LED (สูงสุดคือ 31 แต่สว่างจนทำให้ตาบอดได้) ความสว่างของ const = 12; การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); } วงเป็นโมฆะ () { ตัวปรับสมดุล (); ledStrip.write (สี, ledCount, ความสว่าง); } void equilizer() { unsigned long startMillis= millis(); // เริ่มต้นหน้าต่างตัวอย่าง unsigned int peakToPeak = 0; // peak-to-peak ระดับสัญญาณ int ที่ไม่ได้ลงนามสูงสุด = 0; สัญญาณ int ที่ไม่ได้ลงนาม Min = 1024; เวลา uint8_t = มิลลิวินาที () >> 4; // รวบรวมข้อมูลสำหรับ 50 mS ในขณะที่ (มิลลิวินาที () - startMillis < sampleWindow) { sample = analogRead (micPin); // โยนการอ่านปลอมออกถ้า (สัญญาณตัวอย่างสูงสุด) { signalMax = ตัวอย่าง; // บันทึกเฉพาะระดับสูงสุด } else if (sample < signalMin) { signalMin = sample; // บันทึกเฉพาะระดับต่ำสุด } } } peakToPeak = signalMax - signalMin; // max - min = peak-peak amplitude memset(สี, 0, sizeof(สี)); // ล้างสีจากไฟ LED แถบ LED = ช่วง (peakToPeak); // เรียกช่วงเพื่อดูจำนวน LEDS ที่จะสว่างขึ้น uint32_t stripColor = peakToPeak/1000 + peakToPeak%1000; สำหรับ (uint16_t i = 0; i <= leds; i++) { สี = hsvToRgb ((uint32_t) แถบสี * 359 / 256, 255, 255); // เพิ่มสีกลับไปที่แถบในขณะที่ให้แสงสว่างเฉพาะไฟ LED ที่จำเป็นเท่านั้น } } rgb_color hsvToRgb (uint16_t h, uint8_t s, uint8_t v) { uint8_t f = (ชั่วโมง % 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; ก. = เสื้อ; ข = พี; หยุดพัก; กรณีที่ 1: r = q; ก. = วี; ข = พี; หยุดพัก; กรณีที่ 2: r = p; ก. = วี; ข = เสื้อ; หยุดพัก; กรณีที่ 3: r = p; ก. = คิว; ข = วี; หยุดพัก; กรณีที่ 4: r = t; ก. = พี; ข = วี; หยุดพัก; กรณีที่ 5: r = v; ก. = พี; ข = q; หยุดพัก; } ส่งคืน rgb_color(r, g, b); } uint8_t ranges (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; } อื่น ๆ if(vol > 112) { return 16; } else if(vol > 71) { return 12; } else if(vol > 30) { return 8; } อื่น ๆ { กลับ 4; } }

ขั้นตอนที่ 5: เมื่อเสร็จแล้ว

ทำได้ดีมาก! ถ่ายภาพการทำงานทั้งหมด หากแถบไฟ LED ไม่สว่างจนสุด แสดงว่าปรับสกรูที่ด้านหลังไมโครโฟนแล้ว คุณสามารถเปลี่ยนรหัสเพื่อแก้ไขปัญหานี้ได้ (ขอความช่วยเหลือหากต้องการ) แต่ไม่จำเป็น หากคุณต้องการเก็บโปรเจ็กต์ไว้ ลิงก์สำหรับไมโครโฟนและแถบนำแสดงอยู่ด้านล่าง เราต้องการผู้ที่อยู่ใน Hub เพื่อให้พนักงานคนอื่นทำเสร็จเช่นกัน

ตอนนี้ ก่อนที่จะถอดประกอบทุกอย่าง ให้ต่อ nano เข้ากับคอมพิวเตอร์อีกครั้ง และทำตามขั้นตอนเหล่านี้ใน Arduino IDE:

  • คลิกไฟล์
  • ตัวอย่าง
  • ขั้นพื้นฐาน
  • กะพริบตา
  • เมื่อเสร็จแล้วให้คลิกปุ่มอัปโหลด

เพื่อให้แน่ใจว่าทุกคนกำลังทำกระบวนการทั้งหมด ไม่ใช่แค่การต่อสายไฟ ตอนนี้ถอดแยกชิ้นส่วนทุกอย่างแล้วใส่กลับที่ที่คุณพบ!

ลิงค์:

ไมโครโฟน

ไฟ LED จะถูกเพิ่มเมื่อฉันมีลิงก์

แนะนำ: