Pendahuluan
Emic Text to Speech ialah sebuah modul audio yang dapat membaca teks untuk diterjemahkan dan dihasilkan output audio sesuai teks yang diberikan.

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 ]--------------------------
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
' -----[ 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
Tidak ada komentar:
Posting Komentar