قياس درجة الحرارة والتحكم بعرضها بواسطة #C
تتضمن هذه المقال عرض تجربة عملية لقياس درجة حرارة الجو و من ثم طباعة حاله الطقس على الشاشة الكريستالية .
سيتم استخدام برمجية C# " تقرأ سي شارب " لتحديد نوع البيانات التي ستعرض على الشاشة الكريستاليه .
سيقسم الشرح للمشروع لجزئين : الأردوينو و ال #C
أ) الأردوينو :
سنحتاج لهذه التجربة :
1- بطاقة اردوينو
2- أسلاك توصيل
3- الشاشة الكريستالية LCD 16*2
4- LM35 حساس للحرارة
5- Potentiometer
6- Bread board
خطوات المشروع:
اولا : نقوم بالتحقق من حساس الحرارة و يمكنك الاستعانه بمقاله (حساس الحرارة lm35 ) .
ثانياً : التحقق من الشاشة الكريستالية و يمكنك الاستعانة بمقاله (الشاشة الكريستالية 1602 liquid Crystal ) .
ثم قم بتحميل الكود على بطاقة الاردوينو و ابق الوصلة USB موصوله بالجهاز .
ب) برمجية #C
الان سننتقل الي العمل في بيئة Visual studio 2010
في البداية نقوم باختيار عمل مشروع جديد
ثم نختار اللغه Visual C#
بعد ذلك نختار Windows form application
في النهاية نختار اسم للمشروع و مكان حفظه .
الان حان وقت رسم Form
لنحصل على هذا الشكل :tool box سنرسمه من خلال
ملاحظة : كل مربع يجب علينا تغيير اسمه الى الاسماء التي اخترتها بالكود و ذلك من خلال الضغط بالزر اليمين على احد (button) و اختيار proparties,سيظهر مربع على اليمين
قم باختيار (name) ثم غير الاسم , وهكذا لكل الازرار(button) و صناديق الكتابة(textbox).هذه الاسماء:
Show temperature à show
Write to LCD à lcd
Exitàex
Text box above show temperatureàsh
Text box above write à lc
للانتقال الى الكود فقط قم بالضغط مرتين متتاليتين على احد الازرار لينتقل مباشرة الى الكود , في النهاية نضع هذا الكود
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace temp
{
public partial class Form1 : Form
{
int temperature=0;
string status="";
private SerialPort
myport;
public Form1()
{
InitializeComponent();
init();
}
private void
Form1_Load(object sender, EventArgs e)
{
}
private void lcd_Click(object sender, EventArgs
e)
{
try
{
status = lc.Text;
myport.WriteLine(status);
show.Enabled = true;
lcd.Enabled = false;
}
catch(Exception )
{
MessageBox.Show("not work probably ");
}
}
private void
show_Click(object sender, EventArgs e)
{
try{
if(myport.IsOpen)
{
temperature = (int)(Math.Round(Convert.ToDecimal(
myport.ReadLine()),
0));
sh.Text = temperature.ToString();
show.Enabled = false;
lcd.Enabled = true;
}
}
catch(Exception
ex)
{
MessageBox.Show(ex.Message);
}
}
private void init()
{
try
{
myport = new SerialPort();
myport.BaudRate = 9600;
myport.PortName = "COM3";
myport.Open();
}
catch (Exception)
{
MessageBox.Show("error");
}
//
show.Enabled = true;
lcd.Enabled = false;
}
private void
ex_Click(object sender, EventArgs e)
{
this.Hide();
}
}
}
ملاحظه : في Init function قم بتغير رقم Com المناسب لبطاقة الاردوينو الخاصة بك .
في النهاية قم بعمل Cntrl +F5
ضمن الملحقات التالية يوجد البرنامج جاهزاً للتشغيل على نظام تشغيل ويندوز بصيغة exe و تشغيل المشروع مباشرة .
الكاتبة : رزان برهم - الأردن
il ne fonctionne pas
ردحذفشكرا لك
ردحذفشكرا" جزيلا"
ردحذفمجهود رائع للحرارة والرطوبة
ردحذفجزاكم الله خيرا
ردحذف