مكتبة الكلام لأردوينو
متاح كمكتبة Arduino "Talkie".
؟ ترجمة جوجل
| دليل على مثال Talkie Voltmeter | Intoduction عن طريق إعادة تشغيل الأداة |
|---|---|
| منصة | دبوس طبيعي | دبوس مقلوب | توقيت 8 كيلو هرتز | PWM مؤقت | ملاحظات |
|---|---|---|---|---|---|
| AVR (UNO و Nano) | دبوس 3 | دبوس 11 | Timer1 | Timer2 | |
| ATMEGA2560 | دبوس 6/ph3 | دبوس 7/ph4 | Timer1 | Timer4 | |
| ليوناردو | دبوس 9/PB5 | دبوس 10/PB6 | Timer1 | Timer4 | |
| بروكرو | دبوس 5/PC6 | ٪ | Timer1 | Timer4 | |
| إسبلورا | دبوس 6/pd7 | ٪ | Timer1 | Timer4 | |
| صفر (SAMD) | A0 | ٪ | TC5 | DAC0 | |
| ESP32 | دبوس 25 | ٪ | hw_timer_t | DAC0 | |
| Bluepill | دبوس 3 | ٪ | Timer3 | التناظرية | روجر كلاركس كور |
| Bluepill | PA3 | ٪ | Timer4 | التناظرية | CORE STM |
| المراهق | دبوس 12/14721 | ٪ | الفاصل الزمني | التناظرية |
يتم استخدام Timer 1 (جهاز توقيت المؤازرة) في جميع Atmegas لتحديث بيانات الإخراج الصوتي عند 8 كيلو هرتز.
يتم استخدام TIMER 2 (TONE TIMER) على ATMEGA328 (62500 هرتز / 16 µs) أو مؤقت 4 على Atmega2560 + Atmega32u4 (5 µs) لإنشاء ناتج 8 بت PWM.
لذلك لا يتوفر كلا الموقرين للمكتبات / الأغراض الأخرى ، مثل التحكم في المؤازرة أو إخراج النغمة.
هناك نوعان من النوى للاطوية .
STM32F1 بواسطة روجر كلارك ؛ http://dan.drown.org/stm32duino/package_stm32duino_index.jsonstm32 القائم على CMSIS بواسطة ST Microsystems ؛ https://github.com/stm32duino/boardmanagerfiles/raw/master/stm32/package_stm_index.jsonإن توليد PWM عالي السرعة معقد بالنسبة لروجر كلارك كور وسهلة بالنسبة ل CORM STM. حجم البرنامج لـ VoltMetersayq.CPP هو 21 كيلو بايت لروجر كلارك كور و 32 كيلو بايت لصالح STM Core. يتطلب معالجة المقاطعة 8 كيلو هرتز 8 µs لروجر كلارك كور و 12 µs ل CORM STM.
say...() يمكنك استخدام tone() مرة أخرى.write() بعد مكالمة للقول ... يجب عليك detach() وإرفاق attach() المؤازرة قبل write() من أجل تهيئة المؤقت مرة أخرى للخدمة.Talkie Voice(true, false); بدلا من Talkie Voice; أو Voice.doNotUseInvertedOutput(); .يمكن العثور على المفردات المحددة مسبقًا في ملفات Vocab _*. H ، خاصة في vocab_us_large.h.
لإنشاء بيانات LPC ، يمكنك استخدام Python_wizard أو Bluewizard لنظام التشغيل Mac OS X.
هناك طريقة أخرى لإنشاء بيانات LPC وهي استخدام QboxPro ، وهو تطبيق Windows القديم غير المدعوم يعمل ضمن XP ، والذي يمكن أن ينتج تدفقات بيانات متوافقة مع Talkie. يمكن العثور على BWCC.DLL المفقودة (مكتبة التحكم في Windows Borland Windows) على سبيل المثال. تم وصف العملية هنا وتذهب هكذا:
C to avoid clicks | Low pass 1600Hz
_____
D3 >-----||-----|_____|-----+-----> to Power amplifier
100nF 10k |
---
--- 10 nF
|
_|_ GND
لتخصيص البرنامج لمتطلبات مختلفة ، هناك بعض خيارات الترجمة / وحدات الماكرو المتاحة.
قم بتعديلها عن طريق تمكين / تعطيلها ، أو تغيير القيم إن أمكن.
| اسم | القيمة الافتراضية | ملف | وصف |
|---|---|---|---|
NO_COMPATIBILITY_FOR_TONE_LIB_REQUIRED | عاجز | Talkie.H | إذا لم تستخدم مكتبة Arduino Tone ، فيمكن للتفعيل توفير ما يصل إلى 844 بايت حجم البرنامج. |
FAST_8BIT_MODE | عاجز | Talkie.H | إذا تم تعريفنا ، فسنستخدم 8bit بدلاً من معاملات 16 بت K1 و K2. هذا يوفر 10 microseconds (40 بدلاً من 50 الولايات المتحدة) لـ 16 MHz ATMEGA ولديه نفس الجودة تقريبًا ، باستثناء عدد قليل من "المتسربين" على سبيل المثال في الكلمة "ألف". |
ENABLE_PITCH | عاجز | Talkie.H | إذا تم تعريفنا ، فإننا نفوس المعلمة الثانية aSampleRateForPitch of say() و SayQ() . وهذا يتطلب حوالي 160 بايت من مساحة البرنامج وعدد قليل من الأقسام المستهلكة. إذا تم تعطيله ، يتم تجاهل المعلمة aSampleRateForPitch . |
SAMPLE_RATE_DEFAULT | 8000 | Talkie.H | و تريد أن تقوم بتعيين ملعب عالميًا لـ Talkie ، يمكنك تغيير هذه القيمة ، وهذا يحفظ النفقات العامة الضمنية عن طريق تنشيط ENABLE_PITCH |
أولاً ، استخدم Sketch> sketh Sketch Folder (Ctrl+K) .
إذا لم تكن قد قمت بعد أن قمت بحفظ المثال كخريطة خاصة بك ، فأنت على الفور في مجلد المكتبة الصحيح.
وإلا عليك الانتقال إلى مجلد libraries الموازية وتحديد المكتبة التي تريد الوصول إليها.
في كلتا الحالتين ، يوجد مصدر المكتبة وتضمين الملفات في دليل المكتبات src .
يجب تجديد التعديل لكل نسخة مكتبة جديدة!
إذا كنت تستخدم platformio ، فيمكنك تحديد الماكرو في ملف platformio.ini باستخدام build_flags = -D MACRO_NAME أو build_flags = -D MACRO_NAME=macroValue .
إذا كنت تستخدم Sloeber كـ IDE ، فيمكنك بسهولة تحديد الرموز العالمية ذات الخصائص> Arduino> compileOptions . 

تطبيق Talkie من عام 2017 ، استنادًا إلى إصدار Peter Knights تم تمديده مع الملعب والسرعة والانحناء.
aSampleRateForPitch و macro ENABLE_PITCH .digitalWriteNonInvertedOutput() و digitalWriteInvertedOutput() .sayQTimeout() في TalkieUtils.cpp .sayQVoltageVolts() .Talkie(bool aUseNonInvertedOutputPin, bool aUseInvertedOutputPin);يتم اختبار أمثلة المكتبة مع إجراءات github للوحات التالية: