สารบัญ:

Arduino Nano และเซ็นเซอร์อุณหภูมิ DS18B20 สองตัวพร้อม I2C LCD: 5 ขั้นตอน
Arduino Nano และเซ็นเซอร์อุณหภูมิ DS18B20 สองตัวพร้อม I2C LCD: 5 ขั้นตอน

วีดีโอ: Arduino Nano และเซ็นเซอร์อุณหภูมิ DS18B20 สองตัวพร้อม I2C LCD: 5 ขั้นตอน

วีดีโอ: Arduino Nano และเซ็นเซอร์อุณหภูมิ DS18B20 สองตัวพร้อม I2C LCD: 5 ขั้นตอน
วีดีโอ: How to use DS18B20 Digital Temperature sensor with Arduino and View on LCD I2C | DS18B20 sensor 2024, พฤศจิกายน
Anonim
Arduino Nano และเซ็นเซอร์อุณหภูมิ DS18B20 สองตัวพร้อม I2C LCD
Arduino Nano และเซ็นเซอร์อุณหภูมิ DS18B20 สองตัวพร้อม I2C LCD

วันนี้ฉันต้องการแสดงวิธีทำเซ็นเซอร์อุณหภูมิสองตัว DS18B20 ด้วย Arduino Nano Clone และ I2C LCD. // Dnes bych vam chtel ukazat, jak zprovoznit dve teplotni cidla DS18B20 s Arduino Nano klonem และ I2C displejem

ฉันใช้ Arduino IDE 1.8.8 // Pouzivam Arduino ve verzi 1.8.8 (toho casu aktualni verze)

ในความคิดเห็นคุณสามารถดู // ภาษาเช็ก

เราจำเป็นต้องวัดอุณหภูมิสองจุดและแสดงอุณหภูมิเหล่านี้บนจอแสดงผล อย่างที่คุณเห็น เรามีจอแสดงผล I2C ขนาด 16x2 ซึ่งหมายความว่า 1 แถว = 1 อุณหภูมิ

// Potrebujeme บุญ dve teploty a tyto teploty zobrazit na displeji. // Jak jste si vsimli, mame 16x2 displej v nasem pripade ถึง znamena 1 radek = 1 teplota

ขั้นตอนที่ 1: เตรียม // Priprava

เตรียมตัว // ปริประวา
เตรียมตัว // ปริประวา
เตรียมตัว // ปริประวา
เตรียมตัว // ปริประวา
เตรียมตัว // ปริประวา
เตรียมตัว // ปริประวา

สิ่งที่เราต้องการ // Co budeme potrebovat:

  • 1x Arduino Nano หรือ Clone (ฉันมีโคลนที่เข้ากันได้กับ CH341)
  • 1x I2C LCD (ฉันมี 16x2 พร้อมแสงไฟสีน้ำเงิน)
  • 2x เซ็นเซอร์อุณหภูมิ Dallas DS18B20 (ฉันมีรุ่นกันน้ำ)
  • ตัวต้านทาน 1x 4, 7k

ฉันแนะนำ:

  • Arduino Nano terminal shield (พร้อมสกรู) // Doporucuji pro instalaci Arduino Nano terminal shield
  • สำหรับวงจรประกอบการทดสอบ เราสามารถใช้เขียงหั่นขนม // pro otestovani pouzijeme nepajive pole

ข้อมูล:

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

// Pro uzivatele Win10 64bit, มีปัญหากับ najit funcni ovladace Vsechny doporucovane ovladace // (vcetne ovladacu na strankach obchodu) เนฟุงโกวาลี โปรโต jsem pridal v mem pripade funkcni ovladace ke // stazeni. Aktualni verzi ovladacu, muzete stahnout zde

วิธีการติดตั้งไดรเวอร์สั้น ๆ:

  • ดาวน์โหลด drivers.zip //Stahnete ovladace
  • แตกไฟล์ drivers.zip ลงในโฟลเดอร์
  • ติดตั้งไดรเวอร์ // Nainstalujte ovladace
  • เชื่อมต่อ Arduino Nano // Pripojte Arduino Nano

ไดรเวอร์ที่ติดตั้งอย่างถูกต้องคุณสามารถตรวจสอบได้ใน Windows Device Manager

// Spravne nainstalovane ovladace muzete zkontrolovat และ Spravci zarzeni Windows

ตอนนี้เราสามารถรัน Arduino IDE ได้แล้ว // Nyni muzeme spustit Arduino IDE

เราต้องเลือกตัวเลือกที่ถูกต้องใน Arduino IDE ในกรณีของเราคือ // V Arduino IDE musite vybrat spravne nastaveni

  • บอร์ดขวา Arduino Nano // Arduino desku
  • สำหรับ Nano Clone (ตัวโหลดเก่า 328P) // Pro klon vybereme (ตัวโหลดรุ่นเก่า)
  • พอร์ตสื่อสาร // พอร์ต komunikacni

ขั้นตอนที่ 2: การประกอบวงจร // Zapojeni Obovdu

การประกอบวงจร // Zapojeni Obovdu
การประกอบวงจร // Zapojeni Obovdu
การประกอบวงจร // Zapojeni Obovdu
การประกอบวงจร // Zapojeni Obovdu

เซ็นเซอร์อุณหภูมิช่วยให้เดินสายกาฝาก สิ่งนี้จะไม่อธิบายไว้ที่นี่ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเดินสายกาฝาก ใช้ google.com

// parazitni zapojeni teplotnich senzoru zde nebudu popisovat. Pokud chcete รองข้อมูล o parazitickem zapojeni cidel pouzijte google.com

ข้อมูล:

  • PIN A4 - SDA
  • PIN A5 - SCL

คำเตือน:

บัดกรีและดีบุกสามารถ HOT!;-) // Neopalit se, เจอ zaklad;-)

ภาพที่สองเป็นผลที่เป็นไปได้

ขั้นตอนที่ 3: Arduino IDE ค้นหาที่อยู่

Arduino IDE ค้นหาที่อยู่
Arduino IDE ค้นหาที่อยู่

สมมติว่าทุกอย่างใช้งานได้เราสามารถเรียกใช้ Arduino IDE // Za predpokladu, ze vse funguje, muzeme spustit Arduino IDE

ขั้นตอนนี้มีสามขั้นตอนย่อย: // Tento krok ma tri dilci kroky

  1. ค้นหาที่อยู่ I2C LCD // Najdeme adresu I2C displeje
  2. ค้นหาเซ็นเซอร์อุณหภูมิที่อยู่ ROM // Najdeme adresu teplotnich cidel
  3. รหัสเทอร์โมมิเตอร์ของเรา // nas vlastni kod
  4. ค้นหา / ตรวจสอบที่อยู่ I2C วิธีที่ง่ายที่สุดในการค้นหาที่อยู่คือใช้ I2C_scanner.inoCopy ที่เตรียมไว้ไปยัง Arduino IDE อัปโหลดไปยัง BoardShow serial Monitor (คัดลอกที่อยู่เราต้องการ)
  5. ค้นหาที่อยู่ ROM ทำซ้ำขั้นตอนแรกด้วย DS18B20_finder.inoShow serial Monitor (คัดลอกที่อยู่เราต้องการ)

รหัสของเราเองเป็นขั้นตอนต่อไป…

ขั้นตอนที่ 4: รหัสและคุณสมบัติของ Arduino IDE // Vlastni Kod Teplomeru a Funkce

รหัสและคุณสมบัติของ Arduino IDE // Vlastni Kod Teplomeru a Funkce
รหัสและคุณสมบัติของ Arduino IDE // Vlastni Kod Teplomeru a Funkce
รหัสและคุณสมบัติของ Arduino IDE // Vlastni Kod Teplomeru a Funkce
รหัสและคุณสมบัติของ Arduino IDE // Vlastni Kod Teplomeru a Funkce
รหัสและคุณสมบัติของ Arduino IDE // Vlastni Kod Teplomeru a Funkce
รหัสและคุณสมบัติของ Arduino IDE // Vlastni Kod Teplomeru a Funkce
รหัสและคุณสมบัติของ Arduino IDE // Vlastni Kod Teplomeru a Funkce
รหัสและคุณสมบัติของ Arduino IDE // Vlastni Kod Teplomeru a Funkce

เรามีข้อมูลที่จำเป็นทั้งหมด มาดูโค้ดของตัวเองกัน // Mame vsechny potrebne informace, pojdme se podivat na nas kod

ข้อมูล: แน่นอนว่าขั้นตอนสำคัญทั้งหมดในภาพถ่ายมีการแสดงความคิดเห็น // Vsechny dulezite kroky na fotografiich jsou komentovany

ความละเอียดข้อมูลจำเพาะ: // Specifikace rozliseni teplotnich senzoru

ความละเอียด / เพิ่ม / เวลา

9 บิต / 0.5 องศา C / 93.75 mSec10 บิต / 0.25 องศา C / 187.5 mSec11 บิต / 0.125 องศา C / 375 mSec12 บิต / 0.0625 องศา C / 750 mSec

เครื่องวัดอุณหภูมิ char

ไบต์ teplomer [8] = // การเข้ารหัสเทอร์โมมิเตอร์ถ่าน (vytvoreni znak teplomeru) { B00100, B01010, B01010, B01110, B01110, B11111, B11111, B01110 };

หากคุณต้องการอักษรตัวอื่น คุณสามารถสร้างได้ที่ไซต์นี้

// Pokud chcete vytvorit jakykoli vlastni znak, muzete pouzit tento เครื่องกำเนิดไฟฟ้า

ถ่านเซลเซียส (°)

lcd.print((ถ่าน)223);

การจำกัดตำแหน่งทศนิยม // Omezeni poctu desetinnych mist

ถ้าด้วยเหตุผลบางอย่างคุณต้องการทศนิยมเพียงตำแหน่งเดียว

// Pokud z nějakého důvodu potřebujete pouze jedno desetinné místo

lcd.print(read_temperature(), 1); // 1 (ตัวเลข 1 ระบุจำนวนตำแหน่งทศนิยม)

// Cislo 1 udava pocet desetinnych หมอก

ขั้นตอนที่ 5: เสร็จสิ้น - คลังภาพ // Konec - Galerie

เสร็จสิ้น - แกลลอรี่ // Konec - Galerie
เสร็จสิ้น - แกลลอรี่ // Konec - Galerie
เสร็จสิ้น - แกลลอรี่ // Konec - Galerie
เสร็จสิ้น - แกลลอรี่ // Konec - Galerie
เสร็จสิ้น - แกลลอรี่ // Konec - Galerie
เสร็จสิ้น - แกลลอรี่ // Konec - Galerie

และสุดท้ายไม่กี่คำ…?

ฉันหวังว่ามันจะมีประโยชน์และช่วยเรา

คุณสมบัติหลายอย่างสามารถมีมากขึ้นเรื่อย ๆ แต่ในกรณีของฉัน มันคือทั้งหมดที่ฉันต้องการ

นั่นคือเพื่อนทั้งหมด!!

//

Par slov na zaver?

ดูฟาม, ze jsem nam pomohl. Mnoho funkci muze byt pridano a mohou byt lepsi, ale v mem pripade to bylo vse co potrebuji.

ถึง je vse, ปราเตเล่!!

แนะนำ: