جدول المحتويات:

ميزان حرارة رقمي مع اردوينو و DS18B20: 7 خطوات
ميزان حرارة رقمي مع اردوينو و DS18B20: 7 خطوات

فيديو: ميزان حرارة رقمي مع اردوينو و DS18B20: 7 خطوات

فيديو: ميزان حرارة رقمي مع اردوينو و DS18B20: 7 خطوات
فيديو: Using the DS18B20 thermometer on the web server and OLED | ds18b20 temperature sensor Arduino 2024, يوليو
Anonim
ميزان حرارة رقمي مع اردوينو و DS18B20
ميزان حرارة رقمي مع اردوينو و DS18B20
ميزان حرارة رقمي مع اردوينو و DS18B20
ميزان حرارة رقمي مع اردوينو و DS18B20

ما عليك سوى إنشاء مقياس حرارة رقمي يمكنه إخبارك بدرجة حرارة الغرفة الحالية على شاشة LCD. هذا مشروع مبتدئين. الجهاز الذي تحتاجه: 1. Arduino UNO R3 2. مستشعر درجة الحرارة DS18B20. 3. شاشة عرض LCD مقاس 16 × 2. 4. توصيل الأسلاك. 5. لوحة المشروع. الآن لنصنع مقياس حرارة رقمي … هذا هو برنامج Atmega168 pinouts for arduino. ما عليك سوى تخطي هذا إذا كنت تريد عمل مقياس الحرارة هذا باستخدام اردوينو الخاص بك.

الخطوة 1: اصنع Arduino على اللوح

جعل Arduino على اللوح
جعل Arduino على اللوح

من السهل جدًا إنشاء اردوينو على لوح الاستراحة. الآن يتم تقديم إجراء الأسلاك خطوة بخطوة أدناه: 1. دبوس 7 -> + 5 فولت 2. Pin8 -> GND 3. Pin9 -> Crystal -> مكثف 22pF -> GND 4. Pin10-> Crystal -> 22pF مكثف -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> + 5V 7. Pin1-> 10K registor to GND + زر الضغط إلى + 5V أنت الآن جاهز ………………..

الخطوة 2: توصيل شاشة LCD

توصيل شاشات الكريستال السائل
توصيل شاشات الكريستال السائل

الخطوة 3: توصيل جهاز استشعار درجة الحرارة DS18B20

توصيل جهاز استشعار درجة الحرارة DS18B20
توصيل جهاز استشعار درجة الحرارة DS18B20

الخطوة 4: تحضير الدائرة

تحضير الدائرة
تحضير الدائرة

قم بتوصيل شاشة LCD بـ atmega أو arduino وفقًا لمثال LCD الافتراضي على اردوينو IDE. الآن قم بتوصيل ناقل بيانات DS1307 بـ DIGITAL PIN 7 (Atmega pin 13)

الخطوة 5: كود اردوينو

# تضمين # تضمين # تضمين int DS18S20_Pin = 7 ؛ // DS18S20 Signal pin on digital 7 بواسطة rahulmitra LiquidCrystal lcd (12 ، 11 ، 5 ، 4 ، 3 ، 2) ؛ // رقاقة درجة الحرارة i / o OneWire ds (DS18S20_Pin) ؛ // على الرقم الرقمي 7 بواسطة إعداد rahulmitra void (باطل) {Serial.begin (9600)؛ lcd.begin (16 ، 2) ؛ // اطبع رسالة على شاشة LCD. lcd.print ("راهول ميترا") ؛ } حلقة فارغة (باطلة) {درجة حرارة تعويم = getTemp ()؛ Serial.println (درجة الحرارة) ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("درجة الحرارة:") ؛ lcd.print (درجة الحرارة) ؛ lcd.print ("* C") ؛ تأخير (100) ؛ // هنا فقط لإبطاء الإخراج بحيث يكون من الأسهل قراءة} float getTemp () {// إرجاع درجة الحرارة من DS18S20 واحد في بيانات DEG Celsius بايت [12] ؛ بايت العنوان [8] ؛ إذا (! ds.search (addr)) {// لا مزيد من أجهزة الاستشعار في السلسلة ، أعد تعيين البحث ds.reset_search () ؛ العودة -1000 ؛ } if (OneWire:: crc8 (addr، 7)! = addr [7]) {Serial.println ("CRC غير صالح!")؛ العودة -1000 ؛ } إذا (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("لم يتم التعرف على الجهاز") ؛ العودة -1000 ؛ } ds.reset () ؛ ds.select (العنوان) ؛ ds.write (0x44، 1) ؛ // بدء التحويل ، مع تشغيل قوة الطفيل في نهاية البايتة الحالية = ds.reset () ؛ ds.select (العنوان) ؛ ds.write (0xBE) ؛ // قراءة المسودة لـ (int i = 0 ؛ i <9 ؛ i ++) {// نحتاج إلى بيانات 9 بايت = ds.read () ؛ } ds.reset_search () ؛ بايت MSB = بيانات [1] ؛ بايت LSB = بيانات [0] ؛ تعويم tempRead = ((MSB << 8) | LSB) ؛ // باستخدام تعويم تكميلي اثنين TemperatureSum = tempRead / 16 ؛ إرجاع درجة الحرارة }

الخطوة السادسة: لقد انتهيت أخيرًا

لقد انتهيت أخيرًا
لقد انتهيت أخيرًا
لقد انتهيت أخيرًا
لقد انتهيت أخيرًا

الخطوة 7: شاهد البث الحي

www.youtube.com/watch؟v=7718FODdtio&list=UUY916I6z4Y3QQhzjHsIhR8w

موصى به: