roboforum.ru

Технический форум по робототехнике.

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

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

sound » 29 май 2011, 09:12

Здраствуйте!подскажите плиз как работать с пьезолектричий излучатель без встроеного генератора.а точнее как заставить его издовать различные звуки при нажатии на определенную кнопку!?

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);
     }
}

Под ваш компилятор и МК я думаю сможете адаптировать.

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(время задержки); // пауза
}

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

HarryStar » 06 июн 2011, 19:23

да будет, только в цикл надо запихать

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

sound » 06 июн 2011, 21:07

что в цыкал?как я думаю это все дело будет происходить при прирываини тамеров счетчиков!?а это и есть цыкл...?или я не правельно думаю.

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

HarryStar » 06 июн 2011, 23:48

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


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

Аж читать неприятно. Бывает торопишься, делаешь пару ошибок, но это перебор.

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

solit » 06 июн 2011, 23:53

Рекомендую свериться с мануалом на излучатель, бывают такие у которых рабочее напряжение 30В, и от 5В они не запищат, и еще у некоторых бывает очень высокая добротность, т.е. нормально пищать они будут только на определенной частоте.
Если не жалко двух пинов, то лучше подключать его не к земле и пину, а к двум пинам и подавать на них по очередно 01 и 10 - так в два раза громче получится.

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

sound » 10 июн 2011, 06:55

а вот теперь..такой вопрос как сделать что бы,пищалка пищада разные частоты но не спомощью команды делай ,а защет процедур прирывания!?

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

solit » 10 июн 2011, 13:04

Не надо прерывания. Если есть свободный таймер (лучше 16 битный), то настраиваешь его в режим "wave form generation" пищалку подключаешь к выходам OCnx. Для смены частоты перепрограмируешь регистры OCRnx и ни каких прерываний!


Rambler\'s Top100 Mail.ru counter