วิทยุ FM จาก AR1010 (โปรโตบอร์ด)
ผมได้โมดูลเครื่องรับวิทยุ FM AR1010 มานานแล้ว (ไม่น้อยกว่า 3 - 5 ปี) จำไม่ได้ด้วยซ้ำว่าซื้อจากไหน แต่ก็ไม่มีโอกาสเอามาต่อวงจรให้เสร็จสักที ที่สำคัญคือโมดูลนี้หา Datasheet ยาก แม้แต่จากเว็บของ SparkFun เองก็ระบุว่าต้องติดต่อไปจึงจะให้ จนเดี๋ยวนี้โมดูลนี้เขาเลิกขายกันไปแล้ว คิดว่าสาเหตุหลัก ๆ ที่ทำให้ไม่ได้ลงมือทำซักทีก็คงจะเป็นเรื่องเวลา
ตอนนี้เวลามีแล้ว รื้อ ๆ ค้น ๆ ในกล่องเจอเจ้าโมดูลนี้ก็เลยคิดว่าจะลองทำดู ไหน ๆ ก็อุตส่าห์ซื้อมาแล้ว แม้ว่าการเอาไปทำโปรเจ็คแล้วคงไม่มีมูลค่าเพิ่มอะไร เพราะวิทยุ FM เดี๋ยวนี้ถูกมาก แต่ถ้าทิ้งไว้ก็จะเสียของไปเปล่า ๆ อย่างน้อยถ้าออกแบบเองอยากได้อะไรก็คงจะทำได้ (ล่ะมั้ง)
สุดท้ายก็เลยทำแบบง่าย ๆ คือให้มีคุณสมบัติดังนี้
จากคำอธิบายในไลบรารีที่ใช้ประกอบกับแนวทางการทำงาน ก็ต่อวงจรบนโปรโตบอร์ด ใช้เวลาช่วงเย็นหลังเลิกงานง่วนอยู่สัก 2 - 3 วันก็เสร็จ เสาอากาศไม่ได้ต่อไว้ยาวเลยรับได้แค่บางสถานีเท่านั้น แต่เสียงดีใช้ได้ทีเดียว
พอวงจรบนโปรโตบอร์ดทำงานได้ ก็เลยเอามาเขียนลายวงจร โปรแกรมที่ใช้คือ KiCad ซึ่งก็ไม่ได้ใช้มานาน ต้องขุดความทรงจำกันพอสมควร แต่จะทิ้งไว้ก็จะกลายเป็นโปรเจ็คไม่เสร็จก็จะไม่ดี ก็เลยพยายามทั้งสร้างไลบรารีอุปกรณ์ใหม่ หัดใช้บัส ฯลฯ ก็ได้ลายวงจรมาดังรูป
ในเมื่อยังไม่ได้ทำแผ่นวงจรพิมพ์ ตอนนี้ก็ทิ้งวงจรไว้บนโปรโตบอร์ดไปก่อน ทำเป็นเงื่อนไขไว้ว่าถ้าไม่ทำแผ่นวงจรพิมพ์ให้เสร็จก็จะเอาโปรโตบอร์ดไปทำอย่างอื่นไม่ได้ จะได้บังคับใจให้ทำให้เสร็จให้ได้ และถ้าเสร็จเมื่อใดก็จะเอามาบันทึกไว้ที่นี่เช่นเคย
ตอนนี้เวลามีแล้ว รื้อ ๆ ค้น ๆ ในกล่องเจอเจ้าโมดูลนี้ก็เลยคิดว่าจะลองทำดู ไหน ๆ ก็อุตส่าห์ซื้อมาแล้ว แม้ว่าการเอาไปทำโปรเจ็คแล้วคงไม่มีมูลค่าเพิ่มอะไร เพราะวิทยุ FM เดี๋ยวนี้ถูกมาก แต่ถ้าทิ้งไว้ก็จะเสียของไปเปล่า ๆ อย่างน้อยถ้าออกแบบเองอยากได้อะไรก็คงจะทำได้ (ล่ะมั้ง)
สุดท้ายก็เลยทำแบบง่าย ๆ คือให้มีคุณสมบัติดังนี้
- แสดงตัวเลขความถี่ของสถานีทาง 7-Segment 4 ตัว
- มีปุ่มควบคุม 2 ปุ่มคือเลื่อนสถานีขึ้นและลง โดยข้อจำกัดของโมดูลเลยทำให้เลื่อนได้ทีละ 0.1 MHz เรื่องนี้มีข้อเสียคือจะจูนหาสถานีเช่น 92.25 MHz ไม่ได้
- เจ้าปุ่ม 2 ปุ่มนั้นถ้ากดค้างเกิน 0.5 วินาทีจะกลายเป็นการค้นหาสถานีอัตโนมัติในทิศทางเลื่อนขึ้นหรือเลื่อนลงแล้วแต่ว่าปุ่มที่กดเป็นปุ่มไหน
- ให้สัญญาณเสียงสเตริโอปรับระดับเสียงได้ด้วยโวลุ่มตัวเดียว
- ควบคุมการแสดงผล LED 7-Segments ด้วย SevSeg โดย Dean Reading
- ควบคุมการทำงานของ AR1010 ด้วย AR1010lib โดย Adam Jansch
- ตรวจการกดปุ่มว่าเป็นการกดค้างหรือกดปล่อย ได้ไอเดียจาก Arduino Forum
จากคำอธิบายในไลบรารีที่ใช้ประกอบกับแนวทางการทำงาน ก็ต่อวงจรบนโปรโตบอร์ด ใช้เวลาช่วงเย็นหลังเลิกงานง่วนอยู่สัก 2 - 3 วันก็เสร็จ เสาอากาศไม่ได้ต่อไว้ยาวเลยรับได้แค่บางสถานีเท่านั้น แต่เสียงดีใช้ได้ทีเดียว
ในเมื่อยังไม่ได้ทำแผ่นวงจรพิมพ์ ตอนนี้ก็ทิ้งวงจรไว้บนโปรโตบอร์ดไปก่อน ทำเป็นเงื่อนไขไว้ว่าถ้าไม่ทำแผ่นวงจรพิมพ์ให้เสร็จก็จะเอาโปรโตบอร์ดไปทำอย่างอื่นไม่ได้ จะได้บังคับใจให้ทำให้เสร็จให้ได้ และถ้าเสร็จเมื่อใดก็จะเอามาบันทึกไว้ที่นี่เช่นเคย




อยากบันทึกไว้อีกนิดว่าถ้าไม่เสร็จ จะไม่เปิดโปรเจ็คอื่น เพราะมีงานที่ทำค้างไว้เยอะเกินไปแล้ว
ตอบลบ