สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ไมโครคอมพิวเตอร์
- ขั้นตอนที่ 2: แถบ LED
- ขั้นตอนที่ 3: แนบไมโครโฟน
- ขั้นตอนที่ 4: Arduino IDE
- ขั้นตอนที่ 5: เมื่อเสร็จแล้ว
วีดีโอ: ความชำนาญด้านอิเล็กทรอนิกส์ เลเวล 2: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
นี่จะเป็นบทช่วยสอนสั้นๆ ที่จะช่วยให้คุณผ่านระดับความเชี่ยวชาญด้านอิเล็กทรอนิกส์ระดับ 2 ได้สำเร็จ คุณไม่จำเป็นต้องทำเช่นนี้อย่างแน่นอน! คุณสามารถเปลี่ยนชิ้นส่วน/ส่วนประกอบได้ตามต้องการ แต่จะรับผิดชอบในการเปลี่ยนรหัสเพื่อให้ใช้งานได้ ฉันจะเพิ่มความคิดเห็นในโค้ดเพื่ออธิบายว่าแต่ละส่วนทำอะไร
สิ่งสุดท้ายคือไมโครคอมพิวเตอร์ เราใช้ Arduino Nano สามารถเปลี่ยนเป็น Arduino Uno หรือไมโครคอนโทรลเลอร์อื่น ๆ ได้ การดำเนินการอาจแตกต่างกันไป และคุณจะต้องรับผิดชอบในการให้คอมพิวเตอร์เครื่องอื่นทำงาน
แถบไฟ LED อยู่ในถุงเงินที่ด้านบนของลิ้นชักพนักงาน MHD ไมโครโฟนยังอยู่ในกระเป๋าพร้อมไฟ LED เมื่อเสร็จแล้วกรุณาส่งคืนที่นี่!
เสบียง
-
ไมโครคอมพิวเตอร์
Arduino นาโน
-
สายไฟ
-
7x F2F สายเคเบิล
- 2x สีดำ
- 2x สีแดง
- 3x สีต่างๆ
-
-
แถบ LED
อีกครั้งเรามีเพียงหนึ่ง มันจะอยู่กับไมโครโฟน
-
ไมโครโฟน
เรามีอันเดียวจบเลย! มันจะอยู่ในลิ้นชักพนักงาน
ขั้นตอนที่ 1: ไมโครคอมพิวเตอร์
ในการเริ่มต้น เราต้องคุ้นเคยกับส่วนต่างๆ ของ Arduino Nano ดังที่เห็นในภาพ ตัวควบคุมมีสองด้านหลัก ส่วนที่เรากังวลมีดังต่อไปนี้:
- +5V
- GND
- GND
- 3V3 (สิ่งนี้สามารถปรากฏเป็น 3.3V ได้เช่นกัน แต่หมายถึงสิ่งเดียวกัน)
- D2
- D3
- D4
- Mini USB (ปลั๊กสีเงินที่ส่วนท้าย)
ขั้นตอนที่ 2: แถบ 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 ต่อนาโนเข้ากับคอมพิวเตอร์
- คลิกเครื่องมือในแถบด้านบน
- จากนั้นภายใต้ Board ให้คลิก Arduino Nano
-
ภายใต้ โปรเซสเซอร์ คลิก ATmega328P (Old Bootloader)
หากไม่ได้ผลให้เลือก ATmega328P
- สุดท้าย ภายใต้ 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 จะถูกเพิ่มเมื่อฉันมีลิงก์
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง