Sabtu, 07 April 2012

Robot Berbicara


Pendahuluan
Emic Text to Speech ialah sebuah modul audio yang dapat membaca teks untuk diterjemahkan dan dihasilkan output audio sesuai teks yang diberikan.
                                             30006.gif
                                  Gambar 10.1  Modul EMIC Text to Speech

Gambar di bawah ini merupakan rangkaian standar hubungan antara sebuah prosesor dengan modul EMIC TTS tersebut, dimana data dikirim dalam format serial, serta sudah mampu mengemudikan speaker dengan output 300mW.
                        

                        Gambar 10.2  Hubungan antara prosesor dengan modul EMIC TTS

Perancangan Sistem

Perangkat yang dirancang ini terdiri dari 3 bagian utama yaitu:
-          Perangkat sensor warna RGB TCS 230 dari Parallax
-          Mikrokontroler BS2
-          Modul  EMIC Text to  Speech dari Parallax
-          Sensor Jarak PING
-          Speaker

Gambar berikut merupakan konsep dasar blok diagram perangkat robot yang dapat berbicara


 







                                              Gambar 10.3  Blok diagram Robot Berbicara


Program di bawah ini akan membuat robot mengucapkan kata sapaan jika ada yang mendekatinya, menggunakan sensor jarak PING. Prinsip robot ini dapat dikembangkan sebagai robot pelayan/Customer Service.

RobotBiacara.bs2:

' {$STAMP BS2}
' {$PBASIC 2.5}
trig CON 13
scale CON $0cd
ping PIN 11     'sensor ping terhubung ke p11
rawdist VAR Word
rawtocm CON 2257   'untuk sensor jarak
counter VAR Byte

' -----[ Definisi I/O ]-----------

Tx              PIN    0             ' connects to Emic SIn
Rx              PIN    1            ' connects to Emic SOut
Busy            PIN    2            ' 1 = busy

' -----[ Constants ]----------- -
#SELECT $STAMP
  #CASE BS2, BS2E, BS2PE
    Baud        CON     396         ' 2400 baud, N81
  #CASE BS2SX, BS2P
    Baud        CON     1021
#ENDSELECT
Yes             CON     1
No              CON     0


' -----[ Program Code ]--------------------------
Main:
  DO
  GOSUB bacasensor
  IF rawDist ** RawToCm <8 THEN ‘Jika ada yang mendekat
    GOSUB Check_Busy
     SEROUT Tx, Baud, [Say, "Can I help you? ?", EOM]
    PAUSE 500
    SEROUT tx, Baud,[Say, " Hello, how are you?",EOM]
    EXIT
    ELSE
    GOSUB Check_Busy
    SEROUT Tx, Baud, [Say, "Mr. Widodo is the author.", EOM]
    PAUSE 1000
    SEROUT tx, Baud,[Say, " Welcome to Spectacular Robotics",EOM]
    PAUSE 1000
    ENDIF

  LOOP

' -----[ Subroutines ]-------------------------

Check_Busy:
  PAUSE 1                                  ' allow busy to activate
  DO WHILE (Busy = Yes) : LOOP             ' wait until not busy
  RETURN

Bacasensor:
          GOSUB PingDepan ' baca jarak depan
          DEBUG "jarak depan PING " , DEC rawDist ** RawToCm ,CR
RETURN

PingDepan :    'baca jarak depan
    ping =0
    PULSOUT ping, trig
    PULSIN ping, 1, rawDist
    rawDist=rawDist */Scale
    rawDist =rawDist/2
   RETURN

demogerak:
    FOR counter=0 TO 50
   PULSOUT 14,650
   PULSOUT 15,650
   NEXT
   FOR counter=0 TO 50
   PULSOUT 14,850
   PULSOUT 15,850
   NEXT
   RETURN
maju:
   FOR counter=0 TO 20
   PULSOUT 14,850
   PULSOUT 15,650
   NEXT
   RETURN
mundur:
   FOR counter=0 TO 20
   PULSOUT 14,650
   PULSOUT 15,850
   NEXT
   RETURN


                

Tutorial lengkap materi ini dapat diperoleh pada buku yang akan terbit
“10 Proyek Robot Spektakuler” Terbitan Elexmedia 2008

0 comments:

Posting Komentar