สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การประกอบเคส
- ขั้นตอนที่ 2: โปรแกรม Makecode
- ขั้นตอนที่ 3: โปรแกรม Micropython
- ขั้นตอนที่ 4: ทำให้เป็นของคุณเอง
วีดีโอ: Coronavirus EXTER-MI-NATION ด้วย Micro:bit และ Daleks: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
นี่เป็นโครงการที่สองในซีรีส์เรื่องการป้องกัน coronavirus จาก TinkerGen คุณสามารถหาบทความแรกได้ที่นี่ เราเชื่อมั่นว่าด้วยความพยายามร่วมกันของมนุษยชาติ โรคระบาดในปัจจุบันจะสิ้นสุดลงในไม่ช้า แต่แม้หลังจาก COVID-19 ผ่านไป เราก็ควรระมัดระวังและรักษานิสัยที่ดีที่เรา (หวังว่า) ได้พัฒนาในช่วงเวลาที่ยากลำบากเหล่านี้ บทความก่อนหน้านี้เน้นการใช้ Micro:bit เพื่อให้ความสำคัญกับเราโดยการสัมผัสใบหน้าของเราโดยไม่รู้ตัว และป้องกันการแพร่กระจายของเชื้อโรค ในบทความนี้ เราจะออกแบบและสร้างอาวุธที่เรียบง่ายแต่ทรงพลังเพื่อต่อต้านจุลินทรีย์ ซึ่งเป็นอุปกรณ์เล็กๆ ที่เราใช้วัดระยะเวลาที่เราใช้ในการล้างมือ
เสบียง
Bitmaker Lite
ไม้อัด 1/8 (3 มม.) สำหรับเคส
M4 * 8 + 5 เสาทองแดงหัวเดียวสองตัวน็อต M4 สองตัว
สกรูหัวจมหกเหลี่ยม M4 * 8 สองตัว
หมุดไนลอนสีขาว R480 สองตัว
เสาอะลูมิเนียมสองทาง M2 * 15 สองทาง
สกรูกล M2 * 8 สองตัว
ขั้นตอนที่ 1: การประกอบเคส
ดาวน์โหลดไฟล์.dxf จาก Thingverse แล้วตัดออกจากไม้อัดขนาด 1/8 (3 มม.) ตัวเคสมีการออกแบบแบบล็อคตัวเองได้ แต่คุณอาจต้องทากาวเล็กน้อยเมื่อประกอบกล่อง ใช้ M4 * 8 สองตัว + เสาทองแดงหัวเดียว 5 ตัว น็อต M4 สองตัว และสกรูฝาครอบหัวจม M4 * 8 หกเหลี่ยม 2 ตัว เพื่อยึด Grove Ultrasonic Ranger กับผนังด้านในของเคส ติดเซอร์โวกับเสาอะลูมิเนียมแบบ double-pass 2 M2 * 15 ที่ด้านตรงข้ามของเคส. ใช้สกรูฟันกล M2 * 8 สองตัวเพื่อติดตั้งแขนเซอร์โวพลาสติกบนลูกศร เชื่อมต่อ Ultrasonic Ranger และ Servo กับ BitMaker Lite แล้วยึดภายในเคสด้วยหมุดไนลอนสีขาว R480 สองตัว ติดลูกศรเข้ากับเซอร์โวแล้วใส่ทั้งสองด้านบนและ ฝาครอบด้านล่าง ประกอบเสร็จแล้ว มาโค้ดกัน!
ขั้นตอนที่ 2: โปรแกรม Makecode
ฉันสร้างโค้ดสองเวอร์ชันสำหรับโปรเจ็กต์นี้: เวอร์ชันที่ง่ายกว่า โดยใช้ Microsoft Makecode สภาพแวดล้อมการเขียนโปรแกรมแบบกราฟิก และโค้ดที่ยากขึ้น ซึ่งเขียนด้วย Micropython ซึ่งโค้ดนั้นมีเสียง Dalek ซึ่งสังเคราะห์ด้วยโมดูลคำพูด Micro:bit เราจะเริ่มต้นด้วยโปรแกรมที่ง่ายกว่า
ก่อนที่คุณจะเริ่มเขียนโค้ด คุณต้องเพิ่มส่วนขยาย BitMaker lite ให้กับ Makecode ปรึกษาวิธีทำได้ที่นี่
ภายในบล็อคการเริ่มต้น เราล้างหน้าจอ ตั้งค่าสองตัวแปร start_time และ stage เป็น 0 ตั้งค่ามุมเซอร์โวเป็น 90 และรอ 500 ms ก่อนที่เราจะเริ่มรหัสลูปหลัก ตรรกะของรหัสภายในลูปหลักนั้นค่อนข้างง่าย - ก่อนอื่นไม่ว่าจะมีการตรวจจับมือหรือไม่ ถ้าสเตจเป็น 0 เราตั้งค่าเซอร์โวเป็น 90 องศา จะเป็นสถานะเริ่มต้น
หากเราตรวจพบว่ามีวัตถุอยู่ในระยะใกล้กว่า 10 ซม. จากอุปกรณ์ของเรา (เราจะถือว่ามันเป็นมือของบุคคล) เราจะทำการตรวจสอบว่าผ่านไป 1 วินาทีนับจากครั้งล่าสุดที่เราย้ายไปยังขั้นตอนถัดไปหรือไม่ ตั้งเวลา 1 วินาทีเพื่อจุดประสงค์ในการดีบัก จริงๆ แล้วน่าจะใกล้ถึง 4 วินาที (ตามคำแนะนำของ CDC ระยะเวลาในการล้างมือค่อนข้างดีคือ 20 วินาที เรามี 5 ขั้นตอน ดังนั้น 20/5=4) ทุกๆ 1 วินาทีที่ผ่านไปตั้งแต่เราก้าวขึ้นสู่เวที หากยังตรวจพบมือในบริเวณใกล้เคียงกับอุปกรณ์ เราจะไปยังด่านถัดไป รีเซ็ตตัวจับเวลาและเล่นเพลง นอกจากนี้เรายังตั้งค่าพินดิจิตอล 1 เป็น LOW ดังนั้นการสร้าง PWM สำหรับเสียงจะไม่รบกวนเซอร์โว - ถ้าคุณไม่ทำเช่นนั้น คุณจะสังเกตเห็นว่าเซอร์โวจะเริ่มทำงานผิดปกติเมื่อเล่นเพลง นี่เป็นข้อจำกัดที่ทราบของ Micro:bit
จากนั้นในทุกขั้นตอน เราจะตั้งค่ามุมเซอร์โวตามลำดับ if block สุดท้าย หากตรวจไม่พบมือ (ระยะห่างจากอุปกรณ์มากกว่า 10 ซม.) และระยะไม่ใช่ 0 หมายความว่าผู้ใช้หยุดล้างมือก่อนเวลาอันควร เราส่งเสียงเศร้าและตั้งเวทีกลับเป็น 0
หากคุณมีปัญหากับโค้ด คุณสามารถดาวน์โหลดไฟล์.hex ได้ที่ที่เก็บ GitHub สำหรับโปรเจ็กต์นี้
ขั้นตอนที่ 3: โปรแกรม Micropython
ถ้าคุณชอบเขียนโค้ดและยินดีกับความท้าทายเล็กๆ น้อยๆ การทำโปรเจ็กต์เดียวกันใน Micropython อาจน่าสนใจกว่าสำหรับคุณ แถมเวอร์ชั่นนี้มันส์กว่า!
รหัสหลักของเวอร์ชัน Micropython เป็นไปตามตรรกะเดียวกัน ข้อแตกต่างที่สำคัญประการหนึ่งคือเราไม่สามารถใช้ Ultrasonic Ranger หรือ Servo ได้โดยตรง - ไม่มีโมดูลมาตรฐานในเฟิร์มแวร์ Micro:bit micropython สำหรับสิ่งเหล่านี้ ดังนั้น เราจะใส่คลาส Servo นี้ในโค้ดของเราและใช้โค้ด Grove Ultrasonic Ranger Python ที่ดัดแปลงเล็กน้อยสำหรับการวัดระยะทาง วิธีที่ดีกว่าคือการสร้างไฟล์.py แบบสแตนด์อโลนสองไฟล์และนำเข้าเป็นโมดูล ไฟล์หนึ่งสำหรับคลาสเซอร์โว อีกไฟล์หนึ่งสำหรับ Ultrasonic ranger แต่เราจะเก็บทุกอย่างไว้ในที่เดียวเพื่อความเรียบง่าย
ข้อแตกต่างที่สำคัญอื่น ๆ คือการใช้โมดูลเสียงพูด ซึ่งช่วยให้เราสังเคราะห์เสียง Dalek ที่คุ้นเคยได้:) เราใช้พารามิเตอร์จากเอกสารนี้สำหรับโมดูลคำพูดเพื่อสร้างเสียงที่ดูเหมือนเสียง Dalek
ไปที่ที่เก็บ GitHub ของโปรเจ็กต์นี้เพื่อดาวน์โหลดโค้ด Micropython แบบเต็ม
ขั้นตอนที่ 4: ทำให้เป็นของคุณเอง
เราได้สร้างโปรเจ็กต์ที่มีประโยชน์ที่น่าสนใจด้วยส่วนขยาย Micro:bit และ Bitmaker Lite ที่สามารถเป็นทั้งโปรเจ็กต์การศึกษาล้วนๆ และสามารถนำไปใช้ในห้องน้ำในครัวเรือนเพื่อเตือนให้ผู้คนล้างมือให้สะอาดยิ่งขึ้น แน่นอน การทดลองและการปรับปรุงไม่ได้หยุดอยู่แค่นี้ คุณสามารถคิดหาวิธีที่จะทำให้เคสและการติดตั้งแข็งแรงขึ้นและเหมาะสำหรับใช้ในโรงเรียนของรัฐหรือโรงเรียนอนุบาล หรือคุณสามารถเชื่อมต่อลำโพงภายนอกเพื่อเพิ่มระดับเสียง
ความเป็นไปได้ไม่มีที่สิ้นสุดและการนำความคิดของคุณเองไปใช้ในฮาร์ดแวร์และซอฟต์แวร์คือจิตวิญญาณของการเคลื่อนไหวของ Maker หากคุณคิดวิธีใหม่ ๆ และน่าสนใจในการปรับปรุงโครงการนี้ โปรดแบ่งปันในความคิดเห็นด้านล่าง นอกจากนี้ Bitmaker Lite ยังมาพร้อมกับหลักสูตรออนไลน์ที่คุณสามารถเข้าถึงได้ที่แพลตฟอร์มหลักสูตรออนไลน์ของ TinkerGen https://make2learn.tinkergen.com/ ฟรี!
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Bitmaker Lite และฮาร์ดแวร์อื่นๆ สำหรับผู้ผลิตและผู้ให้การศึกษา STEM โปรดเยี่ยมชมเว็บไซต์ของเรา https://tinkergen.com/ และสมัครรับจดหมายข่าวของเรา
แนะนำ:
วิธีสร้าง Battlebot ด้วย Cardboard และ Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)
วิธีสร้าง Battlebot ด้วย Cardboard และ Arduino: ฉันสร้าง battlebots โดยใช้ Arduino UNO และใช้กระดาษแข็งเพื่อสร้างร่างกาย ฉันพยายามใช้อุปกรณ์ราคาไม่แพงและให้อิสระในการสร้างสรรค์แก่เด็กๆ ในการออกแบบบอทต่อสู้ของพวกเขา Battlebot ได้รับคำสั่งจากคอนโทรลเลอร์ไร้สาย
วิธีเรียกใช้เซอร์โวมอเตอร์โดยใช้ Moto:bit ด้วย Micro:bit: 7 ขั้นตอน (พร้อมรูปภาพ)
วิธีเรียกใช้เซอร์โวมอเตอร์โดยใช้ Moto:bit ด้วย Micro:bit: วิธีหนึ่งในการขยายฟังก์ชันการทำงานของ micro:bit คือการใช้บอร์ดชื่อ moto:bit โดย SparkFun Electronics (ประมาณ 15-20 เหรียญสหรัฐ) มันดูซับซ้อนและมีคุณสมบัติมากมาย แต่ก็ไม่ยากที่จะเรียกใช้เซอร์โวมอเตอร์จากมัน Moto:bit ช่วยให้คุณ
Blinds Control ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: 5 ขั้นตอน (พร้อมรูปภาพ)
การควบคุมมู่ลี่ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันเพิ่มระบบอัตโนมัติให้กับมู่ลี่ของฉันอย่างไร ฉันต้องการเพิ่มและลบระบบอัตโนมัติได้ ดังนั้นการติดตั้งทั้งหมดจึงเป็นแบบหนีบ ส่วนหลักคือ: สเต็ปเปอร์มอเตอร์ ตัวขับสเต็ปควบคุม bij ESP-01 เกียร์และการติดตั้ง
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: 3 ขั้นตอน
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: Story A beacon จะส่งสัญญาณอย่างต่อเนื่องเพื่อให้อุปกรณ์บลูทู ธ อื่น ๆ รู้ว่ามีอยู่ และฉันอยากได้บีคอนบลูทูธเพื่อติดตามกุญแจมาตลอด เพราะฉันลืมเอามันมาเหมือน 10 ครั้งในปีที่แล้ว และฉันก็เกิดขึ้น
การเขียนโปรแกรม Micro:Bit Robot & Joystick:Bit Controller ด้วย MicroPython: 11 ขั้นตอน
การเขียนโปรแกรม Micro:Bit Robot & Joystick:Bit Controller ด้วย MicroPython: สำหรับ Robocamp 2019 ค่ายหุ่นยนต์ภาคฤดูร้อนของเรา คนหนุ่มสาวอายุ 10-13 ปีกำลังบัดกรี ตั้งโปรแกรม และสร้าง 'หุ่นยนต์น้ำหนักเกิน' ของ BBC micro:bit ตลอดจนการเขียนโปรแกรม micro:bit เพื่อใช้เป็นรีโมตคอนโทรล หากคุณอยู่ที่ Robocamp ให้เล่นสกี