สารบัญ:
- ขั้นตอนที่ 1: วัสดุ
- ขั้นตอนที่ 2: เชื่อมต่อ Arduino กับจอแสดงผล
- ขั้นตอนที่ 3: รหัส
- ขั้นตอนที่ 4: ติดตั้งในกล่อง
วีดีโอ: นาฬิกาความเร็วสูงสำหรับวิดีโอสโลว์โมชั่น: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
เกือบทุกคนที่มีสมาร์ทโฟนสมัยใหม่มีกล้องความเร็วสูงที่สามารถใช้สร้างวิดีโอสโลว์โมชั่นที่น่าทึ่งได้ แต่ถ้าคุณต้องการวัดว่าจริงๆ แล้วต้องใช้เวลานานแค่ไหนกว่าฟองสบู่จะแตกหรือแตงโมจะระเบิด คุณอาจพบว่ามันยากที่จะแสดงเวลาในวิดีโอของคุณ: นาฬิกาจับเวลามีหน้าจอขนาดเล็กมากและมีความแม่นยำเพียง 1/100 วินาที หากคุณต้องการวัดเชิงปริมาณ ฉันพบว่าอัตราเฟรมที่เผยแพร่ของกล้องนั้นไม่ใช่สิ่งที่คุณวางใจได้!
โชคดีที่มันง่ายมากที่จะสร้างนาฬิกาที่มีความแม่นยำ ms และตัวเลขขนาดใหญ่ที่สว่างโดยใช้ Arduino และจอแสดงผล 4 หลัก 7 ส่วน ยิ่งไปกว่านั้น หมุด 12 ตัวจากจอแสดงผลขนาดมาตรฐาน 0.56” ตรงกับรูปแบบพินของ Arduino Nano ทุกประการ และสามารถบัดกรีได้โดยตรง
ไม่มีการเริ่ม/หยุด/รีเซ็ตในตัวจับเวลานี้ มันเพิ่งเริ่มทำงานเมื่อคุณเปิดเครื่องและล้นหลังจากผ่านไป 10 วินาที แนวคิดก็คือในการวัดระยะเวลาของกระบวนการหนึ่งๆ เรายังคงวัดความแตกต่างของเวลาระหว่างจุดสิ้นสุดและจุดเริ่มต้น
ขั้นตอนที่ 1: วัสดุ
- Arduino Nano โดยไม่ต้องบัดกรีส่วนหัว
- จอแสดงผล 7segment ขนาด 4 หลัก 0.56 นิ้ว ทั้งขั้วบวกทั่วไปหรือขั้วลบทั่วไปก็โอเค
ในกรณีที่คุณต้องการใส่ในกล่องที่แข็งแรง และใช้แบตเตอรี่ AA 2 ก้อน ให้เพิ่ม:
- กล่องโปรเจ็กต์อิเล็กทรอนิกส์ 60x100x25
- ที่ใส่แบตเตอรี่ 2xAA
- โมดูลก้าวขึ้น
- สวิตช์โยกเปิด/ปิด 10x15 มม.
เครื่องมือที่จำเป็น
หัวแร้ง
การติดตั้งในกล่อง:
- เครื่องมือโรตารี่สำหรับเจาะรูสำหรับจอแสดงผลและสวิตช์
- ตะไบมือเพื่อตัดรูให้ละเอียด
- ปืนกาวร้อนเพื่อยึดส่วนประกอบเข้าที่
ขั้นตอนที่ 2: เชื่อมต่อ Arduino กับจอแสดงผล
น่าแปลกที่หมุดของจอแสดงผล 7 ส่วน 4 หลักมาตรฐานตรงกับเลย์เอาต์ของ Arduino Nano ในลักษณะที่หมุดทั้ง 12 ของจอแสดงผลเชื่อมต่อกับหมุด IO ของ Arduino ซึ่งช่วยให้สามารถบัดกรีจอแสดงผลได้โดยตรงบน Arduino โดยไม่ต้องใช้ PCB ตัวเชื่อมต่อหรือสายเคเบิล
ประสานหมุดด้านล่างของจอแสดงผล (สังเกตได้จากจุดทศนิยมและการพิมพ์) กับหมุดอะนาล็อก A0-A5 ประสานหมุดด้านบนของจอแสดงผลเข้ากับหมุดดิจิทัล D4-D9
ไฟ LED สีแดงมีแรงดันตกเพียง 2V ดังนั้นการเชื่อมต่อกับ 5V มักจะไม่ใช่ความคิดที่ดี และมักจะใช้ตัวต้านทานแบบอนุกรมเพื่อจำกัดกระแส อย่างไรก็ตาม อาจเป็นเพราะอินเตอร์ลีฟ ฉันพบว่ามันใช้ได้ดีโดยไม่มีตัวต้านทานแบบอนุกรม ถ้าไม่ นี่คือคำแนะนำโดยละเอียดเกี่ยวกับวิธีการเพิ่มตัวต้านทานแบบอนุกรมโดยตรงบน Arduino Nano
ขั้นตอนที่ 3: รหัส
อัปโหลดภาพร่างที่แนบมากับ Arduino Nano รหัสปัจจุบันมีไว้สำหรับการแสดงผลขั้วบวกทั่วไป แต่บรรทัดสำหรับแคโทดทั่วไปไม่สามารถแสดงข้อคิดเห็นได้
เมื่ออัปโหลดโค้ดแล้ว ตัวจับเวลาควรเริ่มทำงานทุกครั้งที่ Arduino เริ่มทำงาน คุณสามารถหยุดที่นี่หรือดูในหัวข้อถัดไปเพื่อดูตัวอย่างวิธีการติดตั้งในกล่องที่แข็งแรงและใช้งานแบตเตอรี่ได้
ความคิดเห็นบางส่วนเกี่ยวกับรหัส:
เวลาถูกพรากไปจากฟังก์ชัน micro() แทนที่จะเป็นฟังก์ชัน millis() ด้วยเหตุผลสองประการ: การใช้งาน Arduino ของ millis() นั้นแย่มาก: พวกมันเพิ่มขึ้นทุกๆ 1.024 ms แล้วข้ามมิลลิวินาทีไปเป็นบางครั้ง เพื่อชดเชย! Arduinos บางตัวไม่มีคริสตัลที่มีความแม่นยำสูง หากคุณพบว่าคุณถูกปิดมากกว่า permille คุณสามารถปรับตัวแบ่งในบรรทัด “unsigned long t=micros()/1000;” เพื่อให้นาฬิกาเดินเร็วขึ้นหรือช้าลง
ตัวเลขจะแทรกสลับกัน หมายความว่าจะมีไฟเพียงหลักเดียวในช่วงเวลาหนึ่ง เมื่อเปลี่ยนเซกเมนต์ของตัวเลข ตัวเลขทั้งหมดจะถูกปิด เพื่อไม่ให้มีการแสดงตัวเลขขยะในขณะใดๆ ฉันวัดความถี่การอัปเดตของตัวเลขเป็น 750 ไมโครวินาที ดังนั้นทุกหลักจะได้รับการอัปเดตอย่างน้อยหนึ่งครั้งในทุกมิลลิวินาที!
ฉันไม่ได้ปรับนาฬิกาเพื่อความเร็วอย่างจริงจัง เนื่องจากความเร็วปัจจุบันดีเพียงพอสำหรับการแสดงมิลลิวินาที ฉันคิดว่า Arduino สามารถทำได้เพื่อแสดงตัวเลขสองหลักมากขึ้น (สอดคล้องกับ 100 และ 10 ไมโครวินาที) แต่จะต้องมี
- ปิดการใช้งานอินเตอร์รัปต์และใช้ตัวจับเวลาโดยตรง
- การจัดการพอร์ตโดยตรง
- เชื่อมต่อทุกเซ็กเมนต์เข้ากับพอร์ตเดียวและตัวเลขไปยังพอร์ตอื่น
- หลีกเลี่ยงการคำนวณค่าตัวเลขอย่างชัดเจน แต่ใช้การเพิ่มขึ้นแทน (การดำเนินการหารและโมดูลัสจะช้า)
ถ้าฉันสามารถใช้กล้องสโลว์โมชั่นที่มี >1000 fps ได้ ฉันจะลองดู ตอนนี้ฉันพอใจกับความแม่นยำของ ms แล้ว
ขั้นตอนที่ 4: ติดตั้งในกล่อง
กล่องโปรเจ็กต์อิเล็กทรอนิกส์ราคาถูกขนาด 100x60x25 มม. ไม่กันน้ำ พอดีกับตัวจับเวลานี้อย่างง่ายดาย พร้อมแบตเตอรี่ โมดูลแบบสเต็ปอัพ และสวิตช์เปิด/ปิด สำหรับการใช้งานแบตเตอรี่ การใช้แบตเตอรี่ AA 2 ก้อนร่วมกับโมดูลแบบ step-up จะให้แรงดันไฟฟ้า 5V ที่ปลอดภัยและเสถียรแก่ Arduino โดยการใส่สวิตช์เปิด/ปิดบนแบตเตอรี่โดยตรง (แทนที่จะอยู่ที่เอาต์พุตของสเต็ปอัพ) แบตเตอรี่จะไม่ได้รับผลกระทบจากการรั่วซึมจากโมดูลสตาร์ทอัพ และสามารถอยู่ได้นานหลายปีหากใช้เป็นระยะๆ
โมดูลแบบสเต็ปอัพที่ฉันใช้มีขั้วต่อ USB ตัวเมีย ซึ่งฉันถอดออกด้วยคีม เพื่อให้สามารถบัดกรีสายไฟเข้ากับเอาต์พุตได้ อีกวิธีหนึ่ง คุณสามารถใช้ step-up ที่ควบคุมได้ และตั้งค่าเป็นเอาต์พุต 5V
เริ่มต้นด้วยการตัดสองรูที่ตรงกับจอแสดงผลและสวิตช์เปิด/ปิดออก ฉันวาดรูโดยประมาณด้วยดินสอ จากนั้นจึงตัดรูให้เล็กเกินไปด้วยเครื่องมือโรตารี่ จากนั้นจึงใช้ตะไบมือให้มีขนาดที่ตรงกันพอดี
ตัดสายเคเบิลสีแดงและสีดำแบบยืดหยุ่นหลายเส้นบางส่วนออกจากกล่องแบตเตอรี่ และเชื่อมต่อเข้ากับโมดูลแบบสเต็ปอัพ โดยที่ขั้วบวกหรือขั้วลบถูกขัดจังหวะด้วยสวิตช์เปิด/ปิด จากนั้นจากโมดูล step-up ตรงไปยัง GND และ +5V หรือ Arduino
ฉันใช้กาวร้อนเพื่อเก็บองค์ประกอบทั้งหมดเข้าที่ ไม่ว่าจะเป็นกล่องแบตเตอรี่ โมดูลแบบเลื่อนขึ้น และรอบๆ ด้านข้างของจอแสดงผล
ผลลัพธ์ที่ได้คือตัวจับเวลาในกล่องที่ทนทานและใช้งานง่าย!
แนะนำ:
การออกแบบเกมในการสะบัดใน 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 ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง