РадиоКот :: Мяукалка
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Игрушки >

Теги статьи: Добавить тег

Мяукалка

Автор: Flasher
Опубликовано 12.09.2011
Создано при помощи КотоРед.
2011

     Первым делом, конечно, самолеты, усы, лапы и хвост, но пора подумать и о Кисах. Лучший подарок своей Кисе - это Я (Кот). И совсем не плохо было бы признаться Кисе в любви по-человечески. Так-так…. Что для этого нужно? Вот!!! Придумал. Лапкой быстренько нажимаем на ярлычек Sound Forge.  Давим на кнопку запись, выбираем частоту дискретизации 8 кГц, разрядность 8 бит и моно. А теперь, готовимся, и громко, закрыв лапами глаза, промяукиваем в микрофон признание в любви.  Главное красноречиво и от всего сердца!!! Теперь его немного редактируем, придавая ему нотки томной нежности и убирая шумы и паузы. Сохраняем в формате raw с такими же параметрами.  Самое главное - сделано. Теперь можно спокойно полакомиться сметанкой.

   Ой!!!! А  как же Кисе передать свое признание? Не нести же компьютер к ней, да и самому неловко заявляться. Ааааа!!!! Срочно в сундук!!! Фантики, резиновые мышки, клубок….блин, не то… Вот оно- на самом дне валяется покусанный AT90S8515 -8PI. Ничего, он нам еще послужит.   Теперь сохраненный raw файл с помощью утилиты BIN2C и громкого мяуканья превращаем в массив цифирек, понятный обгрызанному кусочку пластика с обломанными ножками. Запускаем наш удобный котовижен v2.05.05 и копируем получившиеся цифирки, весело настукивая лапками небольшую программку для вывода нашего признания в любви с помощью ШИМа. Вот что удалось настучать, вылакав две кружки молока, закусывая рыбкой.

/*****************************************************

Chip type               : AT90S8515

AVR Core Clock frequency: 8,000000 MHz

*****************************************************/

#include <90s8515.h>

#include

 volatile unsigned char wait;

 #define MIAU_LEN 6837

 // Полная версия в приложении

__flash unsigned char miau_wave[]=

 {

  };

 // Timer1 overflow interrupt service routine

interrupt [TIM1_OVF] void timer1_ovf_isr(void)

{

 if(wait)wait--;

}

 void main(void)

{

 unsigned int buffer_counter;           

 unsigned char prohod=0;

 // Input/Output Ports initialization

PORTA=0x00;

DDRA=0x00;

 

PORTB=0x00;

DDRB=0x00;

 

PORTC=0x00;

DDRC=0x00;

 

PORTD=0x00;

DDRD=0x00;

 

 

TCNT1H=0x00;

TCNT1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

TCCR1A=(1<

  

// Разрешаем глобальные прерывания

#asm("sei")

 

while (1)

 {

  

  buffer_counter=0; // начинаем с нулевого сэмпла

 

  TCCR1B=(1<

  TIFR  =(1<

  TIMSK=(1<

 

  while (buffer_counter

        {

         while(wait); // ожидаем дважды прерывание переполнения таймера 1 - на один сэмпл держим 2 выборки ШИМа 

         if (prohod&0x01)OCR1B = miau_wave[buffer_counter++]>>1; // загружаем очередной сэмпл в ШИМ и уменьшаем громкость в 2 раза каждый нечетный раз

             else  OCR1B = miau_wave[buffer_counter++]; // загружаем очередной сэмпл в ШИМ

         wait = 2;   // установка флага ожидания для нового сэмла

        }

  while(wait); // дожидаемся завершения вывода последнего сэмпла    

 

  TIMSK = 0x00;  // запрещаем все прерывания

  TCCR1B = 0x00; // останавливаем счётчик 1                    

 

  prohod++; // Увеличиваем число мяуканий

 

  delay_ms(1700);

 }

 }

 

  Компилируем это чудо котоинженерной мысли, достаем из сундучка любимый AVR Dragon и начинаем злобно шипеть: «Пшшшшш…» Какие нехорошие индийские мусорные коты!!! Это же надо было додуматься убрать из него поддержку моего единственного погрызенного 90s8515. Пришлось из ниток и проводочков собирать адаптер для LPT.

К погрызенному кусочку пластика нужно прикошачить кварц с конденсаторами и динамик через котоденсатор.

  
Подключаем к батарейке и этот славный черный кусочек пластика совсем кошачьим голосом признается в любви.


То что нужно!!! Думаю, моя Киса оценит, и меня ждут лучшие марты за всю мою жизнь. Мяу!!!

 

 


Файлы:
Прошивка покусанного кусочка пластика
Записанное признание
Исходный кот


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

18 5 5
4 1 0