Ви не увійшли.
Сторінки 1
Работает усё. Оказалось китаёзы херово пропаяли кварц и сигнала не было.
Как проверить радиомодули 433 МГц на одной плате Ардуино Уно?
Ставил на две Atmega8 чет не работает. Ищю причину.
Еще так делать можно (как на видосе)?
https://www.youtube.com/watch?v=wu_nIlOP3eE
Спасибо.
Я спрашиваю конкренто о куске коде выше, который хочу залить в Атмегу8. Остальную память под другое выделяю. А с библиотекой RDA5807M уже порабодал на Уне. Это другой проэкт. Если есть ответ, плиз, ответьте!
Как громкость сюды вставить?
void setFrequency(double fmhz) // Функция загрузки частоты настройки в модуль EM5807M.
{
int frequencyB = 4 * (fmhz * 1000000 + 225000) / 32768;
char frequencyH = frequencyB >> 8; // Старший байт.
char frequencyL = frequencyB & 0XFF; // Накладываем маску 0xFF на младший байт.
Wire.beginTransmission(0x60); // Адрес чипа RDA5807M
Wire.write(frequencyH); // Старший байт.
Wire.write(frequencyL); // Младший байт.
Wire.write(0xB8); // 1011 1000 =Стерео
Wire.write(0x10); // 0001 0000
Wire.write((byte)0x00); //
Wire.endTransmission(); // формируем I2C-Stop.
}
Регулировка громкости. Куда и что тут вставлять?
void setFrequency(double fmhz) // Функция загрузки частоты настройки в модуль EM5807M.
{
int frequencyB = 4 * (fmhz * 1000000 + 225000) / 32768;
char frequencyH = frequencyB >> 8; // Старший байт.
char frequencyL = frequencyB & 0XFF; // Накладываем маску 0xFF на младший байт.
Wire.beginTransmission(0x60); // Адрес чипа RDA5807M
Wire.write(frequencyH); // Старший байт.
Wire.write(frequencyL); // Младший байт.
Wire.write(0xB8); // 1011 1000 = Стерео
Wire.write(0x10); // 0001 0000
Wire.write((byte)0x00); //
Wire.endTransmission(); // формируем I2C-Stop.
}
Нарыл код в нете для FM радио на Ардуино на базе EM5807M. Залил это дело в Atmega8, все заработало, сделал простой выбор стаций.
А кто знает как управлять програмно громкостью, басами, стерео/моно и др. Используемая часть кода ниже.
#include <Wire.h> // I2C-Library
double f_ini=104.3; // Стартовая частота настройки приемника. (Изменяем на нужную).
void setup() // Инициализация.
{
Wire.begin(); // Инициализация двухпроводной шины I2C.
setFrequency(f_ini); // Вызываем фукнкцию загрузки частоты настройки в модуль EM5807M.
}
void loop() // Основной цикл программы
{
//
}
void setFrequency(double fmhz) // Функция загрузки частоты настройки в модуль EM5807M.
{
int frequencyB = 4 * (fmhz * 1000000 + 225000) / 32768;
char frequencyH = frequencyB >> 8; // Старший байт.
char frequencyL = frequencyB & 0XFF; // Накладываем маску 0xFF на младший байт.
Wire.beginTransmission(0x60); // Адрес чипа RDA5807M
Wire.write(frequencyH); // Старший байт.
Wire.write(frequencyL); // Младший байт.
Wire.write(0xB8); // 1011 1000 = Стерео
Wire.write(0x10); // 0001 0000
Wire.write((byte)0x00); //
Wire.endTransmission(); // формируем I2C-Stop.
}
http://forklg.ru/viewtopic.php?f=98&t=1173
Сторінки 1