رباتیک و هوافضا

پروژه کنترل چراغ های LED با فرمان صوتی گوشی هوشمند و رزبری پای

به نام خدا

پروژه کنترل چراغ های LED با فرمان صوتی گوشی هوشمند و رزبری پای

 

 

امروز قصد ساخت پروژه کنترل چراغ های ال ای دی توسط فرمان صوتی گوشی های هوشمند را داریم.در این پروژه فرمان صوتی از گوشی هوشمند به رزبری پای با استفاده از ماژول بلوتوث فرستاده خواهد شد و رسپبری پای سیگنال ارسالی را بصورت بی سیم دریافت خواهد کرد.
می توانیم بجای ال ای دی ها ، لوازم خانگی ها را با استفاده از رله جایگزین کنیم و پروژه جدیدی تعریف کنیم.

اجزاء مورد نیاز:

رزبری پای ۳
ماژول بلوتوث HC-06
برد بورد
۳ عدد مقاومت ۱۰۰ اهم
ال ای دی ( آبی ، زرد ، قرمز )
سیم های اتصال
منبع تغذیه
کابل اترنت
گوشی اندروید

ماژول بلوتوث:

ماژول بلوتوث متشکل از ۲ بخش است ، ماژول رابط سریال و آداپتور بلوتوث.ماژول سریال بلوتوث برای تبدیل پورت سریال به بلوتوث به کار رفته است.

 

 

 

 

چگونگی راه اندازی ماژول بلوتوث :

پس از خرید ماژول شما می توانید مستقیما و بدون اعمال تنظیمی از آن استفاده کنید.نرخ پیش فرض ماژول های بلوتوث جدید ۹۶۰۰ بیت بر ثانیه می باشد.شما فقط بایستی Rx و Tx را به کنترلر یا مبدل سریال متصل نموده و ۵ ولت DC به ماژول اعمال نمایید.
پس از انجام مراحا اگر به ماژول ، AT ارسال نمایید سپس ماژول با OK پاسخ خواهد داد.

دستور تست AT :

AT+ROLE=0 => Slave Mode select
AT+ROLE=1 => Master Mode select
AT+NAME=xyz => Set Bluetooth Name
AT+PSWD=xyz => Set Password
AT+UART=<value1>,<value2>,<value3> => set Baud rate
Eg. AT+UART=9600,0,0

بیشتر بخوانید...  پروژه ی کنترل موتور براشلس دی سی بدون سنسور با آردوینو و IR2101 به همراه کد

 

تشریح پین های ماژول بلوتوث HC-06 :

۱٫STATE
۲٫Rx => پین دریافت سریال
۳٫Tx => پین ارسال سریال
۴٫GND => زمین
۵٫Vcc => 5 volt DC
۶٫KEY => AT ورود به مد
نصب و پیکربندی نرم افزار AMR Voice :
این نرم افزار را می توانید از Google Play Store دانلود و نصب نمایید. همچنین بایستی Google Voice را نیز برای اجرای این پروژه نصب نمایید.نرم افزار AMR Voice صوت را بعنوان ورودی دریافت کرده و آن را با استفاده از نرم افزار Google Voice به رشته متن تبدیل می کند و آن را بصورت سریال از طریق بلوتوث ارسال می نماید.

 

 

 

 

 

حال نرم افزار AMR Voice را باز کرده و به بخش Option رفته و با کلیک روی “Connect Robot” آن را به ماژول بلوتوث متصل نمایید.

 

 

حال کاربران با زدن بر روی نماد میکروفون(Mic) بر روی صفحه موبایل و دادن فرمان های صوتی از پیش تعریف شده که در ذیل آمده اند می توانند ال ای دی ها را مدیریت کنند.
۱٫ “blue light on” (only blue LED turned on)
۲٫ “blue light off” (only blue LED turned off)
۳٫ “red light on” (only red LED turned on)
۴٫ “red light off” (only red LED turned off)
۵٫ “green light on” (only green LED turned on)
۶٫ “green light off” (only green LED turned off)
۷٫ “all lights on” (blue, red and green LEDs turned on)
۸٫ “all lights off” (blue, red and green LEDs turned off)
۹٫ “blink” (all LEDs start blinking with a 100 millisecond time period)

بیشتر بخوانید...  تشخیص رزبری پای زیرو بعنوان گجت USB یا اترنت توسط کامپیوتر

 

 

 

 

شماتیک پروژه کنترل چراغ های LED با فرمان صوتی گوشی هوشمند و رزبری پای:

در شکل زیر می توانید شماتیک و اتصالات مدار را مشاهده کنید.

 

 

 

دانلود کد برنامه پروژه کنترل چراغ های LED با فرمان صوتی گوشی هوشمند و رزبری پای :

دانلود فایل
import serial
import RPi.GPIO as GPIO      
import os, time
led1=17
led2=27
led3=22
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(led1, GPIO.OUT)
GPIO.setup(led2, GPIO.OUT)
GPIO.setup(led3, GPIO.OUT)
GPIO.output(led1 , 0)
GPIO.output(led2 , 0)
GPIO.output(led3 , 0)
Serial = serial.Serial("/dev/ttyS0", baudrate=9600, timeout=2)
data1=""
data=''
while 1:
  while data != '#':
    data = Serial.read(1)
    data1+=data
  print data1
  if data1.find("blue light on")>0:
      GPIO.output(led1 , 1)
      print "Blue Light on"
  if data1.find("blue light off")>0:
      GPIO.output(led1 , 0)
      print "Blue Light Off"
  if data1.find("red light on")>0:
      GPIO.output(led2 , 1)
      print "Red Light on"
  if data1.find("red light off")>0:
      GPIO.output(led2 , 0)
      print "red Light Off"
  if data1.find("green light on")>0:
      GPIO.output(led3 , 1)
      print "Green Light on"
  if data1.find("green light off")>0:
      GPIO.output(led3 , 0)
      print "Green Light Off"
  if data1.find("all lights on")>0:
      GPIO.output(led1 , 1)
      GPIO.output(led2 , 1)
      GPIO.output(led3 , 1)
      print "All Lights on"
  if data1.find("all lights off")>0:
      GPIO.output(led1 , 0)
      GPIO.output(led2 , 0)
      GPIO.output(led3 , 0)
      print "All Light Off"
  if data1.find("blink")>0:
      for k in range (100):
        GPIO.output(led1 , 1)
        GPIO.output(led2 , 1)
        GPIO.output(led3 , 1)
        time.sleep(0.1)
        GPIO.output(led1 , 0)
        GPIO.output(led2 , 0)
        GPIO.output(led3 , 0)
        time.sleep(0.1)
  
  Serial.flush();
  data="";
  data1="";

 

دیدگاه‌ها (0)

*
*