ตู้โชว์โครงการ '14


25

โลโก้เป็นอนุพันธ์ของโลโก้ชุมชน Arduino ที่ได้รับอนุญาตภายใต้ใบอนุญาตCreative Commons CC-SA-BY-NC 3.0

อัปเดต: ประกาศผู้ชนะ

ผู้ชนะการประกวดได้รับการประกาศ โปรดดูโพสต์ Meta สำหรับรายละเอียด

เพื่อเป็นการเฉลิมฉลอง10 ปีของ Arduinoเรามีความภูมิใจที่จะประกาศกิจกรรมครั้งแรกใน Arduino Stack Exchange

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

รายละเอียด:

  • รางวัลเป็นเสื้อยืด Stack Exchangeอย่างเป็นทางการ
  • จำกัด สองรายการต่อคน หากมีมากกว่าสองรายการจะมีการพิจารณาเฉพาะสองรายการแรกเท่านั้น
  • โคลนนิ่งจะได้รับอนุญาต
  • โครงการเพื่อการพิจารณาจะได้รับการยอมรับจนถึงวันที่ 29 มีนาคม 2014 เวลา 4:00 UTC คำถามจะยังคงเปิดอยู่ในกรณีที่มีคนต้องการแสดงผลงานของพวกเขาใน Arduino Day 2014

เยี่ยมชมโพสต์ Metaสำหรับการอภิปรายเกี่ยวกับกิจกรรมนี้และข้อมูลเพิ่มเติม

รูปแบบคำตอบ

คุณสามารถโพสต์ได้มากถึงสองโครงการ (เป็นสองคำตอบแยกต่างหาก) เป็นรายการสำหรับการแข่งขัน รายการพิเศษทั้งหมดจะถูกลบ พิจารณาทำตามแม่แบบต่อไปนี้สำหรับรายการ:

ชื่อโครงการ

คำอธิบายสั้น ๆ

ลักษณะ

โครงการของคุณคืออะไร มันทำอะไร? มันแก้ปัญหาอะไรได้บ้าง?

ออกแบบ

สิ่งที่จะรวมอยู่ในส่วนนี้:

  • แผนงานและเอกสารการออกแบบอื่น ๆ Fritzingเป็นเครื่องมือที่ดีสำหรับการวาดแผนผังเขียงหั่นขนมเหมือนที่แสดงในโลโก้ของโครงการด้านบน
  • ส่วนประกอบที่ใช้ในการสร้างโครงการ
  • รูปภาพหรือวิดีโอ

ข้อสรุป

ความคิดสุดท้าย. คุณเรียนรู้อะไรจากการทำโครงงานนี้ คุณจะทำยังไงถ้าคุณต้องเริ่มใหม่?

คุณสามารถคัดลอก / วางข้อความต่อไปนี้หากคุณต้องการใช้เทมเพลตนี้

# Project Title
**Very Brief Description**

# Description
What is your project? What does it do? What problem does it solve?

# Design
Things to include in this section:

- Schematics and other design documentation. [Fritzing][8] is a good tool for drawing breadboard schematics like the one shown in the project logo above.
- Components used to build the project
- Pictures or video

# Conclusion
Final thoughts. What did you learn from doing this project? What would you do differently if you had to start over?

รางวัล

มีสองรางวัล! ผู้ชนะจะได้รับการส่งจำนวนสูงสุดของ upvotes (downvotes ไม่นับ) และจะได้รับเสื้อยืด Stack Exchange *! จะมีบางอย่างสำหรับนักวิ่งขึ้นเช่นกัน การตัดสินอันดับจะขึ้นอยู่กับดุลยพินิจของผู้จัดงาน

* อาจมีข้อ จำกัด บางอย่าง การขนส่งระหว่างประเทศอาจใช้เวลาสองสามสัปดาห์

ฉันจะส่งโครงการของฉันได้ที่ไหน

โพสต์โครงการของคุณเป็นคำตอบสำหรับโพสต์นี้


สิ่งที่ว่าเป็นคุณสมบัติของการเป็น "Arduino" โครงการ? ฉันใช้ optiboot ในหลาย ๆ ที่ แต่ฉันไม่เห็นว่าเป็น "arduino" เนื่องจากเป็นเพียงโครงการที่ arduino toolchain ใช้ ไม่ใช้บอร์ดใน arduino-form-factor ฉันไม่เห็นวิธีที่ชัดเจนในการอธิบายระหว่าง "arduino" และ "non-arduino" เว้นแต่คุณจะต้องการให้โครงการรวบรวมโดยใช้ arduino text-editor และนั่นอาจจะตัดสิทธิ์โครงการที่ดีทั้งหมดเนื่องจากบรรณาธิการ arduino นั้นน่ากลัวและผู้เขียนโค้ดที่ดีทั้งหมดหยุดใช้งานเมื่อนานมาแล้ว
Connor Wolf

@FakeName เรามาพูดถึงเรื่องนี้กับMeta Post
sachleen

คำตอบ:


14

เควสท์ stateful

GPSกล่องขับเคลื่อนที่ทำให้คุณเข้าชมไม่กี่จุดก่อนที่จะเปิด

ลักษณะ

มันคล้ายกับเควสท์บ็อกซ์ แต่เก็บข้อมูลเล็กน้อยในEEPROMดังนั้นคุณต้องไปที่สองหรือสามแห่งก่อนที่จะเปิด

ออกแบบ

ฮาร์ดแวร์ที่ต้องการ:

  • Arduino Uno
  • Reverse Geocache เวอร์ชัน 2 (หรือโปรโตฟิลด์)
  • โมดูล GPS GlobalSat EM-406A
  • จอ LCD สีน้ำเงิน 2 × 8 พร้อมหัวต่อและสายเคเบิล
  • Hitec HS-55 servo motor
  • 4-40 ผลักดันก้านและปิ๊นสำหรับสลัก (บางรุ่นมีก้านโค้ง Z แทน)
  • ที่ยึดแบตเตอรี่ AA 2 ก้อน
  • ปุ่มกดโลหะพร้อมไฟ LED สีฟ้าในตัวและสายเคเบิล 4 พิน
  • สวิตช์แรงดันไฟฟ้าต่ำ Pololu
  • อุปกรณ์เพิ่มแรงดันไฟฟ้า Pololu 5 V
  • ขั้วต่อ JST สำหรับโมดูล GPS EM-406A
  • หมุดส่วนหัวมุมตรงและมุมขวาสำหรับช่องเสียบจอแสดงผลเซอร์โวและปุ่มกด
  • ตัวต้านทานสองตัวสำหรับการ จำกัด กระแสไฟและการปรับความคมชัดของหน้าจอ
  • ตัวเก็บประจุขนาดเล็กสองตัวสำหรับการปรับกำลังให้เรียบ
  • ตัวเก็บประจุขนาดใหญ่สำหรับวงจรความคมชัดการแสดงผล

ต้นทุนฮาร์ดแวร์ทั้งหมด: 137 $ + ค่าจัดส่ง

วัสดุเพิ่มเติม:

  • กล่องที่ดี
  • กาวอีพ็อกซี่, ไม้เพื่อปกปิดชิ้นงาน, เครื่องมือ

คุณสามารถหาคำแนะนำในการประกอบในหน้านาฬิกาแดด (คุณสามารถซื้อวัสดุส่วนใหญ่จากพวกเขา)

ฉันจะอัปโหลดรหัส stateful และโพสต์ลิงก์ที่นี่โชคไม่ดีที่ฉันไม่ต้องการฮาร์ดแวร์ทันเวลาดังนั้นนี่เป็นเพียงความคิด :)

รหัสที่เขียนแล้ว :

แรงบันดาลใจ:Questbox ดั้งเดิม

ข้อสรุป

เรียนรู้วิธีรวมส่วนประกอบและไลบรารีต่าง ๆ เข้าด้วยกันฉันจะต้องเดินทางไปทดสอบสักหน่อย :)

งบประมาณสามารถลดได้นิดหน่อยเปลี่ยนแนวความคิดเล็กน้อย:


11

ประหยัดพลังงานสำหรับผู้ใช้พีซีที่ไม่สนใจ

อุปกรณ์นี้เปิด / ปิดไฟโต๊ะทำงานของฉันเมื่อมันมืด (ish) และซิงค์กับสกรีนเซฟเวอร์พีซีของฉัน

ลักษณะ

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

ออกแบบ

เนื่องจากพลังของไมโครคอนโทรลเลอร์ / Arduino จำเป็นต้องใช้ฮาร์ดแวร์เพิ่มเติมเพียงเล็กน้อยเพื่อสร้างโครงการที่มีประโยชน์ สิ่งเดียวกันนี้สำหรับโครงการที่ฮาร์ดแวร์น้อยกว่า:

  • Arduino
  • สกรูป้องกันสองตัวเพื่อเชื่อมต่อส่วนประกอบภายนอก
  • LDRในซีรีส์ที่มีความต้านทานการวัดแสงโดยรอบ
  • การ์ดรีเลย์สำหรับเปิดและปิดไฟพลังงานหลัก
  • ตัวเก็บประจุ 10 μFจาก GND ถึง RST เพื่อป้องกันไม่ให้บอร์ดถูกรีเซ็ตและถูกตั้งโปรแกรมโดยไม่ตั้งใจ

แผนผัง

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab

ข้อสรุป

ฉันเรียนรู้วิธีเชื่อมต่อพีซีผ่านลิงค์อนุกรม USB กับ Arduino และวิธีอ่านสถานะปัจจุบันของสกรีนเซฟเวอร์บนพีซีของฉัน ถ้าฉันจะเริ่มต้นใหม่ฉันจะใช้คอนโทรลเลอร์ขนาดเล็กกว่ามากเพราะฉันต้องการเพียงเอาต์พุตดิจิตอลเดียวและอินพุตอนาล็อกเดียว น่าจะเป็นฐานการโครงการV-USB Arduino นั้นยอดเยี่ยมสำหรับการพิสูจน์แนวคิด (PoC) ที่รวดเร็วและง่ายดาย (PoC อยู่บนโต๊ะของฉันอย่างน้อยสองปีแล้ว)


มันจะเจ๋งถ้าเห็นรูปบอร์ดสุดท้ายและการตั้งค่า เวลาตอบสนองเป็นอย่างไร ทันที? หลังจากผ่านไปหนึ่งนาที
sachleen

@sachleen ภูตบนพีซีของฉันที่สำรวจหน้าจอทำงานทุก ๆ 30 วินาทีเมื่อปิดหน้าจอ (เมื่อฉันทำงานบนพีซีของฉัน) และทุก ๆ 5 วินาทีเมื่อเปิดใช้งาน ฉันสามารถเพิ่มความเร็วนั้นได้ แต่มีผลกับภาระของ CPU และด้วยการใช้พลังงานนั้น ... นอกจากนี้ยังมีตัวเก็บประจุเพื่อป้องกัน Arduino จากการรีเซ็ตและตั้งใจตั้งโปรแกรมโดยไม่ตั้งใจ
jippie

@sachleen เมื่อมืดลงอย่างช้าๆเมื่อเวลาผ่านไป 30 วินาทีนี้ไม่ใช่ปัญหาจริงๆ ไม่มีใครสังเกตเห็นความแตกต่างในความมืดในช่วง 30 วินาที ภายใน 5 วินาทีหลังจากขยับเม้าส์หรือกดปุ่มคีย์บอร์ดเมื่อเปิดไฟกลับคืน มีทวิตเตอร์ hysteresis เล็กน้อยสิ่งที่ถือว่ามืดและสว่างคือเพื่อป้องกันไม่ให้ไฟเปิด / ปิดทุก ๆ วินาทีเมื่อมันมืดสลัวพอที่จะเปิดใช้งาน
jippie

คุณควรปรับให้มืดลงที่ 50% เป็นเวลา 10-15 วินาทีเพื่อที่คุณจะไม่ได้อยู่ในความมืดสนิทและมันจะให้คำเตือน "เล็กน้อย"
Anonymous Penguin

@ AnnonomusPerson ฉันกำลังสลับด้าน 240VAC ของ SMPS ที่ระบุอินพุต 100-250VAC จะไม่เกิดขึ้นฉันกลัวว่าฉันไม่ต้องการเปลี่ยนด้านรอง แม้ว่าจะเป็นความคิดที่ดีบางทีฉันสามารถเพิ่มไฟ LED สีขาวเล็ก ๆ ได้
jippie

8

ฉันคิดว่าแบบนี้ไม่ค่อยเหมาะกับกฎ แต่มันน่าสนใจพอที่ฉันคิดว่าฉันจะโพสต์มันต่อไป

เครื่องกำเนิดไฟฟ้าประทับเวลาที่มีความแม่นยำสูง, ประสาน GPS เพื่อวัตถุประสงค์ในการเก็บข้อมูล

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

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

วิธีการแก้ปัญหาก่อนหน้านี้คือตัวนับขนาน 24 บิตที่ถูกกระแทกทุกที่ต้องใช้ชุดสายไฟขนาดใหญ่และเป็นความเจ็บปวดในก้น

ระบบนี้ใช้โมดูล GPS เวลาพิเศษที่สามารถสังเคราะห์นาฬิกาความถี่โดยพลการซึ่งเป็นเฟสและความถี่ที่ล็อคไว้กับนาฬิกาอะตอมมิกในดาวเทียม GPS

MCU เป็นผู้รับผิดชอบในการผูกข้อความข้อมูล GPS (ฉันต้องขยายและเพิ่มประสิทธิภาพการแยกวิเคราะห์โปรโตคอลที่มีอยู่สำหรับข้อมูล GPS) GPS ได้รับการกำหนดค่าให้ใช้โปรโตคอลเลขฐานสองที่เป็นกรรมสิทธิ์และทุกตัวแยกวิเคราะห์โดยตัวแยกวิเคราะห์ที่ฉันเขียน

โครงการได้ผ่านการแก้ไขจำนวนมาก (ภาพด้านล่าง)

ออกแบบ

แก้ไข! ป้อนคำอธิบายรูปภาพที่นี่
Rev 1: ไม่ทำงานเนื่องจากตอนแรกฉันหวังว่าจะใช้ซอฟต์แวร์ dPLL จาก GPS ที่ราคาถูกกว่ามากเพื่อสังเคราะห์นาฬิกาความถี่สูงจากเอาต์พุต 1 PPS เท่านั้น อาจเป็นไปได้ที่จะทำให้มันใช้งานได้ แต่การลงทุนเวลาทำให้มันไม่คุ้มค่า (และฉันเป็นคนเขียนโค๊ดเกินไป)

ใช้ตัวพารัลแลกซ์ MCU การขาดภาษาที่เรียบเรียงที่เหมาะสมก็เป็นประเด็นหลักเช่นกัน


ป้อนคำอธิบายรูปภาพที่นี่
Rev 2: เปลี่ยนเป็น ATmega2560 ทำงานได้ดีมีการออกแบบที่เก๋ไก๋มากมายซึ่งสืบทอดมาจากรุ่นแรก โดยพื้นฐานแล้วการใช้ shift-register อย่างต่อเนื่องสำหรับเอาท์พุท 32- บิตแม้จะมีจำนวน IO เพียงพอบน ATmega2560

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


ป้อนคำอธิบายรูปภาพที่นี่
Rev 3: ยังใช้งานได้ การเดินสายไฟแบบติดตั้งเนื่องจากบอร์ดนี้ได้รวมฮับ USB ในตัวเพื่อลดจำนวนพอร์ต USB ที่ต้องการ (อินเตอร์เฟส FTDI ต้องการ 1 USB และ GPS มีอินเตอร์เฟส USB ด้วยเช่นกัน) น่าเสียดายที่ GPS ไม่สามารถระบุได้อย่างถูกต้องถึงแม้ว่าอุปกรณ์ FTDI ทำงานได้ดีและฉันใช้ฮับนี้ที่อื่นโดยไม่มีปัญหา แปลก.

ฉันไม่มีตัวแก้ไขข้อบกพร่อง USB ที่เหมาะสมดังนั้นฉันจึงทิ้งฮับ USB ทั้งหมดแทนที่จะลองแก้ไขปัญหา GPS usb ไม่ได้ใช้งานจริงมากไปกว่าการตั้งค่าอย่างไรก็ตาม


ป้อนคำอธิบายรูปภาพที่นี่
Rev 4: เวอร์ชั่นสุดท้ายของ ATmega2560 เพิ่ม LCD สำหรับสถานะ GPS, เล่นกับ LED และอื่น ๆ ยิ่งไปกว่านั้นรอยเท้าที่ดีกว่าสำหรับตัวเก็บประจุแบบซุปเปอร์ที่เป็นไปได้สำหรับการรักษาสถานะ GPS เมื่อไม่ได้เปิดเครื่อง

นี่เป็นเวอร์ชัน Optiboot ล่าสุด

MStimeคือMSTOWหรือมิลลิวินาทีเวลาของสัปดาห์ซึ่งเป็นชื่อของค่าข้อมูล GPS ที่ส่งออกในการประทับเวลาออก มันเป็นตัวแปร 32 บิตที่เพิ่มขึ้นหนึ่งครั้งต่อมิลลิวินาทีและหมุนทับในแต่ละสัปดาห์ มันเป็นส่วนที่คลุมเครือมากขึ้นของมาตรฐาน GPS

ITOWเป็นอีกค่าหนึ่งที่เกี่ยวข้องกับ GPS โดยเป็นค่าที่สอดคล้องกับสัญญาณ 1PPS ความสัมพันธ์ระหว่างทั้งสองนั้นไม่ได้สะท้อนให้เห็นอย่างเหมาะสมบน LCD เนื่องจากฉันไม่มีเวลาของ CPU ในการอัปเดต LCD ในอัตราที่ฉันต้องการ นี่เป็นหนึ่งในสิ่งสำคัญที่ปรับปรุงในการอัพเกรดเป็นอุปกรณ์ Xmega


ป้อนคำอธิบายรูปภาพที่นี่
Rev 5: สวิตช์สถาปัตยกรรมที่สมบูรณ์ ตอนนี้ใช้โปรเซสเซอร์ ATxmega128A1U ไม่ใช่ "Arduino" เลยอีกต่อไป แต่ความสามารถในการมีอินเตอร์รัปต์หลายระดับในซีรีส์โปรเซสเซอร์ xmega ทำให้ฉันสามารถปรับปรุงโครงสร้างรหัสได้อย่างมาก

สายไฟทั้งสองนั้นมาจากการทดลองของฉัน

มองไปข้างหน้า:

รอบ 6! ป้อนคำอธิบายรูปภาพที่นี่
เพิ่มความสามารถในการใช้ขนาด LCD ที่แตกต่างกันการป้องกัน ESD ที่มากขึ้นในการเชื่อมต่อเสาอากาศ GPS (นั่นเป็นปัญหา) ความสามารถในการใช้แบตเตอรี่ CR2032 สำหรับการบำรุงรักษานาฬิกา GPS แทนที่จะเป็นตัวเก็บประจุแบบซุปเปอร์

นอกจากนี้การติดฉลากที่ดีขึ้นของ debug และ LED แสดงสถานะ

ป้อนคำอธิบายรูปภาพที่นี่
และโบนัส Nyan-Cat!

ป้อนคำอธิบายรูปภาพที่นี่

(บอร์ดเหล่านี้ออกมาเพื่อการประดิษฐ์ในขณะนี้เมื่อฉันได้พวกเขามาฉันจะเพิ่มรูปภาพของบอร์ดจริง)


ฉันทำการทดสอบระยะเวลานานระหว่างบอร์ด ATmega2560 สองเครื่องและมากกว่า 72 ชั่วโมงข้อผิดพลาดเกี่ยวกับเวลา RMS ระหว่างสองหน่วยคือ ~ 20 uS นี่คือเสาอากาศอิสระสองเสาเช่นกัน เป้าหมายการออกแบบของฉันคือ <1 ms ดังนั้นฉันจึงค่อนข้างพอใจกับเรื่องนี้

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


ออกแบบไฟล์:
https://fake-server.no-ip.org/svn/FPGAStuff/DAQ%20systems/
(ในไดเรกทอรี "ซีรี่ส์ Timestamp" ของ GPS)
(หมายเหตุ: ไฟล์มาจาก Altium Designer ไม่ใช่ไฟล์ Eagle)

รหัสที่มา:
https://fake-server.no-ip.org/svn/Programming/Code/AVR/
อีกครั้งในซีรีส์ "gpsTimeStamp" ของไดเรกทอรี

ขออภัยสำหรับรูปภาพโทรศัพท์มือถือเส็งเคร็ง


คุณช่วยลดจำนวนภาพลงได้ไหม 3-4 ควรจะเพียงพอที่จะรับความคิด ใช้เวลาค่อนข้างนานในการโหลดการเชื่อมต่อที่ช้า
asheeshr

7
@AsheeshR - ฉันไม่เห็นด้วยอย่างยิ่ง ฉันสามารถดรอปหนึ่งในรูปภาพจาก rev ล่าสุด แต่มีความก้าวหน้าของการออกแบบระบบฉันคิดว่าค่อนข้างมีค่า
Connor Wolf

1
สนุกกับหน้าจอไหม?
TheDoctor

Oooh, PCB มุมมอง 3 มิติ อืมมันเป็น Altium และมีราคาแพงมาก : $ สนุกมากที่ได้เห็นโครงการเหล่านี้หรือดูโครงการที่คนอื่นกำลังทำอยู่ ..
พอล

7

Sonic Ray Gun

สองโครงการโดยเด็ก ๆ

ฉันทำงานกับเด็ก ๆ ที่มีการศึกษาที่บ้านสองสามคนและพวกเราสนุกกับอาร์ดิโนมาก โปรเจ็กต์แรกของพวกเขาคือระเบิดปลอมอย่างที่คุณเห็นในภาพยนตร์ด้วยตัวจับเวลาถอยหลัง LCD และคลาสสิก "คุณตัดลวดสีแดงหรือสีน้ำเงินไหม?" ปัญหาประเภท

โครงการที่สองเริ่มต้นด้วยการแสดงตัวอย่าง toneMelody และลำโพงขนาดเล็ก พบอย่างรวดเร็วว่าถ้าคุณเปลี่ยนความถี่สูงถึง 15kHz มันค่อนข้างน่ารำคาญสำหรับวัยรุ่น ชั่วโมงต่อมาพวกเขาได้ปรับปรุงการออกแบบด้วยถ้วยม้วนห้องน้ำและสวิตช์ที่ทำจากคลิปหนีบกระดาษทำปืนเรย์ทิศทาง

น่าเสียดายที่ไม่มีรูปภาพ

ข้อสรุป

อย่าปล่อยเด็กไว้กับอาร์ดิโน


3
คุณช่วยอธิบายเพิ่มเติมอีกหน่อยได้ไหม (รหัส, Fritzing และอื่น ๆ )?
Penguin Penguin ไม่ระบุชื่อ

7

(ปลอม) Linux บน Arduino

ฉันเพิ่งได้รับหน้าจอ LCD คอมโพสิตขนาดเล็กซึ่งฉันเริ่มเล่นกับห้องสมุด Arduino TVout อย่างรวดเร็ว อะไรต่อไป ลินุกซ์!

ลักษณะ

ในขณะที่เล่นกับหน้าจอทีวีของฉันและห้องสมุด TVout ฉันค้นพบว่ามีเครื่องมือจัดการเทอร์มินัลสำหรับทีวี ในไม่ช้าฉันก็เริ่มทดลองใช้มันเป็นเทอร์มินัลทีวีเชื่อมต่อกับแป้นพิมพ์ PS / 2 มีปัญหาบางอย่างกับไลบรารี PS / 2 ที่ฉันใช้ดังนั้นฉันจึงเปลี่ยนไปใช้ไลบรารี USB บน Mega ADK ของฉันพร้อมกับแป้นพิมพ์ USB ที่ทำงานได้ดีขึ้นมาก ตอนนี้สำหรับการจัดเก็บ

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

รหัสจะถูกย้ายไปที่ Github ในที่สุดดูความคิดเห็น

ออกแบบ

ซูมออกรูป

ย่อหน้าจอ

ความท้าทาย

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

ข้อสรุป

ฉันพอใจกับรหัสมาก เมื่อฉันเพิ่มยูทิลิตี้เพิ่มเติมอีกสองสามรายการฉันจะใส่ไว้ใน Github ดังนั้นดูความคิดเห็น โดยรวมแล้วมันเป็นโครงการที่สนุกมาก ฉันเรียนรู้วิธีใช้ Stino ในกระบวนการ


ฟังดูน่าสนใจ ฉันอยากเห็นรหัสของคุณเร็ว ๆ นี้!
asheeshr

รหัส!! รหัส!! github.com/red-green/fakeLinuxonArduino
TheDoctor

LCD มีราคาสูงมากหรือไม่?
ไม่ระบุชื่อเพนกวิน


@ AnnonomusPerson ฉันถอดชิ้นส่วนออกเพราะมันใหญ่เกินไป
TheDoctor

5

ShiftLCD

บอร์ด AVR ที่ใช้งานร่วมกับ Arduino ได้ซึ่งติดตั้งไว้ที่ด้านหลังของหน้าจอ LCD ขนาด 8x1 มากถึง 20x4 ตัวอักษร

ลักษณะ

ฉันเพิ่งออกแบบบอร์ดนี้และไลบรารีแบบกำหนดเองเพื่อให้ใช้งานง่ายขึ้นและ LCD แม้ว่าพวกเขาจะค่อนข้างใช้งานง่ายในขณะนี้ มันลดจำนวนขาเอาต์พุตที่ใช้จาก 6 เป็น 3 นอกจากนี้ยังมีตัวเลือกในการขยาย I / O โดยการเพิ่ม shift register ที่เพิ่มเติมลงในอันที่ขับเคลื่อนจอแสดงผล โปรเซสเซอร์ที่ใช้คือ ATTiny45 หรือ ATTiny85 ซึ่งมีหลังจากใช้ shift register, พินดิจิตอล 1 (PWM) และ 4 พร้อมใช้งานและอะนาล็อกพิน 2 (พินเดียวกับพินดิจิตอล 4)

ออกแบบ

แผนผัง OSH Park แสดงผล คณะกรรมการที่ยังไม่ขาย

ความท้าทาย

สิ่งหนึ่งที่ฉันคาดไม่ถึงคือเมื่อฉันเริ่มใช้พินดิจิตอล 0-2 เพื่อรัน shift shift สิ่งเหล่านี้ก็เป็นขาตั้งโปรแกรม (MISO, MOSI, SCK) ดังนั้นทุกครั้งที่ฉันทำการตั้งโปรแกรมใหม่อุปกรณ์ LCD จะได้รับข้อความที่พูดพล่อยๆซึ่งต้องปิดเครื่องเพื่อรีเซ็ตจอแสดงผล ฉันแก้ไขปัญหานี้โดยการย้าย shift register latch pin ไปที่ digital pin 3 ซึ่งไม่ใช่ pin การเขียนโปรแกรม การแก้ปัญหานี้ยังแก้ไขปัญหาอีกอย่างสำหรับฉันเพราะเมื่อฉันย้ายสลัก latch มันจะเปิด digital pin 1 ซึ่งมีการใช้ PWM ช่วยให้สามารถทำสิ่งต่างๆกับบอร์ดได้มากขึ้น

ข้อสรุป

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


คุณตั้งโปรแกรม ATtiny อย่างไร รหัสอะไรที่เกี่ยวข้อง IDE? (โปรดแสดงความคิดเห็นโปรดอย่าแก้ไขโพสต์ของคุณ )
Anonymous Penguin

@AnnonomusPerson ดูเหมือนว่าบุคคลที่โพสต์สิ่งที่ฉันทำก่อนที่จะลบความคิดเห็นของพวกเขาดังนั้นนี่คือสิ่งที่ฉันได้รับสิ่งที่ต้องการ (ไฟล์ Arduino IDE และแผนผังการเขียนโปรแกรม) เพื่อเขียนโปรแกรม ATTiny highlowtech.org/?p=1695
Jesse Laning

เหตุใดจึงต้องใช้ตัวยึดพื้นผิว การบัดกรีผ่านรูที่บ้านง่ายกว่าไหม? ฉันคิดว่า SMD ใช้สำหรับการผลิตเท่านั้นหรือมีอย่างอื่นอีกไหม
พอล

5

หุ่นยนต์กดปุ่ม

หุ่นยนต์ยิงเลเซอร์ควบคุมระยะไกลสี่ล้อแปดปอนด์ที่กดปุ่ม

ลักษณะ

ฉันทำโครงการนี้ในช่วงปีการศึกษาที่แล้ว ฉันอยู่ในคลาสหุ่นยนต์และเราตัดสินใจที่จะแข่งขัน แต่ละทีมจะสร้างหุ่นยนต์ที่มีปุ่มขนาดใหญ่และวิธีกดปุ่มอื่น ๆ ในตอนท้ายของปีเราจะมีการแข่งขันรอบสุดท้ายโดยที่หุ่นยนต์สามตัวพยายามกดปุ่มของกันและกัน

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

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

ออกแบบ

การออกแบบโดยรวม

ป้อนคำอธิบายรูปภาพที่นี่

ข้อมูล / กระแสไฟฟ้า

+--------------------------+   +-------------------------------------------------+
|         Computer         |   |      Robot                                      |
|--------------------------|   |-------------------------------------------------|
|                          |   |                                                 |
| Keyboard +--> Processing |   |  Button +-------------+        Motor    Motor   |
|                          |   |                       |          ^       ^      |
|                    +     |   |                       |          |       |      |
|                    |     |   |  Batteries +-----+    |          +       +      |
|                    v     |   |                  |    |   +----> Motor Driver   |
|                          |   |                  v    v   +                     |
|               Bluetooth +-----> Bluetooth +--> Arduino Uno +--> Motor driver   |
|                          |   |                  +    +  +       +       +      |
+--------------------------+   |                  |    |  |       |       |      |
                               |                  |    |  |       v       v      |
                               |                  |    |  |    Motor     Motor   |
                               |                  |    |  |                      |
                               |                  |    |  |                      |
                               |                  |    |  +-----> Laser          |
                               |  +---------------|----|----+                    |
                               |  |       Arm     |    |    |                    |
                               |  |---------------|----|----|                    |
                               |  |     +---------+    v    |                    |
                               |  |     |      Motor Driver |                    |
                               |  |     v              +    |                    |
                               |  |  Servo             |    |                    |
                               |  |                    v    |                    |
                               |  |                  Motor  |                    |
                               |  +-------------------------+                    |
                               +-------------------------------------------------+

ส่วนประกอบ

รหัส

ฉันไม่ได้จัดระเบียบรหัสของฉันได้ดีมากดังนั้นฉันหวังว่านี่เป็นรหัสที่ถูกต้อง

รูปเพิ่มเติม

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

วิดีโอที่ยอดเยี่ยมสำหรับหุ่นยนต์รุ่นแรกที่ไม่มีแขนไม่มีปุ่มไม่มีเลเซอร์และไม่มี Bluetooth

https://www.youtube.com/watch?v=Q7MvE7-Xb0E

ข้อสรุป

ฉันเก่งด้านการทอดอุปกรณ์อิเล็กทรอนิกส์

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


1
เยี่ยมมาก! ไม่มีอะไรมีค่าเท่ากับประสบการณ์และสิ่งสำคัญคือตอนนี้คุณรู้วิธีทำงานที่ดีขึ้นในครั้งต่อไป
jippie

5

จอแสดงผล LED 4 หลักสำหรับ Arduino

กระดานขนาดเล็กที่มีตัวเลข LED 7 7 เซกเมนต์จัดการผ่าน 3 พิน

ลักษณะ

เมื่อฉันเริ่มทำงานกับ Arduino ฉันต้องการวิธีแสดงค่าที่รวบรวมโดยเซ็นเซอร์ต่าง ๆ ที่ฉันทดลอง แต่ฉันไม่ต้องการส่งค่าเหล่านี้ผ่านSerialไปยังพีซี

ฉันต้องการกระดานขนาดเล็กที่ฉันสามารถนำกลับมาใช้ใหม่จากโครงการหนึ่งไปสู่อีกโครงการได้อย่างง่ายดายและฉันต้องการที่จะสำรองกระดานเรียนรู้

บอร์ดนี้พร้อมกับห้องสมุดขนาดเล็กในปัจจุบันอนุญาตให้แสดงตัวเลข 4 หลักและไม่ได้จัดหากระแส Arduino ใด ๆ ในระหว่างการแสดงผล (ปัจจุบันมีแหล่งที่มาเฉพาะเมื่อสื่อสารกับบอร์ดค่าใหม่ที่จะแสดงต่อจากนี้เป็นต้นไป)

บอร์ดแสดงผลที่มีเคาน์เตอร์

ออกแบบ

การออกแบบค่อนข้างง่ายเมื่อฉันตัดสินใจใช้ชิปMAX-7219 อีกครั้งเพื่อขับเคลื่อนจอแสดงผล LED ของฉัน (ฉันมีบางอย่างในมือ)

ต้องขอบคุณชิปตัวนี้แผนผังนั้นง่ายมาก แต่มันสำคัญที่จะต้องเข้าใจวิธีใช้อย่างถูกต้อง โชคดีที่แผ่นข้อมูลของมันค่อนข้างชัดเจน

การออกแบบเดิมถูกสร้างขึ้นบนเขียงหั่นขนมและใช้ตัวเลข LED 7 ส่วนเดียว 4 ส่วน ; แต่มันต้องเดินสายมากเกินไปสำหรับรสนิยมของฉัน (จำเป็นต้องเชื่อมต่อเซ็กเมนต์ตามกลุ่มของ 4) นอกจากนี้ในระหว่างการทดสอบครั้งแรกของฉันด้วยตัวเลข LED 7 เซกเมนต์ฉันทอดหนึ่ง: มันมีหมุดกราวน์ 2 อัน แต่ฉันเชื่อมต่อกับ GND เพียงอันเดียวแทนที่จะเป็น :-(

จากนั้นฉันตัดสินใจที่จะไปแสดง4x7 เซ็กเมนต์แคโทดทั่วไปพร้อมเซ็กเมนต์ anodes เชื่อมต่อแล้วสำหรับ 4 หลัก: นั่นเป็นเพียง 4 + 8 พิน!

แผนผังคณะกรรมการ

ในระหว่างการทดสอบของฉันฉันพบห้องสมุด Arduino ที่มีประโยชน์สำหรับการทำงานกับ MAX-7219ซึ่งฉันตัดสินใจที่จะนำมาใช้ซ้ำ ฉันสร้างห้องสมุดของตัวเองโดยใช้ API ที่ง่ายมาก

หลังจากเรียนจบแล้วก็ถึงเวลาที่จะออกแบบให้ถาวรยิ่งขึ้น เนื่องจากฉันมีแถบสตริปเปอร์อยู่ในมือฉันจึงตัดสินใจทำมัน

ฉันค้นหาและพบผู้ออกแบบ Stripboard อย่างง่ายสำหรับพีซีที่ฉันใช้ในการออกแบบบอร์ดของฉัน

การออกแบบแถบแรกไม่ได้รับการปรับให้เหมาะสมในแง่ของพื้นที่และฉันตัดสินใจที่จะไม่ใช้มัน:

STRIPBOARD DESIGN # 1

จากนั้นฉันได้ตรวจสอบการออกแบบเพื่อปรับค่าใช้จ่ายและขนาดให้เหมาะสม (เพียงหนึ่งแถบขนาดเล็ก 50x75 มม.) นั่นเป็นเรื่องง่ายกับนักออกแบบแถบที่ฉันพบก่อน:

STRIPBOARD DESIGN # 2

เมื่อบอร์ดพร้อมฉันตัดสินใจที่จะตรวจสอบกับ Arduino UNO และเซ็นเซอร์อัลตราโซนิค:

ภาพ

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

ส่วนรายการ:

  • 1 x LN5461AS: แคโทดทั่วไป 7 บล็อกเซกเมนต์ 4 หลัก
  • 1 x MAX7219: ชิปไดรเวอร์ LED แบบมัลติเพล็กซ์
  • รองรับ 1 x IC (24 พิน)
  • ตัวต้านทาน 1 x 22K
  • ฝาไฟฟ้าอิเล็กโทรไลต์ 1 x 10
  • 1 x 100nF cap
  • 1 x ชายพินส่วนหัว (5 พิน)
  • แถบเลื่อนขนาด 1 x 90x50 มม
  • สายไฟ, ประสาน ...

ข้อสรุป

30 ปีหลังจากการทดลองทางอิเล็กทรอนิกส์ครั้งสุดท้ายของฉันฉันจะได้รับไวรัสอีกครั้งด้วย Arduino และด้วยโครงการแรกนี้ซึ่งแม้จะค่อนข้างเรียบง่ายสอนฉันหลายสิ่ง:

  • แปลเอกสารข้อมูลทางเทคนิคสำหรับส่วนประกอบที่ใช้ (MAX7219 และจอแสดงผล LED)
  • เรียนรู้วิธีใช้และมีประสิทธิภาพด้วยการออกแบบแถบ
  • พินทั้งหมดที่มีเครื่องหมาย GND หรือ V + ควรเชื่อมต่อ: คุณไม่ได้เลือกอย่างที่คุณรู้สึกว่ากำลังเชื่อมต่อ!
  • หากมีบางสิ่งที่ดูแปลก ๆ เมื่อคุณทดสอบวงจรของคุณและคุณไม่เข้าใจว่าทำไม: อย่าค้นหามันต้องมีเสียงรบกวนลองเพิ่มฝาครอบแยกออกและควรทำเช่นนั้น!
  • เรียนรู้วิธีสร้างห้องสมุด Arduino (ไม่ใช่แค่แบบร่าง)

ถ้าฉันจะเริ่มโครงการนี้อีกครั้งวันนี้ฉันจะ:

  • พยายามเพิ่มประสิทธิภาพการออกแบบสตริปบอร์ดให้มากขึ้น (ฉันอาจลดขนาดได้อีกเล็กน้อย)
  • แทนที่ส่วนหัวของพินตรงในบอร์ดด้วยส่วนหัวมุมฉากเพื่อให้สายที่เชื่อมต่อกับ Arduino นั้นยื่นออกมาด้านหน้าของบอร์ดมากขึ้น

5

นาฬิกาแขวนผนังระบบดิจิตอลพร้อมรีโมทควบคุมความถี่วิทยุ

นาฬิกาแขวนแสดงผล 7 ส่วนขนาดใหญ่ (40x30 ซม. / 16x12 ") พร้อมรีโมทควบคุม R / F

ป้อนคำอธิบายรูปภาพที่นี่

ลักษณะ

โครงการนี้มีนาฬิกาดิจิตอล 7 ส่วนแสดงผลขนาดใหญ่ (40x30 ซม. / 16x12 ") พร้อมรีโมทคอนโทรล R / F มีคุณสมบัติดังต่อไปนี้:

  • มันแสดงเวลาและวันที่ปัจจุบัน (ชั่วโมง, นาที, วินาที, วัน, เดือน, ปี) ในสองรูปแบบ (ชั่วโมงหรือวันที่ในตัวเลขขนาดใหญ่)
  • มันแสดงอุณหภูมิปัจจุบันเป็น° C
  • มีการนับถอยหลังที่ผู้ใช้กำหนดซึ่งจะส่งเสียงเตือน (น่ารำคาญ) เมื่อถึงศูนย์
  • ฟังก์ชั่นทั้งหมดควบคุมจากระยะไกลด้วยรีโมทคอนโทรล RF
  • มีปุ่มกดเคอร์เซอร์ขนาดเล็กสำหรับควบคุมฟังก์ชั่น (เมื่อไม่มีรีโมทควบคุม)
  • การควบคุมความสว่างไม่ขึ้นอยู่กับแต่ละบรรทัดการแสดงผล
  • มันยังคงรักษาเวลาปัจจุบันได้อย่างแม่นยำแม้ในขณะปิดขอบคุณนาฬิกาเวลาจริงที่ขับเคลื่อนด้วยแบตเตอรี่เซลล์แบบเหรียญ

ออกแบบ

ประเด็นสำคัญของโครงการนี้คือ:

  • มันใช้ตัวควบคุมไมโครคอนโทรลเลอร์ Arduino และ AVR ATmega328 อย่างสมบูรณ์
  • มันช่วยให้เวลาปัจจุบันแม้ในขณะปิดขอบคุณ DR1307 RTC ขับเคลื่อนด้วยแบตเตอรี่เซลล์แบบเหรียญ
  • ตัวเลขจะไม่ถูกทำมัลติเพล็ก แต่แต่ละหลักจะมีการลงทะเบียนอนุกรม 8 บิตโดยเฉพาะ IC (74HC595) ที่เก็บเซ็กเมนต์ที่เลือกโดยไม่ขึ้นกับสิ่งที่ปรากฏบนตัวเลขอื่นและสิ่งที่ MCU กำลังทำอยู่
  • เซ็กเมนต์ใช้พลังงานจากอาร์เรย์ดาร์ลิงตันเนื่องจากปริมาณการใช้ในปัจจุบันที่เกินจาก MCU หรือการลงทะเบียนกะ
  • นาฬิกาถูกควบคุมโดยปุ่มกดบนแผงควบคุมและด้วยรีโมทคอนโทรล RF การสื่อสารทางวิทยุดำเนินการโดยตัวรับและส่งสัญญาณวิทยุราคาไม่แพง 434MHz
  • โครงการนี้มีการออกแบบแบบแยกส่วนซึ่งตัวควบคุมเดียวสามารถจัดการได้ถึง 12 หลักเดียว คอนโทรลเลอร์ยังยอมรับโมดูลที่ขยายได้สำหรับจำนวนหลักไม่ จำกัด (จำนวนหลักสูงสุดถูก จำกัด โดยการหน่วงเวลาเนื่องจากเดซี่เชนของการลงทะเบียนกะและการลดทอนสัญญาณนาฬิกาของพวกเขา)
  • การออกแบบรองรับตัวเลขแสดงผล 7 ส่วนหรือตัวเลขที่กำหนดเองที่ทำด้วย LED

ด้านล่างนี้เป็นแผนผังสำหรับตัวควบคุมและหนึ่งในบอร์ด 7 ส่วน:

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

นี่คือรูปภาพของบอร์ดที่ฉันออกแบบแกะสลักและประกอบและรีโมทคอนโทรล:

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

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

ป้อนคำอธิบายรูปภาพที่นี่

ข้อสรุป

โครงการนี้ใช้เวลามากความพยายามและการเรียนรู้ที่จะมาถึงขั้นนี้ (มันยังไม่เสร็จตามที่ฉันเรียนรู้) แต่มันสนุกมาก บางสิ่งที่ฉันได้เรียนรู้:

  1. ศึกษาlibs ทั้งหมดที่คุณจะใช้ในโครงการของคุณก่อนที่คุณจะกำหนดพิน GPIO ในคอนโทรลเลอร์ของคุณเพื่อหลีกเลี่ยงความขัดแย้งที่อาจเกิดขึ้น ฉันโชคไม่ดีที่จะใช้พิน PWM เดียวกันสำหรับการควบคุมความสว่างที่เกี่ยวข้องกับตัวจับเวลา VirtualWire ดังนั้นฉันจึงต้องติดตั้งบอร์ดเพื่อรับความสว่างและ RF ทำงานในเวลาเดียวกัน

  2. Crimping KK Molex และตัวเชื่อมต่อ modu ใช้เวลานานมาก !!

  3. ชิ้นอะครีลิคตัดด้วยเลเซอร์เป็นอนาคต พวกเขาเพิ่มคุณภาพจำนวนมากไปยังอุปกรณ์แม้ว่าคุณจะเงอะงะ


คุณสร้าง PCB ได้อย่างไร (การกัดและเจาะ)
sachleen

1
@sachleen ฉันใช้วิธีถ่ายโอนผงหมึกด้วยการรีดผ้า ฉันพิมพ์การออกแบบบอร์ดลงในกระดาษภาพถ่ายอิงค์เจ็ทในเครื่องพิมพ์เลเซอร์จากนั้นฉันรีดมันลงบนกระดานจากนั้นฉันก็แกะกระดานใน FeCl ใช้เวลาสักครู่ในการค้นหาการตั้งค่ากระดาษและเครื่องพิมพ์ที่เหมาะสม ฉันใช้ดอกสว่าน dremelสำหรับการเจาะ แต่ฉันใช้ฟีนอลิกบอร์ดและดอกสว่านความเร็วสูงเท่านั้น บอร์ดไฟเบอร์กลาสนั้นยากกว่าบนดอกสว่านซึ่งมักจะต้องใช้ดอกสว่านคาร์ไบด์ที่มีราคาแพงกว่าและเปราะบาง
Ricardo

คุณได้รับ LEDs เหล่านั้นจากที่ไหน ฉันมีบางอย่างที่ดูเหมือนว่า !
The Guy with The Hat

1
@TheGuy กับ TheHat สี่เหลี่ยมผืนผ้าสีเขียว? เหล่านี้เป็นเรื่องธรรมดาในบราซิล ฉันได้รับจากร้านค้าอิเล็กทรอนิกส์ออนไลน์ของเรา นี่คือการเชื่อมโยงบางส่วน: ที่ Digikey , ที่อีเบย์ ที่นี่ฉันได้รับพวกเขาอยู่ที่ไหน
Ricardo

5

เสาอากาศทีวีหมุน

IR หมุนเสาอากาศควบคุมจากระยะไกล

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

ส่วนประกอบ

Arduino Uno, ตัวรับสัญญาณ IR, Stepper motor พร้อมบอร์ดควบคุม, 1 "ID bearing, Swiffer mop handle, กล่องพลาสติก,

ด้านหลังทีวี Arduino พร้อมตัวรับสัญญาณ IR ด้านหน้า ปิดกล่องและตลับลูกปืน จับ swiffer ปุ่มสองปุ่มนี้ไม่ได้ทำอะไรบนทีวีเลย

ลักษณะ

ใช้มือจับไม้ถูพื้น Swiffer เก่าเป็นเสาอากาศ มีแบริ่ง ID 1 นิ้วจากร้านค้าออนไลน์ที่ฉันชอบซึ่งม็อปด้ามบีบเข้าและหยุดฉันเจาะรูเข้าไปในกล่องพลาสติกที่มีขนาดใหญ่พอที่ที่ม็อปจะจับได้พอดี แต่ไม่ใช่สำหรับแบริ่งฉันเจาะเป็นสี่เหลี่ยม รูเข้าที่ปลายด้ามไม้ถูพื้นเพื่อให้พอดีกับเพลาของมอเตอร์ 28BYJ-48 และติดตั้ง contraption ลงในกล่องตามที่แสดงด้ามไม้ถูพื้นจริงๆวางอยู่บนตลับลูกปืนและตลับลูกปืนจะติดกาวที่ด้านบนสุดของกล่องพลาสติก .

ใช้ไลบรารี stepper.h เพื่อหมุนมอเตอร์จาก Uno

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

เพื่อประหยัดพลังงานใช้ฟังก์ชั่น small_stepper.motorOff () เพื่อปิดคอยส์หลังการเคลื่อนไหวแต่ละครั้ง

ข้อสรุป

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

แก้ไข: ขออภัยเกี่ยวกับภาพด้านข้าง! มันเป็นสิ่งที่ถูกต้องบนคอมพิวเตอร์ของฉันฉันไม่รู้ว่าทำไมมันอยู่ข้างออนไลน์


5

ไฟน็อกน็อค

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

ลักษณะ

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

ฉันคิดถึงการออกแบบนี้หลังจากเกือบจะเคาะ (haha punny) โคมไฟของฉันออกจากโต๊ะของฉันในขณะที่ค้นหาสวิตช์สลับเล็ก ๆ ฉันไม่แน่ ...ชำนาญ มันดีที่จะเคาะบนโต๊ะแล้วมีแสงสว่าง ฉันยังใช้ Power Switch Tail SSR (โซลิดสเตตรีเลย์: ไม่มีเสียงรบกวน) เพื่อควบคุมด้วยหมุด Arduino สองตัวของฉัน

ออกแบบ

ภาพถ่าย ภาพที่ถ่ายด้วยเว็บแคมแขวนอยู่เหนือมอนิเตอร์ ... eek!

ฟริตซ์ไดอะแกรม

ส่วนประกอบที่ใช้ในการสร้างโครงการ:

  • องค์ประกอบ Piezo ($ 3.00 USD)
  • ตัวต้านทาน Megaohm ($ 0.30 USD ต่อ 5 pk)
  • Arduino Uno SMD (ในมือ)
  • Power Switch Tail SSR (~ $ 25.00 USD พร้อมเรือ แต่มีในมือดังนั้นไม่มีค่าใช้จ่าย)
  • เขียงหั่นขนมและจัมเปอร์ / ลวดพิเศษ (~ $ 5.00 USD แต่มีในมือดังนั้นไม่มีค่าใช้จ่าย)

ค่าใช้จ่ายสำหรับฉัน: $ 3.30 USD + $ 0.02 USD (ภาษี) == เพียง $ 3.32!

ข้อสรุป

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

ปัญหาที่ใหญ่ที่สุดที่ฉันเผชิญ (และยังคงทำอยู่) ไม่ได้รับสัญญาณที่แรงพอ ฉันเรียนรู้มากมายเกี่ยวกับสัญญาณไฟฟ้า: ฉันรู้วิธีหา "จุดสูงสุด" ของพัลส์และไม่เพียงแค่อ่านพินในช่วงเวลาสุ่มและพลาดแรงดันไฟฟ้าที่สูงขึ้น ฉันจะลองรับองค์ประกอบเพียโซที่ละเอียดอ่อนขึ้น อันที่ใหญ่กว่าก็จะช่วยได้ ฉันกำลังพยายามปรับเปลี่ยนวงจรของฉันเพื่อไม่ให้ จำกัด แรงดันไฟฟ้าให้มาก แต่ปกป้อง Arduino ฟิวส์บางประเภทจะช่วยในสถานการณ์นี้ ฉันกำลังเล่นกับค่าความต้านทาน มันจะช่วยได้มากสำหรับการมีขอบเขตสำหรับสิ่งนี้ แต่ฉันเดาว่าไม่ ... : P

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

อัปเดตสถานะ:ฉันไม่ว่างจริง ๆ เมื่อเร็ว ๆ นี้ ฉันจะสั่งซีเนอร์ไดโอด (4.3V) ที่นี่ในหนึ่งหรือสองสัปดาห์เพื่อถอดตัวต้านทานขนาดใหญ่เพื่อป้องกันการเจือจางสัญญาณในขณะที่ป้องกันชิป ฉันอาจสร้างแอมป์แรงดันไฟฟ้าที่เรียบง่ายที่นี่ถ้าจำเป็น (ข้างซีเนอร์) เพื่อพยายามทำให้เซ็นเซอร์มีความไวมากขึ้น


1
การย้ายไปยังบางสิ่งด้วยดิฟเฟอเรนเชียลและการได้รับ ADC จะช่วยให้คุณมีความไวมากขึ้นจาก Piezo และอาจใช้ TVS แทนตัวต้านทาน
Ignacio Vazquez-Abrams

คุณใช้ ADC เพื่อการตรวจจับหรือการขัดจังหวะหรือไม่? ความคิดของแรงดันไฟฟ้าสูงสุดที่คุณต้องการตรวจจับคือเท่าใด?
jippie

@jipie ADC สำหรับการตรวจจับฉันมีรหัสที่ค่อนข้างมีประสิทธิภาพ: ลูปและพบจุดสูงสุดทุก ๆ 250 มิลลิวินาที ไม่มีความล่าช้า สำหรับยอดเขา IIRC ประมาณ 14/1024 (ขี้เกียจเกินกว่าที่จะแปลงตอนนี้) ฉันควรตรวจสอบขาของ AREF ด้วย แต่อาจมีปัญหาถ้ามันหล่นมันสามารถสร้าง ~ 9V
Penguin Penguin ไม่ระบุชื่อ

ลองใช้นี่เป็นบัฟเฟอร์อินพุต ทรานซิสเตอร์ทำหน้าที่เป็นวงจรขยายกระแสครึ่งคลื่น / เครื่องตรวจจับยอดกระแส ไม่จำเป็นต้องตรวจจับจุดสูงสุดด้วย ADC ทรานซิสเตอร์ / ตัวเก็บประจุจะเข้ามาหาคุณ ตามที่กำหนดไว้แรงดันไฟฟ้าเอาต์พุตมีอคติ DC 2.2V แต่คุณสามารถเปลี่ยนสิ่งนั้นเป็นสิ่งที่คุณต้องการได้โดยการเปลี่ยนตัวต้านทานแบบตัวต้านทาน ด้วยวิธีนี้คุณสามารถทำให้อินพุตมีความไวมากขึ้นโดยเลือกการอ้างอิง bandgap 1V1 หรือ 2V56 ตัวต้านทาน 10M ทำให้แน่ใจว่าตัวเก็บประจุจะปล่อยประจุออกมาประมาณหนึ่งวินาทีและในความเป็นจริงแล้ว DMM ของฉัน
jippie

4

MySensors

- เรียนรู้วิธีสร้างเซ็นเซอร์ไร้สายราคาถูกของคุณเองและเชื่อมต่อกับโลก

http://www.mysensors.org

เราเรียกมันว่า"Internet of Your Things"

ลักษณะ

เราได้รวมแพลตฟอร์ม Arduino กับตัวรับส่งสัญญาณวิทยุขนาดเล็กเข้ากับโลกที่สนุกสนานยืดหยุ่นของเซ็นเซอร์ไร้สายราคาประหยัด

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

ง่ายเหมือน 1, 2, 3 Arduino + NRF24L01 +

  1. เชื่อมต่อชิ้นส่วน 2. ดาวน์โหลดตัวอย่างที่ให้มา 3. เริ่มต้นการวัดและควบคุมโลก!

อ่านเพิ่มเติมเกี่ยวกับวิธีการสร้างเครือข่ายเซ็นเซอร์โดยอัตโนมัติโดยใช้ Arduino Library บนเว็บไซต์ มันเป็นเครือข่ายดาวฤกษ์และสามารถไปถึงหลายร้อยเมตร

เครือข่ายเซ็นเซอร์

ตรงกลางคุณวางเกตเวย์ Arduion หรือ Raspberry ที่รวบรวมข้อมูลจากเซ็นเซอร์ของคุณ Raspberry Controller

Arduino เกตเวย์

การออกแบบและแผนงาน

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

คุณจะพบคำแนะนำการสร้างทั้งหมดที่นี่: http://www.mysensors.org/build/

เว็บไซต์ Othe ยังมีคำแนะนำการสร้างที่ง่ายต่อการติดตามสำหรับเซ็นเซอร์ไร้สายและแอคทูเอเตอร์อื่น ๆ อีกมากมาย นี่คือตัวอย่างบางส่วน:

เซ็นเซอร์วัดระยะทาง, เซ็นเซอร์ตรวจจับความเคลื่อนไหว, รีเลย์แอคชูเอเตอร์, ความชื้น, แสง, ความดัน, ฝน, อุณหภูมิ, ...

ข้อสรุป

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

สวัสดี

แล้วเจอกันที่ @ mysensors.org

/ Henrik Ekblad (ผู้สร้างห้องสมุด Open Source Arduino ที่ใช้สำหรับการสื่อสารระหว่างเซ็นเซอร์)

  • ปรับปรุง 27/3 ทำตัวอย่างที่เป็นรูปธรรมมากขึ้นและเพิ่มความร่วมมือของฉันกับโครงการโอเพ่นซอร์ส

4
ยินดีต้อนรับสู่ Arduino.SE! ฉันเกรงว่าเว็บไซต์ของคุณจะไม่ตรงกับเกณฑ์การแสดงของเรา เรากำลังมองหาโครงการเฉพาะที่แสดงให้เห็นถึงการใช้งานจริงของ Arduino (ดังที่เห็นในตัวอย่างอื่น ๆ ที่นี่) บางทีคุณอาจให้ตัวอย่างของโครงการเซ็นเซอร์ที่คุณสร้างขึ้น?
Peter Bloomfield

ตกลงบางทีฉันอาจพลาดจุดนี้ไป) "โครงการเฉพาะ" ที่นี่คือเราใช้ Arduinos เพื่อสร้างเครือข่ายเซ็นเซอร์ไร้สายด้วยตนเอง เพื่อเก็บสิ่งนี้เราได้สร้างไลบรารี Open Source Arduino สำหรับตัวรับส่งสัญญาณ NRF24L01
hek

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

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

ฉันได้พัฒนาห้องสมุด MySensors (โอเพ่นซอร์ส) นี้ในช่วง 6 เดือนที่ผ่านมาสำหรับเวลาว่างของฉัน เพื่อช่วยให้ผู้อื่นใช้ห้องสมุดอย่างถูกต้องเรา (ผู้คนจำนวนมากเข้าร่วมโครงการเมื่อสองสามเดือนที่ผ่านมา) เปิดตัวหน้าคำแนะนำการสร้างเมื่อ 3 วันก่อน ฉันคิดว่ามันจะเป็นโครงการ Arduino ที่ดีที่จะได้รับคำติชมใน "Project Showcase" ฉันไม่คิดว่าฉันได้พยายามซ่อนการมีส่วนร่วมในโครงการ แต่อย่างใดและฉันขอโทษถ้าคำอธิบายนั้นถูกมองว่าเป็นโฆษณา เรามีความสุขมากเกี่ยวกับโครงการ!
hek

4

กล่องอนุกรม

จอภาพแบบพกพาแบบอนุกรมในกล่อง

ลักษณะ

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

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

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

ออกแบบ

การออกแบบประกอบด้วยชุดของตัวอักษรและตัวเลข LCD 4 ตัว (16x2 ตัวอักษรแต่ละตัว) จัดเรียงในกล่องอย่างนี้:

การจำลอง 3 มิติของการออกแบบกล่องอนุกรม

จอแสดงผลเป็น Epson EAX16027AR ซึ่งน่าเสียดายที่ไม่สามารถใช้งานร่วมกับไดรเวอร์ Hitachi HD44780 มาตรฐานได้ ดังนั้นฉันต้องเขียนห้องสมุดของตัวเองเพื่อพวกเขา

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

ในแง่ของการออกแบบวงจรจอแสดงผลเชื่อมต่อแบบขนานโดยใช้พินเลือกชิปที่ใช้ในการส่งข้อมูล / คำสั่งไปยังแต่ละอันตามต้องการ

ATMega328 จะเป็นสมองของยูนิตสุดท้ายด้วยข้อมูลอนุกรมที่มาจากสายระดับ TTL (สำหรับเชื่อมต่อโดยตรงกับ TX ของ MCU ที่คล้ายกัน) หรือเลือกจากซ็อกเก็ต D-sub RS232 9-pin (สำหรับเชื่อมต่อกับ ระบบอื่น ๆ อีกมากมาย) เครื่องจะมีปุ่มหมุนความคมชัดปุ่มสำหรับล้างหน้าจอและปุ่มสำหรับเริ่มต้นโหมดทดสอบตัวเอง ในอนาคตฉันต้องการเพิ่มปุ่มที่อนุญาตให้ผู้ใช้เลื่อนดูประวัติ scrollback ด้วย

ด้านล่างนี้เป็นโครงร่างวงจรเบื้องต้น (ฉันมีปัญหามากมายในการทำให้ Fritzing เล่นได้อย่างดีด้วยเหตุผลบางอย่าง! มันมีการลงทะเบียน SIPO shift 8 บิตสำหรับการขับสายข้อมูลของ LCD ซึ่งแสดงเป็นสีเขียว คุณยังสามารถเห็นเส้นเลือกชิปเป็นสีส้ม

โครงร่างวงจรเบื้องต้น

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

ต้นแบบในการดำเนินการ

รหัสแหล่งที่มา

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

คุณสามารถค้นหารหัสพื้นฐานสำหรับต้นแบบ Serial Box ของฉันในโฟลเดอร์ "ตัวอย่าง"

ข้อสรุป

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

ฉันจะไปถึงที่นั่นในท้ายที่สุด มันอาจจะดูไม่สวยมากเมื่อฉันเสร็จแล้ว! :)


3

เครื่องควบคุมความร้อน

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

โครงการประกอบด้วยส่วนสำคัญไม่กี่: โคลน Arduino Arduino, โล่ Seeedstudio GSM, เซ็นเซอร์อุณหภูมิ DHT22 และ 25 amp SSR

มันทำงานอย่างไร:

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

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

เครื่องมีไฟ LED แสดงสถานะสามตัว สีเขียวหนึ่งอันเพื่อบ่งบอกว่ามีกำลังไฟสีน้ำเงินหนึ่งอันเพื่อระบุว่าบอร์ด GSM นั้นเป็น 'สด' และสีแดงหนึ่งอันเพื่อระบุสถานะของการให้ความร้อน สิ่งเหล่านี้เพิ่มเติมจาก LED แสดงสถานะบน Arduino และชิลด์ นอกจากนี้ยังมีสวิตช์ปุ่มกดที่ช่วยให้การควบคุมเครื่องทำความร้อนด้วยตนเองด้วยตัวเก็บประจุ 100nF เพื่อจัดการ debounce

ต่อไป:

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

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

ในระยะยาวฉันวางแผนที่จะเพิ่ม RTC ซึ่งเป็น LCD ขนาด 20 x 4 และปุ่มกดเพิ่มเติมเพื่อให้สามารถตั้งโปรแกรมและทำหน้าที่เป็นสวิตช์เวลาได้เช่นกัน

การสร้างต้นแบบได้เริ่มขึ้นแล้ว!

ข้อสรุป

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

อิมเมจคอนโทรลเลอร์ 1 อิมเมจคอนโทรลเลอร์ 2

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.