Выдрал из китайского модулятора микросхему KT0803k. Это стерео трансмитер в FM диапазоне. Управляется по I2C шине.
Кто нибудь подскажет примерный скетч которым модно порулить ей с помошью Freeduino?
Страницы 1
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форум freeduino.ru → Сообщения от Anton-ST
Страницы 1
Выдрал из китайского модулятора микросхему KT0803k. Это стерео трансмитер в FM диапазоне. Управляется по I2C шине.
Кто нибудь подскажет примерный скетч которым модно порулить ей с помошью Freeduino?
Как фридуиной померять частоту LC контура? Интерисует программная реализация.
Delay поставил сразу после провеки кнопки - стало лучше. Но всеравно не четко срабатывает
Почему то у меня вот этот блок работает непонятно
// проверка кнопки
void buttonread()
{
b = digitalRead(button);// читаем состояние кнопки
if (b == LOW) // если кнопка нажата
{
C=C+1; //нажали кнопку - увеличили на 1 хранилище
if (C>4){C=0;}//Для примера - 5 положений 0 1 2 3 4, если больше - очищаем хранилище
}
delay(50);//задержка для защиты от двойного нажатия, стоит ее подкорректировать под себя
Serial.println(C);
}
Запускаю программу - сразу по кнопке идет 0. По нажатию проскакивают 1-2-3. переменная С становится 3. Еще раз нажимаю. Переменная С == 4, Еще раз жму. Проскакивает 0-1-2-3. И С ==3.
Вот тут не хочет из цикла выходить
Не пойму почему?
for(int j = 0; j <= 15; j++) // цикл
{
b = digitalRead(button);// читаем состояние кнопки
v = analogRead(pot); //мигаем и меняем частоту
v /= 4;
digitalWrite(led10, HIGH);
digitalWrite(led11, LOW);
delay(v);
digitalWrite(led10, LOW);
digitalWrite(led11, HIGH);
delay(v);
Кнопка подтянута к плюсу.
Спасибо. Сейчас попробую!
Купил фридуину. Сижу изучаю.
Опыт программирования никакой. Но очень охота научиться.
Написал вот такой скетч
// переменные и порты
int led10 = 10;
int led11 = 11;
int pot = 0;
int button = 2;
int v;// время мигания - регулирутся переменником
int b;// состояние кнопки
int s;
// установки
void setup()
{
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(pot, INPUT);
pinMode(button, INPUT);
}
// работаем
void loop()
{
digitalWrite(led10, LOW); //тушим светодиоды
digitalWrite(led11, LOW); //тушим светодиоды
b = digitalRead(button);// читаем состояние кнопки
if (b == HIGH) // если кнопка не нажата
{
for(int shim = 0; shim <=255; shim +=5)
{
analogWrite(led11, shim);
delay(30);
}
for(int shim = 255; shim >=0; shim -=5)
{
analogWrite(led11, shim);
delay(30);
}
for(int shim10 = 0; shim10 <=255; shim10 +=5)
{
analogWrite(led10, shim10);
delay(30);
}
for(int shim10 = 255; shim10 >=0; shim10 -=5)
{
analogWrite(led10, shim10);
delay(30);
}
}
else // иначе
{
for(int j = 0; j <= 15; j++) // цикл
{
v = analogRead(pot); //мигаем и меняем частоту
v /= 4;
digitalWrite(led10, HIGH);
digitalWrite(led11, LOW);
delay(v);
digitalWrite(led10, LOW);
digitalWrite(led11, HIGH);
delay(v);
}
}
}
Вроде все работает но есть одно но
Нажатие на кнопку воспринимается только при завершении цикла
for(int shim10 = 0; shim10 <=255; shim10 +=5)
{
analogWrite(led10, shim10);
delay(30);
}
for(int shim10 = 255; shim10 >=0; shim10 -=5)
{
analogWrite(led10, shim10);
delay(30);
}
а хотелось чтобы это происходило всегда.
И второй вопрос как сделать чтобы при нажатии кнопки 1 раз выполнялось какое либо действие - например мигал светодиод, а если еще раз нажать - то дркгое действие - например другой светодиод.
Страницы 1
Форум freeduino.ru → Сообщения от Anton-ST
Форум работает на PunBB, при поддержке Informer Technologies, Inc