สารบัญ:

Arduino DIY Analog Thermometer: 7 ขั้นตอน (พร้อมรูปภาพ)
Arduino DIY Analog Thermometer: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino DIY Analog Thermometer: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino DIY Analog Thermometer: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: DIY Digital Thermometer | Temperature & Humidity Display | Step-by-step Arduino Project 2024, พฤศจิกายน
Anonim
Image
Image
Arduino DIY เทอร์โมมิเตอร์แบบอะนาล็อก
Arduino DIY เทอร์โมมิเตอร์แบบอะนาล็อก
Arduino DIY เทอร์โมมิเตอร์แบบอะนาล็อก
Arduino DIY เทอร์โมมิเตอร์แบบอะนาล็อก

เพื่อนๆที่รักยินดีต้อนรับสู่การกวดวิชาอื่น!

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

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

ตอนนี้เรามาดูกันว่าจะบรรลุผลได้อย่างไร

ขั้นตอนที่ 1: รับชิ้นส่วนทั้งหมด

รับอะไหล่ทั้งหมด
รับอะไหล่ทั้งหมด

ชิ้นส่วนที่เราต้องการในวันนี้มีดังนี้:

  • Arduino Uno ▶
  • เซนเซอร์ DS18B20 ▶
  • โวลต์มิเตอร์แบบอนาล็อก ▶
  • 3 in 1 สายไฟ ▶
  • พาวเวอร์แบงค์ ▶

ค่าใช้จ่ายของโครงการอยู่ที่ประมาณ 9 เหรียญ

ขั้นตอนที่ 2: เซ็นเซอร์อุณหภูมิ DS18B20

เซ็นเซอร์อุณหภูมิ DS18B20
เซ็นเซอร์อุณหภูมิ DS18B20

DS18B20 เป็นเทอร์โมมิเตอร์แบบดิจิตอลที่สามารถวัดอุณหภูมิได้อย่างแม่นยำในช่วง -10°C ถึง +85°C และยังมีฟังก์ชันการเตือนและจุดทริกเกอร์

เป็นเซ็นเซอร์ที่ใช้งานง่ายมากเพราะใช้อินเทอร์เฟซ One-Wire ดังนั้น เราจำเป็นต้องต่อสายเพียงเส้นเดียวเพื่อให้ใช้งานได้! ฉันเคยใช้เซ็นเซอร์นี้มามากแล้ว และฉันจะใช้มันอย่างมากในอนาคตด้วยเพราะว่ามันใช้งานง่ายและแม่นยำ

ค่าใช้จ่ายของเซ็นเซอร์อยู่ที่ประมาณ 2 เหรียญ

สามารถดาวน์โหลดได้ที่นี่ ▶

ขั้นตอนที่ 3: โวลต์มิเตอร์แบบอนาล็อก DC 0-5V

DC อนาล็อกโวลต์มิเตอร์ 0-5V
DC อนาล็อกโวลต์มิเตอร์ 0-5V

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

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

ค่าใช้จ่ายของโวลต์มิเตอร์อยู่ที่ประมาณ 2.5 เหรียญ

สามารถดาวน์โหลดได้ที่นี่ ▶

ขั้นตอนที่ 4: วิธีควบคุมโวลต์มิเตอร์ด้วย Arduino

วิธีควบคุมโวลต์มิเตอร์ด้วย Arduino
วิธีควบคุมโวลต์มิเตอร์ด้วย Arduino
วิธีควบคุมโวลต์มิเตอร์ด้วย Arduino
วิธีควบคุมโวลต์มิเตอร์ด้วย Arduino
วิธีควบคุมโวลต์มิเตอร์ด้วย Arduino
วิธีควบคุมโวลต์มิเตอร์ด้วย Arduino

ขั้นแรกมาดูวิธีการควบคุมโวลต์มิเตอร์ด้วย Arduino เราเชื่อมต่อด้านบวกของโวลต์มิเตอร์กับพินดิจิตอล 9 และด้านลบกับ GND เนื่องจาก Arduino Uno ไม่มีตัวแปลงดิจิทัลเป็นแอนะล็อก เราจึงต้องใช้พิน PWM ตัวใดตัวหนึ่งเพื่อเขียนค่าแอนะล็อกไปยังพินดิจิทัลของ Arduino การปรับความกว้างพัลส์เป็นเทคนิคในการรับผลลัพธ์แบบอะนาล็อกด้วยวิธีดิจิทัล แทนที่จะเขียน HIGH ไปที่พินดิจิทัล ด้วย PWM เราส่งพัลส์ PWM ติดอยู่กับพินบางตัวของ Arduino Uno หมุดดิจิทัลที่สนับสนุน PWM มีสัญลักษณ์นี้อยู่ข้างๆ ~

ในการส่งค่าไปยังโวลต์มิเตอร์ เราใช้คำสั่ง analogWrite และเราเขียนค่าตั้งแต่ 0 ถึง 255 ดังนั้น ถ้าเราเขียน 0 โวลต์มิเตอร์จะแสดง 0V และถ้าเราเขียน 255 โวลต์มิเตอร์จะแสดงเป็น 5V เราสามารถเขียนค่าอื่นใดระหว่าง 0 ถึง 255 โวลต์มิเตอร์จะไปยังตำแหน่งที่เหมาะสม ดังนั้น หากเราต้องการให้โวลต์มิเตอร์แสดง 2.5V เราต้องเรียกคำสั่ง analogWrite(9, 128) ยอดเยี่ยม! ตอนนี้เราสามารถควบคุมเข็มโวลต์มิเตอร์ได้ตามต้องการ!

ขั้นตอนที่ 5: สร้างเทอร์โมมิเตอร์แบบอะนาล็อก

การสร้างเทอร์โมมิเตอร์แบบอะนาล็อก
การสร้างเทอร์โมมิเตอร์แบบอะนาล็อก
การสร้างเทอร์โมมิเตอร์แบบอะนาล็อก
การสร้างเทอร์โมมิเตอร์แบบอะนาล็อก
การสร้างเทอร์โมมิเตอร์แบบอะนาล็อก
การสร้างเทอร์โมมิเตอร์แบบอะนาล็อก

ตอนนี้เรามาแปลงโวลต์มิเตอร์เป็นเทอร์โมมิเตอร์กัน

ก่อนอื่นเราต้องเชื่อมต่อเซ็นเซอร์ DS18B20 เราเชื่อมต่อพินด้วยเครื่องหมาย – กับ Arduino GND พินที่มีเครื่องหมาย + เป็น 5V และพินสัญญาณกับพินดิจิทัล 2 เท่านั้น

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

ขั้นตอนที่ 6: รหัสของโครงการ

รหัสโครงการ
รหัสโครงการ

ตอนนี้เรามาดูโค้ดของโปรเจ็กต์กันอย่างรวดเร็วเพื่อทำความเข้าใจว่ามันทำงานอย่างไร

เราต้องการไลบรารี DallasTemperature ในโค้ดเพื่อคอมไพล์ รับอยู่ที่นี่:

รหัสนั้นง่ายมาก ก่อนอื่นเราอ่านอุณหภูมิจากเซ็นเซอร์ ต่อไปเราจะส่งค่าอุณหภูมิไปยังฟังก์ชัน temperatureToPWM ฟังก์ชันนี้จะแปลงอุณหภูมิเป็นค่า PWM จาก 0 ถึง 255 โดยใช้ฟังก์ชันแผนที่ ต่อไป สิ่งที่เราต้องทำคือเขียนค่า PWM นี้ที่โวลต์มิเตอร์ คุณยังสามารถกำหนดอุณหภูมิสูงสุดและต่ำสุดที่แผงมิเตอร์ของคุณสามารถแสดงได้โดยการเปลี่ยนค่าตัวแปรทั่วโลก MIN_TEMP และ MAX_TEMP ยิ่งช่องว่างระหว่างสองค่านี้เล็กลงเท่าใด ความละเอียดของแผงหน้าปัดก็จะยิ่งมากขึ้นเท่านั้น

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

ขั้นตอนที่ 7: ทดสอบโครงการ

ทดสอบโครงการ
ทดสอบโครงการ

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

ฉันชอบรูปลักษณ์ของแผงมิเตอร์แบบแอนะล็อกเหล่านี้มาก ดังนั้นฉันจึงจะสร้างโครงการต่างๆ ร่วมกับพวกเขา ในวิดีโอหน้าฉันจะออกแบบและพิมพ์ 3 มิติตู้วินเทจสำหรับเทอร์โมมิเตอร์แบบแอนะล็อกที่เราสร้างขึ้นในวันนี้ ฉันจะใช้ Arduino nano เพื่อทำให้สิ่งต่าง ๆ กะทัดรัดยิ่งขึ้น และเพิ่ม LEDS แบบกระจายสีเหลืองเพื่อส่องสว่างแผงในเวลากลางคืน ฉันคิดว่ามันจะเย็น

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

แนะนำ: