สารบัญ:

Coronavirus EXTER-MI-NATION ด้วย Micro:bit และ Daleks: 4 ขั้นตอน (พร้อมรูปภาพ)
Coronavirus EXTER-MI-NATION ด้วย Micro:bit และ Daleks: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Coronavirus EXTER-MI-NATION ด้วย Micro:bit และ Daleks: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Coronavirus EXTER-MI-NATION ด้วย Micro:bit และ Daleks: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Why are cockroaches so hard to kill? - Ameya Gondhalekar 2024, กรกฎาคม
Anonim
Image
Image

นี่เป็นโครงการที่สองในซีรีส์เรื่องการป้องกัน 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

โปรแกรม Makecode
โปรแกรม Makecode
โปรแกรม Makecode
โปรแกรม Makecode
โปรแกรม Makecode
โปรแกรม 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/ และสมัครรับจดหมายข่าวของเรา

แนะนำ: