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

مبتدئ

image_pdf

مقدمة

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

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

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 Ω

شفرة

1× 40 رأس دبوس

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

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

لمعرفة المزيد حول الشاشة الكرستالية يمكنك الرجوع للدرس التحكم بالشاشة الكرستالية LCD

لابد من تلحيم المنافذ مع الشاشة الكرستالية، للمزيد حول اللحام يمكنك الرجوع للدرس تعلم كيفية التلحيم – تلحيم القطع باللوحة الإلكترونية

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

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

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

نستطيع تحميلها بتتبع المسار التالي:

Sketch > Include libraries > Manage libraries

ثم نكتب بخانة البحث Liquid crystal by Arduino

ثم نضغط على Install.

#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
Product added to the cart