Ардуино: меняем не только скорость передачи, но и
длительность паузы.
Всем читателям моего блога привет! Спасибо что заходите в
гости. Сегодня мы продолжим улучшать наш проект «Радиомаяк-2». В прошлый раз мы
с помощью переменного резистора научились управлять скоростью передачи азбукой Морзе.
Теперь давайте научимся управлять длительностью пауз в конце каждой передачи.
Опять возникает вопрос а зачем? А вот для чего: после того как маяк отправил
морзянкой сообщение, необходимо выдержать паузу длительностью от 1 минуты или
больше. За это время «отдохнет» передатчик, вернее выходной транзистор (который
может нагреваться) …
В общем дело нужное. Все что нам нужно сделать, так это
немного изменить саму схему: ввести в нее еще один переменный резистор, и
естественно немного изменить и сам скетч. Начнем со скетча. По сути код почти и
не измениться: разве что только придется добавить еще одну строку кода, где
будет вестись «считывание» данных со второго переменного резистора.
const int pot=0;
// задаем А0 для потенциометраR1
const int pot1=1;
// задаем А1 для потенциометра R2
float val=0;
// задаем начальное значение переменной R1
float
val1=0; // R2
void
setup() {
// put your setup code here, to run once:
pinMode
(7, OUTPUT);
}
void
loop() {
// put your main code here, to run
repeatedly:
val=analogRead
(pot); // чтение данных с
R1
val1=analogRead
(pot1); // чтение данных с R2
}
Но нам конечно же нужно не только считать данные с
переменных резисторов R1
и R2, но так же немного
преобразовать полученные данные. Для этого мы просто изменим немного строки
скетча, где сразу же и произведем обработку этих данных.
int dot = 100; // длительность точки
int tir = 300; // длительность тире
int iedPin = 7; // звук на 7 пин
int
pause = 600; // пауза знака
const
int pot=0;
const
int pot1=1;
float
val=280;
float
val1=1;
float
vals=1;
void
setup()
{
pinMode (7, OUTPUT);
}
void
loop()
{
val=map (analogRead (pot),0,1024,160,350);
vals=val/250;
dot=100*vals;
tir=300*vals;
val1=map (analogRead (pot1),0,1024,1,10);
delay(1000*val1);
}
Комментариев нет:
Отправить комментарий