Perpustakaan Pidato untuk Arduino
Tersedia sebagai Perpustakaan Arduino "Talkie".
? Google Terjemahan
| Demonstrasi contoh talkie voltmeter | Intoduction by gadget reboot |
|---|---|
| Platform | Pin normal | Pin terbalik | Timer 8kHz | Timer PWM | Perkataan |
|---|---|---|---|---|---|
| AVR (uno dan nano) | Pin 3 | Pin 11 | timer1 | timer2 | |
| ATMEGA2560 | Pin 6/ph3 | Pin 7/ph4 | timer1 | timer4 | |
| Leonardo | Pin 9/pb5 | Pin 10/pb6 | timer1 | timer4 | |
| Promicro | Pin 5/PC6 | % | timer1 | timer4 | |
| Esplora | Pin 6/PD7 | % | timer1 | timer4 | |
| Nol (samd) | A0 | % | TC5 | Dac0 | |
| ESP32 | Pin 25 | % | hw_timer_t | Dac0 | |
| Bluepill | Pin 3 | % | timer3 | analogwrite | Roger Clarks Core |
| Bluepill | Pa3 | % | timer4 | analogwrite | STM Core |
| Amat kecil | Pin 12/14721 | % | Intervaltimer | analogwrite |
Timer 1 (Timer Servo) digunakan di semua atmegas untuk memperbarui data output suara pada 8 kHz.
Timer 2 (Nada Timer) pada ATMEGA328 (62500 Hz / 16 μs) atau timer 4 pada ATMEGA2560 + ATMEGA32U4 (5 μs) digunakan untuk menghasilkan output PWM 8 bit.
Oleh karena itu kedua timer tidak tersedia untuk perpustakaan / tujuan lain, seperti kontrol servo atau output nada.
Ada dua core untuk bluepill .
STM32F1 oleh Roger Clark; http://dan.drown.org/stm32duino/package_stm32duino_index.jsonstm32 berbasis CMSIS oleh ST Microsystems; https://github.com/stm32duino/boardmanagerfiles/raw/master/stm32/package_stm_index.jsonGenerasi PWM berkecepatan tinggi rumit untuk Roger Clark Core dan mudah untuk inti STM. Ukuran program untuk voltmetersayq.cpp adalah 21 Kbyte untuk Roger Clark Core dan 32 Kbyte untuk STM Core. Penanganan interupsi 8 kHz membutuhkan 8 μs untuk inti Roger Clark dan 12 μs untuk inti STM.
say...() Anda dapat menggunakan tone() lagi.write() setelah panggilan untuk mengatakan ... Anda harus detach() dan attach() servo sebelum pertama -tama write() untuk menginisialisasi timer lagi untuk servo.Talkie Voice(true, false); Alih -alih Talkie Voice; atau Voice.doNotUseInvertedOutput(); .Kosakata yang telah ditentukan dapat ditemukan di file Vocab _*. H, terutama di VOCAB_US_LARGE.H.
Untuk membuat data LPC, Anda dapat menggunakan Python_wizard atau Bluewizard untuk Mac OS X.
Cara lain untuk membuat data LPC adalah dengan menggunakan QBoxPro, aplikasi Windows lama yang tidak didukung yang berjalan di bawah XP, yang dapat menghasilkan stream data yang kompatibel dengan Talkie. BWCC.DLL yang hilang (Perpustakaan Kontrol Kustom Borland Windows) dapat ditemukan misalnya di sini. Prosesnya dijelaskan di sini dan berjalan seperti ini:
C to avoid clicks | Low pass 1600Hz
_____
D3 >-----||-----|_____|-----+-----> to Power amplifier
100nF 10k |
---
--- 10 nF
|
_|_ GND
Untuk menyesuaikan perangkat lunak dengan persyaratan yang berbeda, ada beberapa opsi kompilasi / makro yang tersedia.
Ubahnya dengan mengaktifkan / menonaktifkannya, atau ubah nilai jika berlaku.
| Nama | Nilai default | Mengajukan | Keterangan |
|---|---|---|---|
NO_COMPATIBILITY_FOR_TONE_LIB_REQUIRED | dengan disabilitas | Talkie.H | Jika Anda tidak menggunakan Pustaka Nada Arduino, maka aktifkan dapat menghemat hingga 844 byte ukuran program. |
FAST_8BIT_MODE | dengan disabilitas | Talkie.H | Jika didefinisikan, kami menggunakan 8bit sebagai ganti koefisien 16 bit K1 dan K2. Ini menghemat 10 mikrodetik (40 bukannya 50 AS) untuk atmega 16 MHz dan memiliki kualitas yang hampir sama, kecuali beberapa "putus sekolah" misalnya dalam kata "ribuan". |
ENABLE_PITCH | dengan disabilitas | Talkie.H | Jika didefinisikan kami menginterpretasikan parameter kedua aSampleRateForPitch dari say() dan SayQ() . Ini membutuhkan sekitar 160 byte ruang program dan beberapa divisi yang memakan waktu. Jika dinonaktifkan, parameter aSampleRateForPitch diabaikan. |
SAMPLE_RATE_DEFAULT | 8000 | Talkie.H | Jika Anda ingin mengatur pitch secara global untuk talkie, Anda dapat mengubah nilai ini, ini menghemat overhead yang tersirat dengan mengaktifkan ENABLE_PITCH |
Pertama, gunakan Sketch> Show Sketch Folder (Ctrl+K) .
Jika Anda belum menyimpan contoh sebagai sketsa Anda sendiri, maka Anda langsung berada di folder perpustakaan yang tepat.
Kalau tidak, Anda harus menavigasi ke folder libraries Paralel dan memilih perpustakaan yang ingin Anda akses.
Dalam kedua kasus, sumber perpustakaan dan termasuk file berada di direktori src Perpustakaan.
Modifikasi harus diperbarui untuk setiap versi perpustakaan baru!
Jika Anda menggunakan PlatformIO, Anda dapat mendefinisikan makro di file Platformio.ini dengan build_flags = -D MACRO_NAME atau build_flags = -D MACRO_NAME=macroValue .
Jika Anda menggunakan Sloeber sebagai IDE Anda, Anda dapat dengan mudah mendefinisikan simbol global dengan Properties> Arduino> CompileOptions . 

Implementasi Talkie dari 2017, berdasarkan versi Peter Knights yang diperpanjang dengan pitch, kecepatan, dan pembengkokan.
aSampleRateForPitch dan makro ENABLE_PITCH .digitalWriteNonInvertedOutput() dan digitalWriteInvertedOutput() .sayQTimeout() di talkieutils.cpp .sayQVoltageVolts() .Talkie(bool aUseNonInvertedOutputPin, bool aUseInvertedOutputPin);Contoh perpustakaan diuji dengan tindakan github untuk dewan berikut: