สารบัญ:

เซ็นเซอร์อุณหภูมิ TMP36 และจอแสดงผล LCD โดยใช้ Arduino (Tinkercad): 7 ขั้นตอน
เซ็นเซอร์อุณหภูมิ TMP36 และจอแสดงผล LCD โดยใช้ Arduino (Tinkercad): 7 ขั้นตอน

วีดีโอ: เซ็นเซอร์อุณหภูมิ TMP36 และจอแสดงผล LCD โดยใช้ Arduino (Tinkercad): 7 ขั้นตอน

วีดีโอ: เซ็นเซอร์อุณหภูมิ TMP36 และจอแสดงผล LCD โดยใช้ Arduino (Tinkercad): 7 ขั้นตอน
วีดีโอ: การวัดอุณหภูมิ ด้วย TMP36 + Tinkercad 2024, มิถุนายน
Anonim
เซ็นเซอร์อุณหภูมิ TMP36 และจอแสดงผล LCD โดยใช้ Arduino (Tinkercad)
เซ็นเซอร์อุณหภูมิ TMP36 และจอแสดงผล LCD โดยใช้ Arduino (Tinkercad)
เซ็นเซอร์อุณหภูมิ TMP36 และจอแสดงผล LCD โดยใช้ Arduino (Tinkercad)
เซ็นเซอร์อุณหภูมิ TMP36 และจอแสดงผล LCD โดยใช้ Arduino (Tinkercad)

สวัสดีทุกคน! เราเป็นนักศึกษาจากมหาวิทยาลัย Tun Hussein Onn Malaysia (UTHM) ดำเนินโครงการเพื่อสาธิตวิธีที่เราสามารถจำลองเซ็นเซอร์อุณหภูมิ จอ LCD และ Arduino โดยใช้ Tinkercad เป็นส่วนหนึ่งของหลักสูตรสำหรับ UQD0801 (Robocon 1) (กลุ่มที่ 7)

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

ขั้นตอนที่ 1: รายการส่วนประกอบที่จำเป็น

รายการส่วนประกอบที่จำเป็น
รายการส่วนประกอบที่จำเป็น

โครงการนี้ต้องการส่วนประกอบที่หาได้ง่ายมากในตลาด

รายการส่วนประกอบ:

1. Arduino Uno R3 (1)

2. เซ็นเซอร์อุณหภูมิ (TMP36) (1)

3. จอแอลซีดี 16x2 (1)

4. 250kΩโพเทนชิออมิเตอร์ (1)

5. ตัวต้านทาน 220Ω (1)

ขั้นตอนที่ 2: การเชื่อมต่อวงจรใน Tinkercad

การเชื่อมต่อวงจรใน Tinkercad
การเชื่อมต่อวงจรใน Tinkercad

Tinkercad มีวงจรที่สร้างไว้ล่วงหน้าซึ่งสามารถช่วยให้ผู้ใช้ไม่สร้างความซับซ้อนให้กับวงจรโดยการสร้างตั้งแต่เริ่มต้น

ใน Circuit Desinger เราสามารถค้นหา LCD ซึ่งจะแสดงว่ามีวงจรสตาร์ทที่มีวงจรเชื่อมต่อล่วงหน้าระหว่าง Arduino และ LCD

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

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

ใน Tinkercad มีเซ็นเซอร์อุณหภูมิเพียงตัวเดียวคือ TMP36

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

ขั้นตอนที่ 4: เชื่อมต่อ TMP36 กับ Arduino

เชื่อมต่อ TMP36 กับ Arduino
เชื่อมต่อ TMP36 กับ Arduino

TMP36 มี 3 พิน ซึ่งสามารถระบุได้ง่ายโดยสังเกตด้านแบนของเซ็นเซอร์

พินแรกคือพิน +5V ซึ่งจะเชื่อมต่อกับแหล่งจ่ายไฟ

ขาที่สองคือ Vout ซึ่งจะเชื่อมต่อกับขา Analog In (อาจเป็น A0-A5) เราใช้ A0 สำหรับโครงการนี้

พินที่สามคือพิน GND ซึ่งจะเชื่อมต่อกับกราวด์ของ Arduino

ขั้นตอนที่ 5: มาทำการเข้ารหัสกันเถอะ

มาทำการเข้ารหัสกันเถอะ!
มาทำการเข้ารหัสกันเถอะ!

เริ่มแรกจะมีโค้ดในตัวแก้ไขโค้ดที่พบใน Tinkercad

เนื่องจากเราใช้วงจรสตาร์ทจาก Tinkercad ในการโหลดโค้ดไปพร้อมกับวงจรเพื่อให้ผู้ใช้ใหม่สำรวจและจำลองเอาต์พุตได้

เราสามารถลบทั้งหมดนั้นและออกแบบโค้ดของเราได้

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

ซึ่งในกรณีนี้เราต้องการสองไลบรารี -Library สำหรับ LCD (LiquidCrystal.h)

-Library สำหรับการสื่อสารแบบอนุกรม (SoftwareSerial.h)

ไลบรารีทั้งสองนี้มีอยู่ใน Tinkercad ซึ่งหมายความว่าไม่จำเป็นต้องดาวน์โหลดไลบรารีใด ๆ จากแหล่งภายนอก

ดังนั้น; บรรทัดแรกของรหัสคือ

#รวม

#รวม

ขั้นตอนที่ 6: ส่วนที่เหลือของรหัส

รหัสที่เหลือ
รหัสที่เหลือ

// ใส่รหัสห้องสมุด:#include

#รวม

LiquidCrystal LCD (12, 11, 5, 4, 3, 2); // เชื่อมต่อพิน rs, en, d4, d5, d6, d7 กับ Arduino ที่พิน 12 11 5 4 3 2

int องศาเซลเซียส; //ประกาศฟังก์ชันเซลเซียสเป็นจำนวนเต็ม

การตั้งค่าเป็นโมฆะ ()

{

Serial.begin(9600); //กำหนดอัตราบอดที่ 9600 บิตต่อวินาที

lcd.begin(16, 2); // ขนาด LCD คือ 16x2 // พิมพ์ข้อความไปยัง LCD

lcd.print("แสดงอุณหภูมิ");

Serial.println ("แสดงอุณหภูมิ"); //พิมพ์ข้อความที่มอนิเตอร์แบบอนุกรม }

วงเป็นโมฆะ ()

{

เซลเซียส = map(((analogRead(A0) - 20) * 3.04), 0, 1023, -40, 125); // map to get temperature mathematically. Meaning 0 = -40degrees and 1023 = 125degrees

lcd.setCursor(0, 0); //เคอร์เซอร์ตั้งค่าเป็นพิกเซลแรกของจอแอลซีดี

lcd.print("แสดงอุณหภูมิ"); //พิมพ์ข้อความไปที่lcd

lcd.setCursor(0, 1);//เคอร์เซอร์ตั้งค่าเป็นบรรทัดที่สองพิกเซลแรก

lcd.print(เซลเซียส); // พิมพ์เอาต์พุตเซลเซียสจากการอ่านแบบอะนาล็อกลงบนจอ LCD ที่ 0, 1

lcd.print ("C"); //พิมพ์ตัวอักษร "c"

Serial.println (เซลเซียส); //เอาต์พุตที่แสดงในมอนิเตอร์แบบอนุกรม

ล่าช้า (1000); // การอ่านจะรีเฟรชทุก 1 วินาที

lcd.clear(); //ล้างจอแอลซีดี

}

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

แนะนำ: