пьезолектричий излучатель без встроеного генератора.

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

пьезолектричий излучатель без встроеного генератора.

Сообщение sound » 29 май 2011, 09:12

Здраствуйте!подскажите плиз как работать с пьезолектричий излучатель без встроеного генератора.а точнее как заставить его издовать различные звуки при нажатии на определенную кнопку!?
sound
 
Сообщения: 5
Зарегистрирован: 28 май 2011, 14:55

Re: пьезолектричий излучатель без встроеного генератора.

Сообщение HarryStar » 29 май 2011, 16:49

Это очень просто. Подключите его к любому пину порта А и запустите следующую программу:
Код: Выделить всё
#include "delay.h"
main()
{
   PORTA=0x00; DDRA=0xFF;
   while(1)
     {
        PORTA = 0x00;
        delay_ms(5);
        PORTA = 0xFF;
        delay_ms(5);
     }
}

Под ваш компилятор и МК я думаю сможете адаптировать.
Аватара пользователя
HarryStar
 
Сообщения: 995
Зарегистрирован: 15 ноя 2010, 13:56
Откуда: Нижний Новгород
прог. языки: С, С++, РНР

Re: пьезолектричий излучатель без встроеного генератора.

Сообщение sound » 06 июн 2011, 17:52

а вот такаой вареант будет работать???
if (bit_is_clear(PINC, 2)) {
PORTD.7=~PIND.7;
delay_us(1911);};

или вот такой вариант?

if (bit_is_clear(PINC, 2)) {
PORTA.1=0;
delay_us(время задержки); // пауза
PORTA.1=1;
delay_us(время задержки); // пауза
}
sound
 
Сообщения: 5
Зарегистрирован: 28 май 2011, 14:55

Re: пьезолектричий излучатель без встроеного генератора.

Сообщение HarryStar » 06 июн 2011, 19:23

да будет, только в цикл надо запихать
Аватара пользователя
HarryStar
 
Сообщения: 995
Зарегистрирован: 15 ноя 2010, 13:56
Откуда: Нижний Новгород
прог. языки: С, С++, РНР

Re: пьезолектричий излучатель без встроеного генератора.

Сообщение sound » 06 июн 2011, 21:07

что в цыкал?как я думаю это все дело будет происходить при прирываини тамеров счетчиков!?а это и есть цыкл...?или я не правельно думаю.
sound
 
Сообщения: 5
Зарегистрирован: 28 май 2011, 14:55

Re: пьезолектричий излучатель без встроеного генератора.

Сообщение HarryStar » 06 июн 2011, 23:48

Это не принципиально, можно в цикл, можно по таймеру, а вот с грамотностью беда
sound писал(а):что в цыкалак я думаю это все дело будет происходить при прирываини тамеров счетчиков! это и есть цыкл...ли я не правельно думаю.


Красным ошибки, а в сиреневых местах должен быть пробел.

Аж читать неприятно. Бывает торопишься, делаешь пару ошибок, но это перебор.
Аватара пользователя
HarryStar
 
Сообщения: 995
Зарегистрирован: 15 ноя 2010, 13:56
Откуда: Нижний Новгород
прог. языки: С, С++, РНР

Re: пьезолектричий излучатель без встроеного генератора.

Сообщение solit » 06 июн 2011, 23:53

Рекомендую свериться с мануалом на излучатель, бывают такие у которых рабочее напряжение 30В, и от 5В они не запищат, и еще у некоторых бывает очень высокая добротность, т.е. нормально пищать они будут только на определенной частоте.
Если не жалко двух пинов, то лучше подключать его не к земле и пину, а к двум пинам и подавать на них по очередно 01 и 10 - так в два раза громче получится.
solit
 
Сообщения: 13
Зарегистрирован: 30 май 2011, 11:38
Откуда: Рига, Латвия
прог. языки: C

Re: пьезолектричий излучатель без встроеного генератора.

Сообщение sound » 10 июн 2011, 06:55

а вот теперь..такой вопрос как сделать что бы,пищалка пищада разные частоты но не спомощью команды делай ,а защет процедур прирывания!?
sound
 
Сообщения: 5
Зарегистрирован: 28 май 2011, 14:55

Re: пьезолектричий излучатель без встроеного генератора.

Сообщение solit » 10 июн 2011, 13:04

Не надо прерывания. Если есть свободный таймер (лучше 16 битный), то настраиваешь его в режим "wave form generation" пищалку подключаешь к выходам OCnx. Для смены частоты перепрограмируешь регистры OCRnx и ни каких прерываний!
solit
 
Сообщения: 13
Зарегистрирован: 30 май 2011, 11:38
Откуда: Рига, Латвия
прог. языки: C


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20