ทำดิจิทัล "meow" จากนาฬิกาอะนาล็อก: 7 ขั้นตอน (พร้อมรูปภาพ)

ทำดิจิทัล "meow" จากนาฬิกาอะนาล็อก: 7 ขั้นตอน (พร้อมรูปภาพ)

สารบัญ:

Anonim

นาฬิกาอะนาล็อกของคุณไม่เพียงพอหรือไม่ ต้องการทำสิ่งดิจิตอลด้วยนาฬิกาอะนาล็อกหรือไม่?

บทช่วยสอนนี้จะแสดงให้คุณเห็นถึงวิธีการสร้าง Kit Cat Clock เล่นคลิปเสียง“ meow” ในช่วงเวลาที่แม่นยำโดยใช้ Atmega 328P-PU ผ่านบอร์ดพัฒนา Arduino Uno ในตัวอย่างของฉัน meow จะเกิดขึ้นทุกชั่วโมง สิ่งนี้ไม่จำเป็นต้องเป็นนาฬิกา Kit-Cat แนวคิดนี้อาจใช้ได้กับนาฬิกาอื่น ๆ ที่ใช้มอเตอร์แม่เหล็ก

สมมติฐาน (ข้ามหากคุณเป็นผู้เชี่ยวชาญในทุกสิ่ง)

โครงการครอบคลุมทักษะระดับกลางถึงระดับสูงหลายอย่างเช่นการเผาไหม้ bootloader และการบัดกรีสายไฟ ดังนั้นจึงจำเป็นต้องมีความรู้และทักษะที่จำเป็นก่อนดำเนินการต่อ ฉันจะสมมติว่าคุณรู้วิธีหรืออย่างน้อยก็พร้อมที่จะทำสิ่งต่อไปนี้:

การเบิร์น bootloader ไปยัง Atmel328P-PU (เว้นแต่ว่าคุณมีอยู่แล้ว)

อัปโหลด“ ภาพร่าง” ไปยัง Atmel328P-PU ผ่าน Arduino

การป้อนคำสั่งลงในเทอร์มินัลอีมูเลเตอร์หรือพร้อมรับคำสั่ง (windows)

การใช้หัวแร้งเพื่อเชื่อมต่อระหว่างส่วนประกอบต่างๆ

การใช้งานสว่านหรือเครื่องมือ Dremel ที่เป็นไปได้สำหรับการตัด / ตัดชิ้นส่วนพลาสติกและหลุมที่น่าเบื่อ

วัสดุ

Arduino Uno R3 x 1

เขียงหั่นขนม x 1

ลวดจัมเปอร์ (ชิ้นพอ)

ตัวต้านทาน:

350 โอห์ม x 1

150 โอห์ม x 1

220 โอห์ม x 1

280 โอห์ม x 1

10K โอห์ม x 1

330 Ohm x 1 (เป็นทางเลือกถ้าคุณต้องการ LED ในขณะที่ใช้ Arduino ในการตั้งค่า Breadboard)

ตัวเก็บประจุแบบ:

100 ยูเอฟ x 1

10 uF x 1

22 pF x 2 (อาจเป็นตัวเลือก)

Oscillator คริสตัลขนาด 16 Mhz

ลำโพงขนาดเล็ก 0.5 วัตต์ (เส้นผ่าศูนย์กลางประมาณ 50.8 มม.) x 1

อะแดปเตอร์ติดผนัง AC 7.5 โวลต์ (ฉันใช้ยี่ห้อ Vtech ที่พบใน Toys R Us) x 1

7805 ตัวปรับแรงดันไฟฟ้า x 1

หัวแร้งและหัวแร้ง

Protoboard (หรือบอร์ดโครงงานขั้นสุดท้ายอื่น ๆ ที่มีขนาดเล็กพอที่จะใส่เข้ากับกล่องนาฬิกา)

กาวซุปเปอร์

ความร้อนหด (ไม่จำเป็น)

ปืนกาวร้อน (ไม่จำเป็น)

Takane Quartz Clock (สมมติว่าคุณต้องเปลี่ยนค่าเริ่มต้นภายใน Kit Cat อย่างที่ฉันทำ)

เซนเซอร์ Hall Effect x 1

ฉันใช้เซ็นเซอร์เอฟเฟกต์ Hall Hall รุ่น SS41 เซ็นเซอร์เหล่านี้มีความไวพอที่จะตรวจจับสนามแม่เหล็กที่ค่อนข้างอ่อนแอจากมอเตอร์แม่เหล็กนาฬิกา พบเฉพาะที่ฉันซื้อที่นี่

วัสดุ:

ขั้นตอนที่ 1: ภาพรวมโครงการทั่วไป:

สิ่งที่น่าสนใจของโครงการนี้คือการใช้อุปกรณ์อะนาล็อก (ในกรณีนี้คือนาฬิกาอะนาล็อก) เพื่อโต้ตอบกับโลกดิจิตอลของ Atmel 328P-PU Arduino อาจเป็นหนึ่งในวิธีที่ง่ายที่สุดในการบรรลุเป้าหมายนี้ ฉันจะใช้มอเตอร์นาฬิกาทั่วไปที่พบภายในนาฬิกา Kit Cat แบบคลาสสิกเพื่อสร้างพัลส์แบบดิจิทัลซึ่งจะป้อนเข้าสู่ชิป Atmel เหตุผลนี้จะทำงานได้เนื่องจากมอเตอร์นาฬิกาใช้แม่เหล็กถาวรซึ่งตั้งอยู่ในบริเวณใกล้เคียงกับขดลวดเพื่อสร้างแรงบิดเชิงกลที่จำเป็นในการหมุนเข็มนาฬิกา ฉันจะใช้ประโยชน์จากสนามแม่เหล็กนี้โดยใช้เซ็นเซอร์ Hall Effect เพื่อตรวจจับการไหลของสนามแม่เหล็กจากมอเตอร์นาฬิกา เซ็นเซอร์จะส่งสัญญาณ HIGH แบบดิจิตอลเมื่อใดก็ตามที่หนึ่งในเสาจากแม่เหล็กหันหน้าเข้าหาเซ็นเซอร์แล้วส่งเอาต์พุต LOW เมื่อขั้วตรงข้ามอยู่ใกล้กับเซ็นเซอร์ การเปลี่ยนขั้วนี้เกิดขึ้นทุก ๆ วินาทีหรือมีความถี่ 1 เฮิร์ตซ์และนี่คือเหตุผลว่าทำไมจึงเป็นมอเตอร์ที่เหมาะสำหรับการขับเข็มนาฬิกา

หมายเหตุ: เซ็นเซอร์ไม่ได้สัมผัสแม่เหล็กจริง ๆ มันใกล้เคียงกับมันมากเท่านั้น ภาพแสดงให้เห็นว่าฉันต้องวางเซ็นเซอร์ไว้ใกล้แค่ไหนเพื่อให้อ่านได้

ภาพที่นี่แสดงให้เห็นด้านในของนาฬิกาจริงและมอเตอร์แม่เหล็กทางด้านขวา ประเภทของนาฬิกาเรียกว่า "Takane Quartz" และเป็นเรื่องธรรมดาในนาฬิกาอะนาล็อกราคาถูก

เมื่อเรามีพัลส์ที่มาอย่างคงที่จากเซ็นเซอร์ทุกสิ่งสามารถทำได้ในรูปแบบดิจิตอลและจริงๆแล้วมัน จำกัด อยู่แค่ในจินตนาการของคุณในสิ่งที่คุณสามารถทำได้ ในบทช่วยสอนนี้ฉันจะสร้างเคาน์เตอร์ที่นับสัญญาณนาฬิกา (จากเซ็นเซอร์ Hall) และเมื่อนับเสร็จแล้วก็เล่นคลิปเสียง "meow"

ขั้นตอนแรกเกี่ยวข้องกับการติดตั้งเซ็นเซอร์ฮอลล์ใกล้กับมอเตอร์แม่เหล็กเพื่อให้คุณอ่านได้ดี ฉันต้องวางเซ็นเซอร์ไว้ใกล้กับมอเตอร์แม่เหล็กของฉันเพื่อให้ได้ผลลัพธ์ คุณสามารถทดสอบเซ็นเซอร์ได้โดยติดบางอย่างเช่น LED เข้ากับขาออกของเซ็นเซอร์แล้วเปิดนาฬิกา หากใช้งานได้ LED จะกะพริบทุก ๆ วินาที นี่เป็นเพราะเอาต์พุตมีค่าสูงเท่านั้นในขณะที่หนึ่งในเสาหันหน้าเข้าหาเซ็นเซอร์ (สมมุติว่าเป็นขั้วเหนือเป็นตัวอย่าง); เมื่อขั้วตรงกันข้าม (ทิศใต้) หันหน้าไปทางเซ็นเซอร์เอาต์พุตจะต่ำ

หลังจากที่คุณได้กำหนดตำแหน่งและระยะทางที่เหมาะสมเพื่อให้อ่านแล้วคุณควรเริ่มคิดเกี่ยวกับวิธีการติดตั้งที่นั่นอย่างถาวร ฉันเลือกใช้ซุปเปอร์กาวเพื่อยึดเซ็นเซอร์ให้เข้าที่ ฉันยังพิจารณาที่ตั้งเพราะสถานที่ที่ด้านหลังจะเป็น ฉันต้องตัดรูสี่เหลี่ยมเล็ก ๆ ออกเพื่อให้สามารถเข้าถึงพินเซ็นเซอร์ได้ คุณควรกำหนดสิ่งที่ดีที่สุดเพราะแม้ว่านาฬิกาเหล่านี้เกือบจะเหมือนกัน แต่บางครั้งเลย์เอาต์จะแตกต่างกันเล็กน้อยภายในและการวางตำแหน่งของเซ็นเซอร์อาจแตกต่างกันไปขึ้นอยู่กับนาฬิกาที่คุณมี

ขั้นตอนที่ 2: การบัดกรีลวดเข้ากับขาอินพุตของเซ็นเซอร์

ตอนนี้ได้เวลาประสานพินกับสายแล้ว เหตุผลที่ฉันทำสิ่งนี้มีสองเหตุผล: ครั้งแรกที่คุณต้องการทดสอบเซ็นเซอร์ในขณะที่คุณทำงานต่อและเพราะคุณจะต้องใช้สายไฟเหล่านั้นเมื่อคุณเชื่อมต่อพวกเขาเข้ากับเขียงหั่นขนมและในที่สุดก็เป็น protoboard หมายเหตุการใช้ลวดสีที่แตกต่างกันอาจทำให้ง่ายขึ้นเมื่อคุณต้องการระบุพินอย่างรวดเร็ว นั่นคือสิ่งที่ฉันทำ

การกำหนดค่า Pinout สามารถพบได้ที่เว็บไซต์นี้

ขั้นตอนที่ 3: เตรียมไฟล์เสียง

หากคุณรู้วิธีแปลงไฟล์. WAV ไปเป็นไฟล์ C แล้วคุณสามารถข้ามหรือข้ามขั้นตอนนี้ได้

หลังจากที่ติดตั้งเซ็นเซอร์กับหมุดที่เหมาะสมบนเขียงหั่นขนมคุณจะต้องอัปโหลดภาพร่างเสียงไปยัง Atmel328P แต่ก่อนอื่นต้องมีการดัดแปลงและ "นวด" ก่อน นี่คือที่ที่คุณสามารถทำการปรับเปลี่ยนของคุณเองและฉันจะเข้าไปดูรายละเอียดเกี่ยวกับการใช้โปรแกรม Audacity และ wav2c (แต่ไม่ทั้งหมด) คุณควรไปข้างหน้าและเปิดรหัสที่ฉันให้ไว้ใน Arduino IDE ของคุณ เมื่อคุณเปิดร่างใน Arduino IDE แท็บแรกเป็นการเปลี่ยนแปลงเล็กน้อยของร่างเสียง PCM ที่เขียนโดย Michael Smith ต้นฉบับอาจพบได้ในไซต์ Arduino:

playground.arduino.cc/Code/PCMAudio

Audacity เป็นโปรแกรมแก้ไขเสียง มันมีประสิทธิภาพมากและอนุญาตให้ส่งออกไฟล์. wav เป็น 8 บิตโมโนไฟล์ที่ไม่ได้ลงนาม นี่เป็นสิ่งจำเป็นในการลดขนาดไฟล์และเพื่อเพิ่มความเข้ากันได้กับร่างการเล่นเสียง คุณอาจสามารถแก้ไขอัตราบิตและขนาดที่แตกต่างกัน แต่ฉันไม่ได้ทดลองกับมัน เราจะใช้คุณสมบัติที่จำเป็นใน Audacity เพื่อให้งานสำเร็จ

Wav2c ตามชื่อหมายถึงสามารถแปลงไฟล์. wav เป็นไฟล์ C นี่เป็นสิ่งที่จำเป็นเนื่องจากไฟล์. wav นั้นใหญ่เกินไปที่จะใส่ในหน่วยความจำของ 328P-PU ได้ ในขณะที่เขียนนี้คุณสามารถดาวน์โหลดซอร์สโค้ดโดยตรงจาก Github คุณอาจสามารถรับรุ่นที่รวบรวมได้จากเว็บไซต์อื่น ๆ ไม่ว่าจะด้วยวิธีใดคุณควรใช้หรือโปรแกรมอื่นที่คล้ายกันสำหรับกระบวนการแปลง

github.com/olleolleolle/wav2c

ขั้นตอนที่ 4: การใช้ความกล้าและ Wav2c

เป้าหมายของการแปลงไฟล์เสียงคือใช้ไฟล์เสียง (.wav) และแปลงเป็นเอกสารไฟล์ส่วนหัว C ที่มีประโยชน์ สิ่งนี้ทำให้อาร์ดิโนสามารถใช้ข้อมูลในไฟล์ส่วนหัวเพื่อส่งออกเป็นเสียงผ่านลำโพง

- ก่อนเปิดในไฟล์ในความกล้า

- เปลี่ยนอัตราโครงการเป็น 8000 Hz (ตั้งอยู่ที่มุมซ้ายล่าง)

- จากนั้นเลือก "แทร็ก" จากเมนูและเลือก "resample"

- ถัดไปทำการส่งออก> ไฟล์ที่ไม่บีบอัดอื่น ๆ

ตัวเลือกภายใต้เลือก 8 บิตที่เซ็นชื่อ

นี่จะเป็นการเตรียมไฟล์สำหรับขั้นตอนถัดไปด้านล่างซึ่งเป็นการแปลงเป็นไฟล์ C

- ถัดไปเปิดเทอร์มินัลและเปลี่ยนเป็นไดเร็กทอรีเดียวกันกับไฟล์

- ใช้คำสั่งต่อไปนี้ (sox) เพื่อตัดส่วนท้าย (สมมติว่ามีหนึ่งอัน)

- จากนั้นเรียกใช้คำสั่งสุดท้ายเพื่อทำการแปลง

(โปรดสังเกตว่าสำเนาของไฟล์ต้นฉบับกำลังถูกแปลง)

- ถัดไปเปิด arduino IDE และเพิ่มแท็บเปล่าใหม่ (ปุ่มสำหรับเพิ่มแท็บใหม่อยู่ทางด้านขวาสุดของ Arduino IDE)

- เปลี่ยนชื่อแท็บเป็นชื่อเดียวกับไฟล์ส่วนหัว

คัดลอกและวางเนื้อหาลงในแท็บ

ขั้นตอนที่ 5: ทดสอบเสียงของคุณ

ตอนนี้คุณมีไฟล์ sounddata.h พร้อมและคุณได้ตรวจสอบร่าง Arduino แล้วตอนนี้คุณควรอัปโหลดไปยังชิปของคุณ ฉันใช้บอร์ด Arduino โดยตรงสำหรับการทดสอบเริ่มต้นทั้งหมด แต่หลังจากนั้นใช้การกำหนดค่า "Arduino on Breadboard" สำหรับการทดสอบที่เหลือของฉัน ฉันได้แนบแผนภาพที่นี่

หากทุกอย่างเป็นไปด้วยดีให้เปิดนาฬิกาของคุณและทดสอบเพื่อให้แน่ใจว่ามันนับพัลส์จากนาฬิกาแล้วส่งสัญญาณออก หมายเหตุ: เมื่อฉันทำสิ่งนี้เป็นครั้งแรกฉันตั้งตัวนับการเล่นเสียงทุก ๆ 60 วินาทีเพื่อให้ฉันไม่ต้องรอทั้งชั่วโมงเพื่อดูว่ามันใช้งานได้หรือไม่จากนั้นฉันเปลี่ยนตัวนับเป็น 3600 วินาทีหรือ 1 ชั่วโมง). หากต้องการเปลี่ยนช่วงเวลา meow ค้นหาชิ้นส่วนของรหัสใกล้กับบรรทัดสุดท้ายและค้นหาตัวแปร clockCount เปลี่ยนเป็นค่าอะไรก็ได้ที่คุณต้องการ

ขั้นตอนที่ 6: การบัดกรีทุกอย่างเพื่อการออกแบบที่กะทัดรัดและถาวรยิ่งขึ้น

ทีนี้เพื่อความสนุก … บัดกรีส่วนสำคัญทั้งหมดจากเขียงหั่นขนมของคุณไปยัง protoboard ที่มีขนาดกะทัดรัดกว่า คุณไม่ต้องการทุกสิ่งอย่างเช่นเอาท์พุทไฟ LED หรือปุ่มรีเซ็ต (สมมติว่าคุณมีหนึ่งตัวจาก Arduino บนวงจร Breadboard) มีวิธีที่ดีกว่ามากในการทำเช่นนี้ แต่ถ้าคุณมีอุปกรณ์ จำกัด Protoboard อาจเป็นทางออกที่ดีที่สุดของคุณ หลายคนกำลังทำการแกะสลักและประมวลผล PCB ของตัวเอง หากคุณสามารถทำเช่นนั้นได้โดยวิธีการทั้งหมดเพราะมันดีกว่า protoboard

คุณต้องเชื่อมต่ออะแดปเตอร์ AC ของคุณเข้ากับโหนบวกและลบของโพรบที่ตรงกับหมุดควบคุมแรงดันไฟฟ้า ฉันใช้โมเดล Vtech 7.5 โวลต์ เหล่านี้คือประมาณ 10 bucks ที่ Target และ 12 ที่ Toys R Us หรือคุณอาจใช้อะไรที่คล้ายกันที่คุณนอนอยู่รอบ ๆ บ้าน ข้อควรระวัง: คุณควรพยายามรักษาระดับความต่างของแรงดันไฟฟ้าระหว่างตัวปรับความดันและอะแดปเตอร์ให้น้อยที่สุดเพราะมันจะร้อนขึ้นเป็นอย่างอื่น หากความแตกต่างมีขนาดใหญ่คุณควรวางแผ่นระบายความร้อนบนเครื่องปรับความดันเพื่อช่วยกระจายความร้อน ความแตกต่างของแรงดันไฟฟ้าระหว่าง 7805 และอะแดปเตอร์ Vtech AC เพียง 2.5 โวลต์ที่ 300mA แต่คุณยังควรวางฮีทซิงค์ขนาดเล็กไว้

หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณมีความสุข / พอใจกับร่างภาพบนชิป Atmega เพราะเมื่อมันถูกบัดกรีบนบอร์ดคุณจะไม่สามารถทำซ้ำมันได้

หมายเหตุ: ฉันยังใช้ dremel เพื่อทำรูเล็ก ๆ ที่ด้านล่างของกระเป๋านาฬิกาเพื่อที่สายอะแดปเตอร์จะพอดี ฉันยังใช้มันสำหรับสิ่งต่าง ๆ อื่น ๆ ในขณะที่ปรับเปลี่ยนนาฬิกาเช่นการตัดขอบที่คมชัดและเพียงแค่ทำความสะอาดภายในโดยทั่วไป

ขั้นตอนที่ 7: การจัดระเบียบทุกอย่างและติดตั้งภายในนาฬิกา

เมื่อคุณมีสายไฟและส่วนประกอบทั้งหมดที่บัดกรีอย่างถูกต้องแล้วถึงเวลาที่จะจัดระเบียบสายไฟและตัดสินใจในการจัดวางบอร์ดที่เหมาะสมภายในตัวเรือนคิทแคท ความกังวลหลักที่นี่คือการวางทุกอย่างไว้ในจุดที่ไม่รบกวนการเคลื่อนไหวของหางและดวงตา ฉันไม่ได้ตระหนักถึงความยากลำบากในการติดตั้งลำโพงดังนั้นฉันจึงต้องเจาะรูเพื่อช่วยติดตั้งลำโพงในสถานที่ที่จะขัดขวางเกราะมอเตอร์หาง

การหาสถานที่สำหรับคณะกรรมการอาจยุ่งยากและอาจต้องมีการทดลองและข้อผิดพลาด ฉันนั่งลงที่ด้านซ้ายใกล้กับที่อยู่อาศัยของแบตเตอรี่ จากนั้นฉันใช้ปืนกาวร้อนที่ขอบของบอร์ดเพื่อช่วยให้มันเข้าที่ คุณอาจพบว่าการผูกเนคไทหรือซิปเป็นประโยชน์สำหรับการจัดระเบียบและการจัดกลุ่มสายไฟให้เรียบร้อย

เทคนิคใดก็ตามที่คุณตัดสินใจทำสิ่งนี้ขึ้นอยู่กับคุณเพราะการจัดการเพื่อให้พอดีกับทุกอย่างภายในกรอบนาฬิกาจะขึ้นอยู่กับนาฬิกาของคุณและปริมาณของสิ่งต่าง ๆ ที่เข้ามา

เข้ารอบสุดท้ายใน

การประกวดเซ็นเซอร์