مشروع عرض الكتابة اللاسلكي باستخدام bluetooth و شاشة lcd اكتب تعليقُا

تم نشر هذا المشروع لجميع الأشخاص المهتمين في مجال تصنيع وابتكار المشاريع الإلكترونية والبرمجية، و نود التنويه أن موقع انا الكتروني يخلي مسؤوليته التامة في حال لم يعمل المشروع لدى العميل أو في حال الاستخدام الخاطئ للمكونات الإلكترونية والكهربائية التي قد تؤدي لحدوث أي مشكلة لا سمح الله.

شرح فكرة المشروع

  • في هذا المشروع، سيتم التطرق إلى كيفية عرض الكتابة بطريقة لاسلكية باستخدام bluetooth و شاشة LCD ولوحة أردوينو.
  • يتم عرض النص على شاشة LCD، والذي تم إرساله من خلال تطبيق معين بالهاتف الذكي.
  • و بذلك، يكون بالإمكان تغيير النص المعروض على شاشة LCD، بشرط أن لا يتعدى عدد أحرف النص 32 حرفا.
  • الرابط

ادوات المشروع

مخطط المشروع

طريقة توصيل الادوات مع أردوينو

وحدة البلوتوث:

TX -> 11

RX -> 10

VCC -> 3.3V

GND -> GND

شاشة lcd:

SDA Pin -> A4 Pin

SCL Pin -> A5 Pin

VCC Pin -> 5V

GND Pin -> GND

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

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
  • للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
  • للإطلاع على كيفية تحميل وتنصيب المكتبات قم بزيارة الرابط التالي.
  • قبل تحميل الكود البرمجي، عليك تحميل المكتبات التالية:
  • Wire.h
  • LiquidCrystal_I2C.h
  • SoftwareSerial.h
  • في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.
  • للحصول على تطبيق “Bluetooth Terminal” (التطبيق المستخدم في هذا المشروع)، انقر هنا.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
SoftwareSerial BTSerial(10, 11); // RX, TX

void setup()
{
// Initialize the LCD display
lcd.init();
// Turn on the backlight
lcd.backlight();
// Set the cursor to the first column of the first row
lcd.setCursor(0, 0);

Serial.begin(9600);
// Start the serial communication

BTSerial.begin(9600);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Send a Message!”);
while (!BTSerial.available()) ;

}

void loop()
{

// Check if there is data available on the serial port
if (BTSerial.available()) {
// Read the data and store it in a string
Serial.println(“available”);
String input = BTSerial.readStringUntil(‘\n’);
input.remove(input.length() – 1); // remove \n

Serial.println(input);
// Clear the LCD display
lcd.clear();

// Determine if the input string fits on the first line
if (input.length() <= 16) {
// Set the cursor to the first column of the first row
lcd.setCursor(0, 0);
// Print the input string on the LCD display
lcd.print(input);
} else {
// Print as much of the input string as will fit on the first line
lcd.setCursor(0, 0);
lcd.print(input.substring(0, 16));
// Print the remainder of the input string on the second line
lcd.setCursor(0, 1);
lcd.print(input.substring(16));
}
}
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *