Данный проект на микроконтроллере AVR симулирует стрeкот кузнечика. Для того чтобы генерировать звуки, достаточно просто изменять состояние порта с звуковой частотой. Это можно делать как при помощи таймера, так и при помощи метода задержки delay(). Использование последнего не рационально с точки зрения использования ресурсов микроконтроллера.
Код программы состоит в основном из ряда методов delay() комбинация которых позволяет получить на выходе сигнал с определенной частотой - очень похожей на звук кузнечика. Подключение нагрузки осуществляеться к порту B. Выходной сигнал прежде чем подавать на нагрузку необходимо усилить при помощи биполярного транзистора.
Зеленый кузнечик
Код программы электронного кузнечика
#include <avr/io.h> #include <util/delay.h> int main(void){ int i;int t;int s; DDRB=0xFF;// set port B for output while(1) { for (int s=1;s<4;s=s+1) {for(int t=1;t<5;t=t+1) {for(int i=1;i<25;i=i+1) {PORTB=1; _delay_us(100); PORTB=0; _delay_us(100);} _delay_us(25);} _delay_ms(200); }_delay_ms(1000);} return 1; }
Комментарии