สารบัญ:
- ขั้นตอนที่ 1: รายการวัสดุ
- ขั้นตอนที่ 2: ข้อกำหนดของเครื่องมือ/เครื่องจักร/ซอฟต์แวร์
- ขั้นตอนที่ 3: ฮาร์ดแวร์ปากโป้ง
- ขั้นตอนที่ 4: ซอฟต์แวร์ปากโป้ง
- ขั้นตอนที่ 5: การประกอบปากโป้ง
- ขั้นตอนที่ 6: ฮาร์ดแวร์ของลำโพง
- ขั้นตอนที่ 7: ซอฟต์แวร์ลำโพง
- ขั้นตอนที่ 8: การประกอบลำโพง
- ขั้นตอนที่ 9: ตั้งค่า/ติดตั้ง
- ขั้นตอนที่ 10: การแก้ไขปัญหา
- ขั้นตอนที่ 11: ขั้นตอนถัดไปที่เป็นไปได้
วีดีโอ: นิทานเสียงสำหรับการเดินเรือ: 11 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
ปากโป้งเป็นชิ้นส่วนของเชือกที่ใช้ในการแล่นเรือเพื่อระบุว่ามีกระแสน้ำเชี่ยวกรากหรือเป็นชั้น ๆ ข้ามใบเรือหรือไม่ อย่างไรก็ตาม เส้นด้ายสีต่างๆ ที่ติดอยู่ที่ด้านข้างของใบเรือแต่ละข้างเป็นตัวบ่งชี้ที่มองเห็นได้อย่างชัดเจน คำพูดที่ได้ยินเหล่านี้เป็นอุปกรณ์ช่วยเหลือที่มีจุดมุ่งหมายเพื่อสื่อสารข้อมูลภาพในรูปแบบการได้ยินสำหรับลูกเรือทั้งที่มองเห็นและมีความบกพร่องทางสายตาเช่น Pauline
อุปกรณ์ประกอบด้วยระบบอินพุต ซึ่งอ่านการเคลื่อนไหวของปากโป้ง และระบบส่งออก ซึ่งส่งเสียงบี๊บเป็นชุดเพื่อถ่ายทอดข้อมูลการไหลของอากาศ
จำเป็นต้องมีการเข้าถึงอุปกรณ์บัดกรีและเครื่องพิมพ์ 3 มิติในการผลิตอุปกรณ์นี้
ขั้นตอนที่ 1: รายการวัสดุ
BOM พร้อมลิงค์และราคา
หมายเหตุ: คุณจะต้องมี 2 ชุดต่อไปนี้ทั้งหมด
ระบบอินพุต
- Arduino นาโน
- Adafruit perma-proto เขียงหั่นขนมครึ่งขนาด PCB
- โมดูลรับส่งสัญญาณไร้สาย nRF24L01
- ผู้ขัดขวางรูปภาพ
- Sparkfun Photo Interrupter กระดานฝ่าวงล้อม
- ชุดแบตเตอรี่ 9V ที่เข้ากันได้กับ Arduino
- แบตเตอรี่ 9V
- ลวด 22 เกจหลายเส้น
- เส้นด้าย
- แม่เหล็กนีโอไดเมีย
- อีพ็อกซี่
ระบบเอาท์พุต
- Arduino นาโน
- Adafruit perma-proto เขียงหั่นขนมครึ่งขนาด PCB
- nRF24L01 โมดูลเครื่องรับส่งสัญญาณไร้สาย
- ชุดแบตเตอรี่ 9V ที่เข้ากันได้กับ Arduino
- โพเทนชิโอมิเตอร์ 1K โอห์ม
- ตัวต้านทาน 120 โอห์ม
- 2N3904 ทรานซิสเตอร์
- ตัวเก็บประจุ 0.1 ยูเอฟ
- ลำโพงที่รองรับ Arduino
ไฟล์ GitHub
- โค้ดและไฟล์ STL ทั้งหมดที่จำเป็นในการสร้างคำบอกเล่าเหล่านี้มีอยู่ใน repo GitHub นี้
- คุณจะต้องมีกล่องหุ้มสองชุดและกล่องลำโพงหนึ่งชุด
ขั้นตอนที่ 2: ข้อกำหนดของเครื่องมือ/เครื่องจักร/ซอฟต์แวร์
ในการเขียนโปรแกรม Arduino คุณจะต้องดาวน์โหลด Arduino IDE ลิงค์ดาวน์โหลดสามารถพบได้ที่นี่
ในการตั้งโปรแกรมโมดูล nRF24L01 คุณจะต้องดาวน์โหลดไลบรารีผ่าน Arduino IDE เครื่องมือ > จัดการไลบรารี… > ติดตั้งไลบรารี RF24
ในการประกอบชิ้นส่วนอิเล็กทรอนิกส์จำเป็นต้องเข้าถึงเครื่องมือบัดกรีพื้นฐาน ปั๊ม desoldering อาจมีประโยชน์เช่นกัน แต่ไม่จำเป็น
ในการสร้างกรอบเล่าเรื่องและกล่องลำโพง คุณจะต้องเข้าถึงเครื่องพิมพ์ 3 มิติ
ขั้นตอนที่ 3: ฮาร์ดแวร์ปากโป้ง
ประกอบวงจรตามแผนภาพด้านบน Arduino Nano ควรอยู่ในแนวเดียวกับด้านบนของโปรโตบอร์ด ซึ่งช่วยให้คุณเข้าถึงพอร์ต USB ได้แม้หลังจากต่ออุปกรณ์อิเล็กทรอนิกส์ทั้งหมดแล้ว
เพื่อหลีกเลี่ยงไม่ให้อุปกรณ์อิเล็กทรอนิกส์ลัดวงจร ตรวจสอบให้แน่ใจว่าได้ตัดร่องรอยของโปรโตบอร์ดบนแถวที่ nRF24 จะครอบครองตามที่แสดงในภาพด้านบน
มิฉะนั้น คุณจะต้องใช้สายจัมเปอร์เพื่อเชื่อมต่อ nRF24 กับโปรโตบอร์ด
การเชื่อมต่อตัวต้านทาน, สาย GND และ 5V กับตัวขัดขวางภาพถ่ายจะไม่ถูกแสดง ต่อสายผู้ขัดขวางรูปภาพตามที่ระบุไว้บนกระดานฝ่าวงล้อม รวมรูปภาพของกระดานฝ่าวงล้อม
วงจรสำหรับปากโป้งด้านขวาและด้านซ้ายเหมือนกันทุกประการ
ขั้นตอนที่ 4: ซอฟต์แวร์ปากโป้ง
นี่คือรหัสสำหรับปากโป้งที่ถูกต้อง เชื่อมต่อ nano ของปากโป้งที่ถูกต้องกับคอมพิวเตอร์ของคุณ เปิด Arduino IDE คัดลอกและวางโค้ดนี้ลงในนั้น แล้วอัปโหลดไปยังบอร์ด
/**โปรแกรมที่ใช้โฟโตเกตตรวจสอบการเล่าเรื่อง
*/ #include #include #include #include RF24 วิทยุ(9, 10); // CE, CSN const ไบต์แอดเดรส[6] = "00010"; //---โปรแกรม consts--- //เวลา const int string_check_time = 1; const int flow_check_time = 30; const int base_delay = 5; const int flow_check_delay = 0; ค่าคงที่ GATE_PIN = 6; ค่าคงที่ GATE_PIN_2 = 7; const int max_when_testing = flow_check_time * 0.6; //ตั้งค่า var ด้านบนตามการทดลองของคุณ const int max_in_flow = min(max_ when_testing, int(flow_check_time/string_check_time)); const int msg_max_val = 9; //const int string_thresh = 20; #define STRING_THRESH 0.2 //---โปรแกรม vars--- int num_string_seen = 0; int num_loops = 0; การตั้งค่าเป็นโมฆะ () { // ในขณะที่ (! Serial); // สำหรับฟลอรา // ล่าช้า (500); num_string_seen = 0; num_loops = 0; โหมดพิน (GATE_PIN, INPUT); โหมดพิน (GATE_PIN_2, INPUT); Serial.begin(115200); // สำหรับการดีบัก radio.begin(); radio.openWritingPipe (ที่อยู่); วิทยุ.setPALevel(RF24_PA_MIN); radio.stopListening(); } void loop() { // ใส่รหัสหลักของคุณที่นี่ เพื่อเรียกใช้ซ้ำ: if(num_loops % string_check_time == 0){ //check string state check_string(); } if (num_loops == flow_check_time) { // ตรวจสอบการไหล //Serial.println (num_string_seen); int flow_num = ตรวจสอบ_flow(); //ส่งค่า send_out(flow_num); // รีเซ็ต vars num_string_seen = 0; num_loops = 0; ล่าช้า (flow_check_delay); } num_loops++; ล่าช้า(base_delay); } /* *วิธีการตรวจสอบว่า string ข้าม gate หรือไม่ */ void check_string(){ int string_state = digitalRead(GATE_PIN); //Serial.println(string_state); //อนุกรม.println(string_state); ถ้า (string_state == 0){ num_string_seen++; //Serial.println("เห็นสตริง!"); }
int bot_state = digitalRead (GATE_PIN_2);
ถ้า (bot_state == 0){ num_string_seen--; //Serial.println("สตริงอยู่ด้านล่าง!"); } //Serial.print("การนับสตริงผ่าน: "); //Serial.println(num_string_seen); //อนุกรม.println(num_string_seen); กลับ; } /* * วิธีวิเคราะห์เศษส่วนของเวลาที่ครอบคลุมประตู */ int ตรวจสอบ_flow(){ double เปอร์เซ็นต์_seen = double(num_string_seen)/max_in_flow; Serial.print("เปอร์เซ็นต์ที่ครอบคลุม: "); printDouble(percent_seen, 100); // ปรับขนาดเป็นขนาดการสื่อสาร int scaled_flow = int (percent_seen * msg_max_val); ถ้า (scaled_flow > msg_max_val) { scaled_flow = msg_max_val; } if(scaled_flow = 0) frac = (val - int(val)) * ความแม่นยำ; อื่น frac = (int(val)- val) * ความแม่นยำ; Serial.println(frac, ธ.ค.); }
นี่คือรหัสสำหรับปากโป้งด้านซ้าย ทำตามขั้นตอนเดียวกับด้านบนสำหรับปากโป้งด้านซ้าย อย่างที่คุณเห็น ข้อแตกต่างเพียงอย่างเดียวคือที่อยู่ที่ผู้ปากโป้งส่งผลลัพธ์
/**โปรแกรมที่ใช้โฟโตเกตตรวจสอบการเล่าเรื่อง
*/ #include #include #include #include RF24 วิทยุ(9, 10); // CE, CSN const ไบต์แอดเดรส[6] = "00001"; //---โปรแกรม consts--- //เวลา const int string_check_time = 1; const int flow_check_time = 30; const int base_delay = 5; const int flow_check_delay = 0; ค่าคงที่ GATE_PIN = 6; ค่าคงที่ GATE_PIN_2 = 7; const int max_when_testing = flow_check_time * 0.6; //ตั้งค่า var ด้านบนตามการทดลองของคุณ const int max_in_flow = min(max_ when_testing, int(flow_check_time/string_check_time)); const int msg_max_val = 9; //const int string_thresh = 20; #define STRING_THRESH 0.2 //---โปรแกรม vars--- int num_string_seen = 0; int num_loops = 0; การตั้งค่าเป็นโมฆะ () { // ในขณะที่ (! Serial); // สำหรับฟลอรา // ล่าช้า (500); num_string_seen = 0; num_loops = 0;
โหมดพิน (GATE_PIN, INPUT);
โหมดพิน (GATE_PIN_2, INPUT); Serial.begin(115200); // สำหรับการดีบัก radio.begin(); radio.openWritingPipe (ที่อยู่); วิทยุ.setPALevel(RF24_PA_MIN); radio.stopListening(); }void loop() { // ใส่รหัสหลักของคุณที่นี่ เพื่อเรียกใช้ซ้ำ: if(num_loops % string_check_time == 0){ //check string state check_string(); } if (num_loops == flow_check_time) { // ตรวจสอบการไหล //Serial.println (num_string_seen); int flow_num = ตรวจสอบ_flow(); //ส่งค่า send_out(flow_num); // รีเซ็ต vars num_string_seen = 0; num_loops = 0; ล่าช้า (flow_check_delay); } num_loops++; ล่าช้า(base_delay); } /* *วิธีการตรวจสอบว่า string ข้าม gate หรือไม่ */ void check_string(){ int string_state = digitalRead(GATE_PIN); //Serial.println(string_state); //อนุกรม.println(string_state); ถ้า (string_state == 0){ num_string_seen++; //Serial.println("เห็นสตริง!"); }
int bot_state = digitalRead (GATE_PIN_2);
ถ้า (bot_state == 0){ num_string_seen--; //Serial.println("สตริงอยู่ด้านล่าง!"); } //Serial.print("การนับสตริงผ่าน: "); //Serial.println(num_string_seen); //อนุกรม.println(num_string_seen); กลับ; } /* * วิธีวิเคราะห์เศษส่วนของเวลาที่ครอบคลุมประตู */ int ตรวจสอบ_flow(){ double เปอร์เซ็นต์_seen = double(num_string_seen)/max_in_flow; Serial.print("เปอร์เซ็นต์ที่ครอบคลุม: "); printDouble(percent_seen, 100); // ปรับขนาดเป็นขนาดการสื่อสาร int scaled_flow = int (percent_seen * msg_max_val); ถ้า (scaled_flow > msg_max_val) { scaled_flow = msg_max_val; } if(scaled_flow = 0) frac = (val - int(val)) * ความแม่นยำ; อื่น frac = (int(val)- val) * ความแม่นยำ; Serial.println(frac, ธ.ค.); }
ขั้นตอนที่ 5: การประกอบปากโป้ง
ชิ้นส่วนส่วนบุคคล
- กรอบปากโป้ง
- เส้นด้าย
- สร้างวงจรปากโป้ง
- ก้อนแบตเตอรี่
- เทปพันสายไฟ
- อีพ็อกซี่หรือกาว
STL สำหรับส่วนประกอบปากโป้งการพิมพ์ 3 มิติ
- STL สำหรับกรอบปากโป้ง: ซ้าย, ขวา
- STLs สำหรับกล่องอิเล็กทรอนิกส์: บน, ล่าง
คำแนะนำการชุมนุม
- วางแถบแม่เหล็กในช่องของกรอบปากโป้งที่พิมพ์ 3 มิติ ตรวจสอบให้แน่ใจว่าแม่เหล็กเรียงกันอย่างถูกต้องระหว่างกรอบด้านขวาและกรอบด้านซ้าย จากนั้นใช้อีพ็อกซี่ (หรือกาว) เพื่อยึดแม่เหล็กเข้ากับกรอบ ปล่อยให้อีพ็อกซี่ (หรือกาว) เซ็ตตัวให้สนิท
- วางตัวขัดขวางรูปภาพในช่องด้านบนและด้านล่างที่ด้านหลังของกรอบ อีพ็อกซี่อย่างระมัดระวัง (หรือกาว) แผงกั้นภาพถ่ายกับกรอบ ปล่อยให้อีพ็อกซี่ (หรือกาว) เซ็ตตัวให้สนิท
- ตัดเส้นด้าย ~7 เป็นชิ้น ผูกปลายด้านหนึ่งของเส้นด้ายที่รอยบากของแถบแนวตั้งแรก ตัดเทปไฟฟ้าชิ้นเล็ก ๆ แล้วพันเทปไฟฟ้าไว้เหนือส่วนของเส้นด้ายที่จะอยู่ในบริเวณที่ขัดขวางภาพถ่าย ร้อยเส้นด้ายผ่านกรอบเพื่อให้ผ่านช่องว่างของประตูผู้ขัดขวางภาพถ่าย
- วางแถบแม่เหล็กในช่องด้านล่างกล่องอิเล็กทรอนิกส์ที่พิมพ์ 3 มิติ ตรวจสอบให้แน่ใจว่าแม่เหล็กเรียงกันอย่างถูกต้องระหว่างกล่องด้านขวาและกล่องด้านซ้าย จากนั้นใช้อีพ็อกซี่ (หรือกาว) เพื่อยึดแม่เหล็กเข้ากับกรอบ ปล่อยให้อีพ็อกซี่ (หรือกาว) เซ็ตตัวให้สนิท
- วางวงจรปากโป้งที่สร้างขึ้นในกล่องอิเล็กทรอนิกส์ โดยจัดส่วนประกอบต่างๆ ให้เข้ากับช่องเสียบ ปิดกล่องด้วยกล่องอิเล็กทรอนิกส์ที่พิมพ์ 3 มิติด้านบน อีพ็อกซี่ (หรือกาว) ก้อนแบตเตอรี่ที่ด้านบนของกล่องเพื่อให้สวิตช์เปิดออก
ขั้นตอนที่ 6: ฮาร์ดแวร์ของลำโพง
ระบบเอาท์พุตประกอบด้วยวงจรลำโพงสองวงจร วงจรหนึ่งสำหรับแต่ละปากโป้ง พร้อมกับการสื่อสารแบบไร้สายและปุ่มปรับระดับเสียง ขั้นแรก เตรียมโปรโตบอร์ดเพื่อใช้กับโมดูล nRF24L01 เช่นเดียวกับที่เราทำกับวงจรปากโป้ง โดยการตัดลีดที่แยกพินสองแถวที่จะวางบอร์ด
จากนั้นประกอบวงจรตามที่แสดงในแผนภาพด้านบนโดยอ้างอิงจากภาพถ่ายของวงจรที่เสร็จสมบูรณ์
คำแนะนำการประกอบบอร์ด
ในการจัดเรียงแผงบอร์ดในตู้ลำโพง ส่วนประกอบหลักจะต้องวางอยู่ในบางพื้นที่ของบอร์ด ในคำแนะนำต่อไปนี้ ฉันจะอ้างอิงถึงระบบพิกัดที่ใช้เพื่อระบุแถวและคอลัมน์บนโปรโตบอร์ด Adafruit:
- ต้องวาง Arduino Nano ชิดขอบด้านบนของบอร์ดตรงกลางเพื่อให้พิน Vin อยู่ในตำแหน่ง G16 ซึ่งจะช่วยให้สามารถตั้งโปรแกรม Arduino Nano ใหม่ได้ง่ายหลังจากประกอบวงจรแล้ว
- ต้องวางบอร์ด nRF24L01 ไว้ที่มุมล่างขวาของบอร์ดซึ่งครอบคลุมแปดตำแหน่งตั้งแต่ C1 ถึง D5 สิ่งนี้จะทำให้ nRF24L01 ห้อยลงมาจากโปรโตบอร์ดเพื่อให้สามารถสื่อสารไร้สายได้ดีขึ้น
- ชุดแบตเตอรี่สำหรับระบบลำโพงจ่ายไฟให้กับโปรโตบอร์ดทั้งสอง ดังนั้นต้องแน่ใจว่าได้เชื่อมต่อราง/พิน GND ของ Arduino Nano ทั้งสองและพิน Vin เข้ากับแหล่งจ่ายไฟ
-
สำหรับวงจร "ด้านล่าง" ควรวางโพเทนชิออมิเตอร์ที่ด้านบนของบอร์ดโดยหันออกด้านนอก เพื่อให้หมุดอยู่ที่ตำแหน่ง J2, J4 และ J6
- J2 ↔ Arduino Nano เอาต์พุตจากพินดิจิตอล 3 (D3)
- J4 ↔ พินฐานของทรานซิสเตอร์ 2N3904
- J6 ↔ ไม่เชื่อมต่อ
-
สำหรับวงจร "ด้านบน" ควรวางโพเทนชิออมิเตอร์ที่ด้านล่างของบอร์ดโดยหันออกด้านนอก เพื่อให้หมุดอยู่ที่ตำแหน่ง J9, J11 และ J13
- J13 ↔ Arduino Nano เอาต์พุตจากพินดิจิตอล 3 (D3)
- J11 ↔ พินฐานของทรานซิสเตอร์ 2N3904
- J9 ↔ ไม่เชื่อมต่อ
ขั้นตอนที่ 7: ซอฟต์แวร์ลำโพง
นี่คือรหัสสำหรับผู้พูดที่สื่อสารกับปากโป้งด้านซ้าย เชื่อมต่อ Arduino Nano บนบอร์ดลำโพงด้านล่างกับคอมพิวเตอร์ เปิด Arduino IDE คัดลอกและวางโค้ดนี้ลงในนั้น แล้วอัปโหลดไปยังบอร์ด
#รวม
#include #include RF24 วิทยุ(7, 8); // CE, CSN // ปากโป้งซ้าย, ที่อยู่ไบต์ const ของบอร์ดลำโพงด้านบน[6] = "00001"; const int pitch = 2000; const int pitch_duration = 200; const ลำโพง int = 3; const int delay_gain = 100; สถานะ int = 0; int cur_delay = 0; ถ่านอ่าน[2]; การตั้งค่าเป็นโมฆะ () { pinMode (ลำโพง, เอาต์พุต); Serial.begin(115200); Serial.println("กำลังเริ่มการสื่อสารไร้สาย…"); radio.begin(); radio.openReadingPipe(0, ที่อยู่); วิทยุ.setPALevel(RF24_PA_MIN); radio.startListening(); } void loop() { if(radio.available()) { radio.read(&read, sizeof(read)); สถานะ = (int)(อ่าน[0]-'0'); Serial.print("ได้รับ: "); Serial.println (สถานะ); cur_delay = สถานะ delay_gain*; } if (cur_delay) { tone (ผู้พูด ระดับเสียง pitch_duration); ล่าช้า(cur_delay + pitch_duration); Serial.println("บี๊บ!"); } }
นี่คือรหัสสำหรับผู้พูดที่สื่อสารกับปากโป้งที่ถูกต้อง เชื่อมต่อ Arduino Nano บนบอร์ดลำโพงด้านบนกับคอมพิวเตอร์ของคุณ เปิด Arduino IDE คัดลอกและวางโค้ดนี้ลงไป แล้วอัปโหลดไปยังบอร์ด
#รวม
#include #include RF24 วิทยุ(7, 8); // CE, CSN // ปากโป้งด้านขวา, ที่อยู่ไบต์ const ของบอร์ดลำโพงด้านล่าง[6] = "00010"; const int pitch = 1500; const int pitch_duration = 200; const ลำโพง int = 3; const int delay_gain = 100; สถานะ int = 0; int cur_delay = 0; ถ่านอ่าน[2]; การตั้งค่าเป็นโมฆะ () { pinMode (ลำโพง, เอาต์พุต); Serial.begin(115200); Serial.println("กำลังเริ่มการสื่อสารแบบไร้สาย…"); radio.begin(); radio.openReadingPipe(0, ที่อยู่); วิทยุ.setPALevel(RF24_PA_MIN); radio.startListening(); } void loop() { if (radio.available()) { radio.read(&read, sizeof(read)); สถานะ = (int)(อ่าน[0]-'0'); Serial.print("ได้รับ: "); Serial.println (สถานะ); cur_delay = สถานะ delay_gain*; } if (cur_delay) { tone (ผู้พูด ระดับเสียง pitch_duration); ดีเลย์(cur_delay+pitch_duration); Serial.println("บี๊บ!"); } }
ขั้นตอนที่ 8: การประกอบลำโพง
ชิ้นส่วนส่วนบุคคล
- 2 สร้างวงจรลำโพง
- ลำโพง 2 ตัว
- แบตเตอรี่ 1 ก้อน
STL สำหรับการพิมพ์ 3 มิติ
- กล่องด้านบน
- ก้นกล่อง
คำแนะนำการประกอบทางกายภาพ
- วางวงจรลำโพงไว้ด้านล่างของกล่องอย่างระมัดระวัง โดยให้แผงหนึ่งอยู่ด้านบนของอีกบอร์ดหนึ่ง โดยให้ปุ่มปรับระดับเสียงอยู่ติดกันและสอดเข้าไปในรู ควรเปิดชิปสื่อสารไว้ที่ด้านหลังกล่อง
- วางลำโพงไว้ทางด้านซ้ายและด้านขวาของแผงวงจร ตรวจสอบให้แน่ใจว่าลำโพงตรงกับด้านปากโป้งที่ถูกต้อง จัดตำแหน่งลำโพงให้ตรงกับช่องที่ด้านข้างของกล่อง
- ป้อนสายไฟของชุดแบตเตอรี่ผ่านรูเล็กๆ ที่ด้านหลังกล่อง อีพ็อกซี่ (หรือกาว) ก้อนแบตเตอรี่ที่ด้านหลังของกล่องเพื่อให้สวิตช์เปิดออก
- วางกล่องที่พิมพ์ 3 มิติไว้ด้านบนด้านล่างของกล่องเพื่อบรรจุทุกอย่าง
ขั้นตอนที่ 9: ตั้งค่า/ติดตั้ง
- เปิดปากโป้งโดยพลิกสวิตช์บนก้อนแบตเตอรี่ไปที่ตำแหน่ง 'เปิด' ทำเช่นเดียวกันกับชุดลำโพงเพื่อเปิดระบบเอาต์พุต
- การติดตั้งปากโป้งที่ได้ยินทำได้ง่ายที่สุดกับคนสองคน แต่สามารถทำได้ด้วยคนเดียว สำหรับการติดตั้งบนแขนจับที่ไม่บิดงอ จะสวมปากโปงได้ง่ายที่สุดก่อนที่จะยกใบเรือ
- เพื่อให้แน่ใจว่ากรอบการเล่าเรื่องอยู่ในแนวที่ถูกต้อง ให้ดูที่รอยบากบนแถบแนวตั้งอันใดอันหนึ่ง เมื่อตั้งโครงให้ตั้งตรง รอยบากควรอยู่ด้านบน ด้านข้างของโครงที่มีแถบนั้นควรหันไปทางด้านหน้าของเรือด้วย
- วางนิทานไว้ที่ความสูงและตำแหน่งที่ต้องการบนใบเรือ ควรจัดวางเส้นด้ายให้อยู่ในที่เดียวกันหากเป็นส่วนหนึ่งของนิทานพื้นบ้าน
- เมื่อคุณมีเรื่องเล่าในตำแหน่งที่ต้องการแล้ว วางเรื่องเล่าอีกด้านไว้อีกด้านหนึ่งของใบเรือ ตรงข้ามกับอันแรกที่คุณวางไว้ โดยให้แม่เหล็กเรียงกัน เมื่อแม่เหล็กทำการเชื่อมต่อแล้ว ก็ควรยึดโครงไว้กับใบเรืออย่างแน่นหนา จัดเรียงแม่เหล็กของกล่องหุ้มอุปกรณ์อิเล็กทรอนิกส์ สำหรับแต่ละเรื่องเล่าที่ด้านใดด้านหนึ่งของใบเรือ ให้เชื่อมต่อด้วย
- หากคุณสังเกตเห็นว่าเมื่อเชือกไหลตรงไปข้างหลัง เชือกนั้นไม่ตัดผ่านหน้าประตูด้านบน ให้หมุนกรอบเล่าเรื่องโดยให้ครึ่งหลังของกรอบก้มลง หมุนกรอบจนกว่าเชือกจะผ่านตัวขัดขวางภาพด้านบนเมื่อเส้นด้ายไหลย้อนกลับ
ขั้นตอนที่ 10: การแก้ไขปัญหา
โค้ดทุกชิ้นมีข้อความสั่งพิมพ์ดีบักเพื่อระบุว่ากำลังส่ง รับ และประมวลผลข้อมูล การเปิดพอร์ต COM โดยใช้ Arduino IDE โดยระบบย่อย Arduino Nano ตัวใดตัวหนึ่งที่เสียบอยู่ในคอมพิวเตอร์จะทำให้คุณสามารถดูข้อความสถานะเหล่านี้ได้
หากระบบทำงานไม่ถูกต้อง ให้สลับสวิตช์บนส่วนประกอบทั้งหมด
ขั้นตอนที่ 11: ขั้นตอนถัดไปที่เป็นไปได้
- กันซึม
- การสื่อสารช่วงที่ยาวขึ้น WiFi เป็นตัวเลือกที่น่าสนใจ
- การตั้งค่าปัจจุบันของเราในปัจจุบันใช้ตัวขัดขวางภาพ 2 ภาพต่อปากโป้ง การเพิ่มตัวขัดขวางรูปภาพในระบบอาจน่าสนใจที่จะลอง
แนะนำ:
การออกแบบเกมในการสะบัดใน 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 ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง