|  | 
|  15.03.2012, 20:09 | #1 | 
| Administrator Регистрация: 12.04.2010 Адрес: Москва 
					Сообщений: 9,618
				Вес репутации: 9824            |  Arduino и воспроизведение Wav 
			
			В этом проекте я использовал Arduino Nano В этой версии контроллера уже есть встроенный усилитель, и динамик можно подключать на пин SPK Файлы для воспроизведения должны быть с частотой 12000Гц или 11000Гц. Для улучшения их качества звучания они программно интерполируются до частоты 62000Гц Отличительные особенности этой библиотеки: 1-Воспроизведение звука производится на частоте 62000Гц, что дает кучу преимуществ . 2-Не требуется фильтр, для фильтрации частоты семплинга. 3-Производится программная интерполяция звука что улучшает качество звука 4-Используется только один таймер контроллера 5-Производится программная обработка и удаление щелчка при включении и выключении воспроизведения 6-Воспроизведение звука производится в фоновом режиме и не влияет на ход выполнения основных программ в цикле Loop _delay_ms используется как раз для того что бы выдерживалась пауза пока воспроизводится звук PHP код: 
			Билиотеку нужно скачать, распаковать и поместить в папку ..\arduino-0023\libraries\PlaySound Библиотека PlaySoundSD- для воспроизведения звуков с карты памяти Обладатели Arduino Nano V.7, могут получить программу конвертера Wav2Hex файлов для личного использования. Программа конвертирует из звукового файла *.wav, в формат понятный компилятору *.h Для получения программы пишите мне в личку Собираю прикольные wave звуки для Arduino Присылайте свои варианты wave, тем самым Вы пополните банк звуков Онлайн конвертер bin - hex | 
|   |   | 
|  20.10.2012, 14:54 | #2 | 
| Junior Member Регистрация: 20.10.2012 
					Сообщений: 12
				Вес репутации: 0  |   
			
			Глупый вопрос можно? У вас код на PHP я так понял. Там у вас переменная speakerpin2 - объявлена, а pseakerpin - не объявлена - это ошибка? И среда arduino понимает php? Просто я искал мануал по Carduino v7.0? не могу понять как из среды Arduino обратится к выводу (новому) - SPK.
		 | 
|   |   | 
|  20.10.2012, 16:23 | #3 | 
| Administrator Регистрация: 12.04.2010 Адрес: Москва 
					Сообщений: 9,618
				Вес репутации: 9824            |   
			
			Нет, этот код не на PHP Это тег PHP, я его использую для лучшей читаемости кода Сегодня выложу библиотеку для воспроизведения файлов на Arduino Nano V7 Вам будет проще ее использовать, хотя код тоже рабочий | 
|   |   | 
|  21.10.2012, 00:16 | #4 | 
| Administrator Регистрация: 12.04.2010 Адрес: Москва 
					Сообщений: 9,618
				Вес репутации: 9824            |   
			
			Выкладываю библиотеку PlaySound и пример скетча для Arduino Nano V.7 В примере воспроизводится голосовая реклама Код: #include <util/delay.h>
#include <PlaySound.h>
#include "test.h"
void setup(){}
void loop()
{  
   PlaySound::startPlayback((uint8_t *)test,  test_length);
  _delay_ms(2500); //пауза, так как звук выполнятся в фоновом режиме
} | 
|   |   | 
|  21.10.2012, 00:48 | #5 | 
| Administrator Регистрация: 12.04.2010 Адрес: Москва 
					Сообщений: 9,618
				Вес репутации: 9824            |   
			
			Пользователи форума с весом репутации 200 и выше, также обладатели Arduino Nano V.7, могут получить программу конвертера из *.wav в формат *.h | 
|   |   | 
|  21.10.2012, 14:18 | #6 | 
| Junior Member Регистрация: 20.10.2012 
					Сообщений: 12
				Вес репутации: 0  |   
			
			А вы в чем компилите? Я попытался запустить код в среде Arduino (родная, которая на языке processing основана) ругается на библиотеку PlaySound.cpp конкретно на строку PORTB &= B11110111; - говорит - 'd1111011' - was not declared in this scope. Я так понял что вы на Си компилите. А чем компилите, в чем работаете? | 
|   |   | 
|  21.10.2012, 14:23 | #7 | 
| Junior Member Регистрация: 20.10.2012 
					Сообщений: 12
				Вес репутации: 0  |   
			
			И где можно взять синтаксис языка, не пойму как обращаться к пинам контроллера, с цифровыми и аналоговыми - все понятно, digitalWrite -Read, analogWrite-Read - операторы а дальше номер пина. Т.е.  int pin=2; дальше в теле проги digitalWrite(pin,High); и усе... номера пинов нанесены на плату. А вот как обратится к пину SPK? Не пойму.. | 
|   |   | 
|  21.10.2012, 17:33 | #8 | 
| Administrator Регистрация: 12.04.2010 Адрес: Москва 
					Сообщений: 9,618
				Вес репутации: 9824            |   
			
			Я компилирую в arduino-0023 Вы библиотеку положили в папку ..\arduino-0023\libraries\PlaySound ? В этой папке должно находится 2 файла PlaySound.cpp и PlaySound.h Простой пример использования выхода Spk или он же D11 PHP код: 
			 | 
|   |   | 
|  21.10.2012, 23:24 | #9 | 
| Junior Member Регистрация: 20.10.2012 
					Сообщений: 12
				Вес репутации: 0  |   
			
			А ну да, библиотеки не туда вложил, я их вложил в папку со скетчем. Попробую завтра заново. А spk и D11 - разве не разные пины? Я чего то не понимаю тогда с нумерацией, я фотку прикрепил там. И на плате четко отмаркированно  d11 и spk отдельно... Или они параллельные? Только SPK с большей пропускной способностью по току?
		 | 
|   |   | 
|  22.10.2012, 00:15 | #10 | 
| Administrator Регистрация: 12.04.2010 Адрес: Москва 
					Сообщений: 9,618
				Вес репутации: 9824            |   
			
			Пин Spk имеет выход с открытым коллектором, на транзисторном ключе с максимальной нагрузкой до 500мА и напряжением питания до 20в  К нему можно подключать не только динамик, но и любую другую нагрузку с током не более 500мА и напряжением до 20в Как SPK подключен к пину D11, смотрите на изображении | 
|   |   | 
|  | 
| Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
| 
 | 
 |