عناوين الدرس

تحويل الصوت إلى نص باستخدام الاردوينو

مبتدئ

مقدمة

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

المواد والأدوات

speech-recognition-with-arduino-bluetooth-lcd

1× اردوينو اونو

speech-recognition-with-arduino-bluetooth-lcd

1× سلك الاردوينو

speech-recognition-with-arduino-bluetooth-lcd

1× لوحة تجارب – حجم كبير

تحويل الصوت إلى نص

شاشة كرستالية (LCD 2×16)

تحويل الصوت إلى نص

1× مقاومة متغيرة

تحويل الصوت إلى نص

 حزمة أسلاك توصيل (ذكر- ذكر)

تحويل الصوت إلى نص1× هاتف ذكي بنظام اندرويد

speech-recognition-with-arduino-bluetooth-lcd

موديول بلوتوث من النوع HC-06

تحويل الصوت إلى نص

1× مقاومة 1K Ω

تحويل الصوت إلى نص

1× مقاومة 2.2K Ω

توصيل الدائرة

للمزيد حول وحدة البلوتوث يمكنك الرجوع للدرس التالي نظام التحكم في الإضاءة عبر البلوتوث

تحويل الصوت إلى نص

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

قبل رفع الكود البرمجي على لوحة الاردوينو قم بفصل سلك tx و rx  من لوحة الاردوينو ثم ارفع الكود البرمجي للوحة باستخدام برنامج Arduino IDE وبعد رفع الكود البرمجي أعد الدائرة الكهربائية كما كانت.

#include <LiquidCrystal.h>

LiquidCrystal lcd(2,3,4,5,6,7); //create an object for LCD 
String voice; //to store the command
char c; //to get characters from the command

void setup() 
{
Serial.begin(9600); //for serial terminal
lcd.begin(16,2); //initialize LCD 
}

void loop() 
{
while(Serial.available()) 
{
delay(10); //delay added to make it stable
lcd.clear(); //clear LCD 
c = Serial.read(); //get new command
voice += c; //to make a string of command
}
if(voice.length() > 0)
{
Serial.println(voice); //print the command in Serial Terminal
if(voice == "clear") //to clear the LCD send "clear" command
{ 
lcd.clear();
}
lcd.print(voice); //print the command on LCD
voice = ""; // to end the command
}
}

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

في هذا السطر تم استدعاء مكتبة الشاشة الكرستالية: <LiquidCrystal.h>.

#include <LiquidCrystal.h>

بعد ذلك أعلنا عن المتغيرات اللازمة مثل المتغيرات الخاصة بالشاشة الكرستالية.

LiquidCrystal lcd(2,3,4,5,6,7); //create an object for LCD 

عرفنا المتغير voice والذي سيحمل المدخلات الصوتية من الجمل والعبارات وغيرها.

String voice; //to store the command

وعرفنا المتغير c لقراءة الأحرف من الأوامر.

char c; //to get characters from the command

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

void setup() 
{
Serial.begin(9600); //for serial terminal
lcd.begin(16,2); //initialize LCD 
}

في الدالة ()loop  يتم قراءة الصوت من تطبيق Arduino Voice Control وبعد ذلك يتم تحويله إلى نصوص مطبوعة على الشاشة الكرستالية.

void loop() 
{
while(Serial.available()) 
{
delay(10); //delay added to make it stable
lcd.clear(); //clear LCD 
c = Serial.read(); //get new command
voice += c; //to make a string of command
}
if(voice.length() > 0)
{
Serial.println(voice); //print the command in Serial Terminal
if(voice == "clear") //to clear the LCD send "clear" command
{ 
lcd.clear();
}
lcd.print(voice); //print the command on LCD
voice = ""; // to end the command
}
}

تطبيق Arduino Voice Control

وتأكد من تحميل Voice Search.

حمّل التطبيق المستخدم لإدخال الصوت والأوامر على جهازك الذكي  Arduino Voice Control.

اضغط على أيقونة connect واختر نوع البلوتوث موديول المستخدم هنا استخدمنا النوع HC-06.

اضغط على علامة المايكروفون وابدأ بإدخال الجمل والأوامر.

تأكد أنّ النظام يعمل بالشكل الصحيح.

 لا تنسَ فصل مصدر الطاقة بعد الانتهاء من استخدام النظام.

 

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