البرمجة
قبل رفع الكود البرمجي للوحة الاردوينو افصل السلكان 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(); }