11 ARDUINO - เทอร์โมมิเตอร์ LED แบบแอนะล็อก
ARDUINO - เทอร์โมมิเตอร์ LED แบบแอนะล็อก
บทนำ: Arduino - เทอร์โมมิเตอร์ LED แบบอะนาล็อก
ตอนแรกผมคิดว่าโครงการนี้อาจจะมีพื้นฐานในการแชร์กับ Instructables แต่ผมรู้แล้วว่ามีพื้นที่สำหรับการเรียนรู้ในทุกระดับทักษะ ฉันหวังว่าคุณจะสนุกกับมัน.
หลังจากอ่านหนังสือหลายเล่มและทดลองบทเรียนหลายเรื่องแล้วฉันตัดสินใจว่าถึงเวลาที่จะใช้สิ่งที่ฉันได้เรียนรู้และสร้างโครงการ "เริ่มต้น" จาก Arduino เป็นครั้งแรก ฉันต้องการให้มันง่าย แต่ยังมีโอกาสที่จะลองใช้เทคนิคการเขียนโค้ดใหม่ ๆ ที่ฉันได้เรียนรู้
ฉันมากับแนวคิดของเทอร์โมมิเตอร์แบบแสดงผลขนาดใหญ่ที่ใช้อาร์เรย์ของ LED สีเพื่อแสดงคอลัมน์แบบดั้งเดิมของของเหลว ในทางทฤษฎีโครงการที่เสร็จสมบูรณ์ประเภทนี้อาจอยู่ในตู้และแขวนไว้บนผนังซึ่งจะสามารถอ่านได้จากระยะไกล
หลังจากอ่านหนังสือหลายเล่มและทดลองบทเรียนหลายเรื่องแล้วฉันตัดสินใจว่าถึงเวลาที่จะใช้สิ่งที่ฉันได้เรียนรู้และสร้างโครงการ "เริ่มต้น" จาก Arduino เป็นครั้งแรก ฉันต้องการให้มันง่าย แต่ยังมีโอกาสที่จะลองใช้เทคนิคการเขียนโค้ดใหม่ ๆ ที่ฉันได้เรียนรู้
ฉันมากับแนวคิดของเทอร์โมมิเตอร์แบบแสดงผลขนาดใหญ่ที่ใช้อาร์เรย์ของ LED สีเพื่อแสดงคอลัมน์แบบดั้งเดิมของของเหลว ในทางทฤษฎีโครงการที่เสร็จสมบูรณ์ประเภทนี้อาจอยู่ในตู้และแขวนไว้บนผนังซึ่งจะสามารถอ่านได้จากระยะไกล
ขั้นที่ 1: อะไหล่ที่ฉันใช้
1- Arduino UNO
1- เขียงหั่นขนม
1- Protoshield (อุปกรณ์เสริม)
1- TMP36 เซ็นเซอร์อุณหภูมิ
16- 10mm, ไฟ LED พร่าเลนส์ (สีฟ้า, สีเขียว, สีเหลือง, สีแดง)
16 330 โอห์ม 1 / 4W ต้านทาน
2- 74HC595 เปลี่ยนแปลงการลงทะเบียนของวงจรรวม
สายจัมเปอร์
1- เขียงหั่นขนม
1- Protoshield (อุปกรณ์เสริม)
1- TMP36 เซ็นเซอร์อุณหภูมิ
16- 10mm, ไฟ LED พร่าเลนส์ (สีฟ้า, สีเขียว, สีเหลือง, สีแดง)
16 330 โอห์ม 1 / 4W ต้านทาน
2- 74HC595 เปลี่ยนแปลงการลงทะเบียนของวงจรรวม
สายจัมเปอร์
ขั้นที่ 2: การประกอบ
การพิจารณาที่สำคัญอย่างหนึ่งเมื่อเริ่มการชุมนุมคือการรับไฟ LED ทั้งหมด 16 ดวงให้พอดีกับการเว้นระยะห่างอย่างสม่ำเสมอบนกระดานทำบอร์ด ฉันพบว่าฉันมีห้องเพียงพอที่จะพอดีกับพวกเขาบนเมนบอร์ด 4 "x6" ของฉันที่มีไฟ LED บนและล่างเอนตัวเล็กน้อยด้านนอก หลังจากนั้นก็เป็นเพียงเรื่องของการวางองค์ประกอบอื่น ๆ ในสถานที่ที่สะดวกและตรรกะเพื่ออำนวยความสะดวกการเชื่อมต่อสายจัมเปอร์มาก เพียงเชื่อมต่อทุกอย่างตามที่แสดงในแผนภาพ Fritzing และ / หรือตามความคิดเห็นในร่าง
ฉันรู้สึกกังวลเล็กน้อยเกี่ยวกับการใช้พลังงานในกรณีที่ไฟ LED ทั้ง 16 ดวงสว่างขึ้นในเวลาเดียวกัน เอาท์พุท 5v บน Arduino มีคะแนนสูงสุด 500ma พิจารณา resistors ฉันเลือกฉันประเมินว่าจอแสดงผลควรใช้น้อยกว่า 300ma. แต่ฉันไม่เคยคิดที่จะวัดได้จริงเมื่อโครงการเสร็จสิ้น กำลังไฟ LED แต่ละดวงลอดผ่านหมุดในชิปที่เปลี่ยนลงเพื่อให้อาร์เรย์เต็มรูปแบบจากขาออกของ Arduino ไม่เป็นปัญหา
หมายเหตุ: การใช้ protoshield เป็นตัวเลือก คุณสามารถเชื่อมต่อ TMP36 กับ breadboard ได้อย่างง่ายดาย (ตามที่แสดงในแผนภาพ Fritzing) ฉันเพิ่งพบว่าสะดวกในการแยกการแสดงผลและการตรวจจับบางส่วนของโครงการ
หลังจากที่ฉันได้ทำงานฮาร์ดแวร์ฉันคิดค้นตัวอย่างแม่แบบอาจจะใส่รอบ LEDs เพื่อแสดงพร้อมกับสีอุณหภูมิที่ถูกรู้สึก (ไฟล์ PDF)
ฉันรู้สึกกังวลเล็กน้อยเกี่ยวกับการใช้พลังงานในกรณีที่ไฟ LED ทั้ง 16 ดวงสว่างขึ้นในเวลาเดียวกัน เอาท์พุท 5v บน Arduino มีคะแนนสูงสุด 500ma พิจารณา resistors ฉันเลือกฉันประเมินว่าจอแสดงผลควรใช้น้อยกว่า 300ma. แต่ฉันไม่เคยคิดที่จะวัดได้จริงเมื่อโครงการเสร็จสิ้น กำลังไฟ LED แต่ละดวงลอดผ่านหมุดในชิปที่เปลี่ยนลงเพื่อให้อาร์เรย์เต็มรูปแบบจากขาออกของ Arduino ไม่เป็นปัญหา
หมายเหตุ: การใช้ protoshield เป็นตัวเลือก คุณสามารถเชื่อมต่อ TMP36 กับ breadboard ได้อย่างง่ายดาย (ตามที่แสดงในแผนภาพ Fritzing) ฉันเพิ่งพบว่าสะดวกในการแยกการแสดงผลและการตรวจจับบางส่วนของโครงการ
หลังจากที่ฉันได้ทำงานฮาร์ดแวร์ฉันคิดค้นตัวอย่างแม่แบบอาจจะใส่รอบ LEDs เพื่อแสดงพร้อมกับสีอุณหภูมิที่ถูกรู้สึก (ไฟล์ PDF)
ขั้นที่ 3: ร่าง Arduino
ฉันได้ใช้ลงทะเบียนเปลี่ยนหลายโครงการก่อนหน้านี้จึงไม่ยากเกินไปที่จะปรับรหัสที่จำเป็นสำหรับเครื่องวัดอุณหภูมิของฉัน ฉันคิดว่ามันจะเป็นประโยชน์ที่จะสามารถกำหนดช่วงของอุณหภูมิที่ LEDs จะแสดงดังนั้นฉันจึงรวม MAX และ MIN ตัวแปรที่จะตั้งอยู่ภายในร่าง
ฉันต่อสู้กับวิธีที่สง่างามมากขึ้นในการกำหนดจุดตัดอุณหภูมิสำหรับแต่ละ LED จะได้รับการทดสอบ แต่ในที่สุดก็ยอมรับความพ่ายแพ้และไปกับรายการ IF-ELSE IF ที่ยาวนาน ฉันตระหนักว่าในกรณีที่มีไฟ LED ทั้งหมดหรือไม่มีไฟคุณจะไม่สามารถบอกได้ว่าอุณหภูมิอยู่ที่หรือดีกว่าขีด จำกัด ที่กำหนดเท่านั้น ดังนั้นจึงมีการทดสอบที่จะกระพริบทั้งบนหรือล่าง LED เพื่อแสดงว่าการอ่านเซ็นเซอร์อยู่นอกช่วงของจอแสดงผล สุดท้าย (ส่วนใหญ่เป็นเพราะชอบดูฉูดฉาด, thingys LED) ผมเพิ่มการทดสอบตัวเองของการแสดงผลที่ไฟขึ้นที่ไฟ LED ทั้งหมดในลำดับ
ฉันต่อสู้กับวิธีที่สง่างามมากขึ้นในการกำหนดจุดตัดอุณหภูมิสำหรับแต่ละ LED จะได้รับการทดสอบ แต่ในที่สุดก็ยอมรับความพ่ายแพ้และไปกับรายการ IF-ELSE IF ที่ยาวนาน ฉันตระหนักว่าในกรณีที่มีไฟ LED ทั้งหมดหรือไม่มีไฟคุณจะไม่สามารถบอกได้ว่าอุณหภูมิอยู่ที่หรือดีกว่าขีด จำกัด ที่กำหนดเท่านั้น ดังนั้นจึงมีการทดสอบที่จะกระพริบทั้งบนหรือล่าง LED เพื่อแสดงว่าการอ่านเซ็นเซอร์อยู่นอกช่วงของจอแสดงผล สุดท้าย (ส่วนใหญ่เป็นเพราะชอบดูฉูดฉาด, thingys LED) ผมเพิ่มการทดสอบตัวเองของการแสดงผลที่ไฟขึ้นที่ไฟ LED ทั้งหมดในลำดับ
ขั้นตอนที่ 4: ข้อสรุป
ตอนแรกฉันสร้างโครงการนี้ขึ้นมาเมื่อปีที่แล้วและยาวนานนับตั้งแต่ถอดชิ้นส่วน ในการหวนกลับผมมีความคิดและความเข้าใจเพิ่มเติมดังนี้:
- ควรจะเพิ่มตัวควบคุมการหรี่แสงลงบนจอแสดงผลโดยการใช้สัญญาณ PWM ไปยังหมุด OE ของรีจิสเตอร์ ความสว่างของจอแสดงผลสามารถปรับได้ด้วยตนเองโดยใช้โพเทนชิออมิเตอร์หรือโดยอัตโนมัติด้วยกล้องเซลล์แสงอาทิตย์
- ในขณะที่โครงการนี้ถูกสร้างขึ้นเพื่อแสดงอุณหภูมิผมคิดว่ามันสามารถปรับให้แสดงข้อมูลจากประเภทใด ๆ ของเซ็นเซอร์ความชื้นเสียงหรือระดับของเหลวเช่น
- บางทีสักวันหนึ่งฉันจะทบทวนปัญหาอื่น ๆ หากเป็นเช่นนั้น บางทีบางส่วนของคุณ coders ผู้เชี่ยวชาญออกมีสามารถโยนฉัน :-) กระดูก
- ควรจะเพิ่มตัวควบคุมการหรี่แสงลงบนจอแสดงผลโดยการใช้สัญญาณ PWM ไปยังหมุด OE ของรีจิสเตอร์ ความสว่างของจอแสดงผลสามารถปรับได้ด้วยตนเองโดยใช้โพเทนชิออมิเตอร์หรือโดยอัตโนมัติด้วยกล้องเซลล์แสงอาทิตย์
- ในขณะที่โครงการนี้ถูกสร้างขึ้นเพื่อแสดงอุณหภูมิผมคิดว่ามันสามารถปรับให้แสดงข้อมูลจากประเภทใด ๆ ของเซ็นเซอร์ความชื้นเสียงหรือระดับของเหลวเช่น
- บางทีสักวันหนึ่งฉันจะทบทวนปัญหาอื่น ๆ หากเป็นเช่นนั้น บางทีบางส่วนของคุณ coders ผู้เชี่ยวชาญออกมีสามารถโยนฉัน :-) กระดูก
ความคิดเห็น
แสดงความคิดเห็น