التحكم بالشاشة الكرستالية باستخدام الاردوينو ووحدة البلوتوث

مبتدئ

image_pdf

البرمجة

قبل رفع الكود البرمجي للوحة الاردوينو افصل السلكان Tx و Rx وبعد رفع الكود أعد الأسلاك كما كانت.

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
String inData;
void setup() 
{
Serial.begin(9600);
lcd.begin();
lcd.clear();
}

void loop()
{
int i=0;
char commandbuffer[150];
if(Serial.available()){
delay(3000);
while( Serial.available() && i< 150) {
commandbuffer[i++] = Serial.read();
}
commandbuffer[i++]='\0';
}
if(i>0)
Serial.println((char*)commandbuffer);
lcd.print((char*)commandbuffer);
delay(4000);
lcd.clear();
}

شرح الكود البرمجي

سنقوم في البداية باستدعاء مكتبة (LiquidCrystal_I2C.h) الخاصة بوحدة i2c والتي تحتوي على مجموعة أوامر برمجية نحتاجها في المشروع.

ثم نضيفها للاردوينو IDE.

بتتبع المسار التالي:

Sketch > Include libraries > Add ZIP library 

ونضيف المجلد الذي قمنا بتحميله.

#include <LiquidCrystal_I2C.h>

نعرف عنوان وحدة i2c.

LiquidCrystal_I2C lcd(0x27, 16, 2);

في المتغير inData سيتم تخزين البيانات المقروءة من كلمات وجمل .

String inData;

في الدالة ()setup سيتم تهيئة الشاشة الكرستالية استعدادًا لطباعة الجمل والكلمات عليها.

void setup() 
{
Serial.begin(9600);
lcd.begin();
lcd.clear();
}

في الدالة ()loop سيتم قراءة البيانات من وحدة البلوتوث وسيتم طباعتها على الشاشة الكرستالية.

void loop()
{
int i=0;
char commandbuffer[150];
if(Serial.available()){
delay(3000);
while( Serial.available() && i< 150) {
commandbuffer[i++] = Serial.read();
}
commandbuffer[i++]='\0';
}
if(i>0)
Serial.println((char*)commandbuffer);
lcd.print((char*)commandbuffer);
delay(4000);
lcd.clear();
}

X
تم إضافة المنتج إلى السلة بنجاح