| www.kn34pc.com https://kn34pc.com/forums/ |
|
| Радиоприемник в кутия от радиоточка https://kn34pc.com/forums/viewtopic.php?f=60&t=1179 |
Страница 3 от 4 |
| Автор: | LZ2WSG [ 04 Авг 2024, 23:00 ] |
| Заглавие: | Re: Радиоприемник в кутия от радиоточка |
Цитат: avrdude: ser_open(): can't set com-state for COMn Пробвай с по-стар драйвер. |
|
| Автор: | DVS [ 07 Авг 2024, 06:51 ] |
| Заглавие: | Re: Радиоприемник в кутия от радиоточка |
Пробвах с Ver. 3.8, после и с по-стария Ver. 1.7, пробвах и всички UBS-та - нищо не се получи. Разпознава платката, няма някакви конфликти в дивайс мениджъра и т.н. Остана само да пробвам с по-къс USB кабел, че сега съм с един 50 см. |
|
| Автор: | LZ2WSG [ 07 Авг 2024, 08:04 ] | ||
| Заглавие: | Re: Радиоприемник в кутия от радиоточка | ||
Деинсталирай наличните драйвери, като отметнеш и изтриване на файловете. Рестартирай. Използвам този стар драйвер на няколко PC:
|
|||
| Автор: | LZ2WSG [ 08 Авг 2024, 19:44 ] |
| Заглавие: | Re: Радиоприемник в кутия от радиоточка |
Супер. Само да спомене коя библиотека за RDA5807M (написани все пак от човек) е изполвал, че са много. AI да пали поялника и да запоява и платката |
|
| Автор: | DVS [ 12 Авг 2024, 14:39 ] |
| Заглавие: | Re: Радиоприемник в кутия от радиоточка |
:D Тая работа с AI няма да завърши добре. След като му направих забележка за библиотеката, веднага ми изпрати код за БНР, 103 MHz, София, без библиотека: Код за потвърждение: #include <Wire.h>
#define RDA5807_ADDR 0x10 void setup() { Wire.begin(); Serial.begin(9600); tuneFrequency(1030); // Tune to 103.0 MHz, BNR, Sofia } void loop() { } void tuneFrequency(float frequency) { uint16_t freqReg = (uint16_t)((frequency - 87.5) * 100); uint16_t freq = (freqReg + 10) << 2; uint16_t controlReg = 0x0000; controlReg |= 0x0340; writeRegister(0x00, controlReg); writeRegister(0x02, freq); uint16_t status = readRegister(0x01); Serial.print("Status Register: "); Serial.println(status, HEX); } void writeRegister(uint8_t reg, uint16_t data) { Wire.beginTransmission(RDA5807_ADDR); Wire.write(reg); Wire.write(data >> 8); Wire.write(data & 0xFF); Wire.endTransmission(); } uint16_t readRegister(uint8_t reg) { Wire.beginTransmission(RDA5807_ADDR); Wire.write(reg); Wire.endTransmission(); Wire.requestFrom(RDA5807_ADDR, 2); uint16_t data = (Wire.read() << 8) | Wire.read(); return data; } |
|
| Автор: | DVS [ 23 Авг 2024, 06:37 ] | |||
| Заглавие: | Re: Радиоприемник в кутия от радиоточка | |||
Досвидя ми да слагам цяла платка вътре, затова записах няколко чипа 328P, които със сигурност няма да използвам НИКОГА! Изгубих много време да си припомням това Ардуино и не искам да чувам повече за него Ето кода, ако някой иска приема само една радиостанция: Код за потвърждение: #include <Wire.h>
double f_ini = 103; // БНР 103 МHz София void setup() { Wire.begin(); setFrequency(f_ini); } void loop() { } void setFrequency(double fmhz) { int frequencyB = 4 * (fmhz * 1000000 + 225000) / 32768; char frequencyH = frequencyB >> 8; char frequencyL = frequencyB & 0XFF; Wire.beginTransmission(0x60); Wire.write(frequencyH); Wire.write(frequencyL); Wire.write(0xB8); Wire.write(0x10); Wire.write((byte)0x00); Wire.endTransmission(); }
|
||||
| Автор: | LZ2WSG [ 23 Авг 2024, 11:51 ] |
| Заглавие: | Re: Радиоприемник в кутия от радиоточка |
Мисли по картинка: свързан за програмиране по горната първа снимка, с (почти) същия програмен код към радио-чипа (с някой ред в повече), чрез MicroCore в Arduino IDE, чипчето вместо 28 изводния ATmega328/168 и външен кварц можеше да е 8 изводния ATtiny13A без външен кварц. |
|
| Автор: | DVS [ 30 Авг 2024, 11:13 ] |
| Заглавие: | Re: Радиоприемник в кутия от радиоточка |
Да, ама куриерът ми иска 7 лв за доставката на това малко чипче, а тези тухли 328Р и без това не ми трябват |
|
| Автор: | DVS [ 30 Авг 2024, 11:22 ] | |||
| Заглавие: | Re: Радиоприемник в кутия от радиоточка | |||
Това е почти на финала, спестих си фабричната платка на Arduino Uno и сложих някаква DIY, за която дори не си спомням защо съм я правил. Радиото работи перфектно в София на 103 MHz, с антена около половин метър. Проблемът, е, че започва да работи добре след около 20 - 30 секунди, а преди това има някакви преходни процеси - пращи, чуват се разни станции и след това всичко се стабилизира. Направил съм клипче, ако някой иска чуе и да помисли върху проблема: https://youtube.com/shorts/Ad660yHNsyc Захранването в момента е импулсно, 12 V.
|
||||
| Автор: | LZ2WSG [ 31 Авг 2024, 11:37 ] |
| Заглавие: | Re: Радиоприемник в кутия от радиоточка |
Странна работа. Тест с прогр. код от 4 съобщения по-горе: няма забавяне при включване. С Arduino UNO стартираше ли нормално? |
|
| Автор: | DVS [ 02 Сеп 2024, 06:35 ] |
| Заглавие: | Re: Радиоприемник в кутия от радиоточка |
Не помня, беше на слушалки, но след като ми обърна внимание, пак го включих към Arduino Uno и всичко беше нормално. Преди това един приятел предложи да ми даде излишна за него платка за забавено включване на НЧУ (100 W), което щеше да върши работа, аз пък реших да напиша 2-3 реда в кода и през свободен пин на 328Р да управлявам усилвателя през MUTE или SWCH (напр. включване след 20 секунди) - все гениални решения, като напр. да вкарам в кода моно, а не стерео приемане. След дълго чудене се реши да се сложи един електролитен кондензатор на RESET към маса и радиото заработи нормално. RC веригата 4.7к и 1 мкф оправи нещата. Качеството на приемане е много добро, но като че ли се променя през различните часове на деня. Вечер е идеално - направо лампов звук |
|
| Автор: | LZ2WSG [ 02 Сеп 2024, 13:52 ] |
| Заглавие: | Re: Радиоприемник в кутия от радиоточка |
DVS написа: ... да се сложи един електролитен кондензатор на RESET към маса и радиото заработи нормално. RC веригата 4.7к и 1 мкф оправи нещата ... Да, преди време за RDA5807 в емулация на TEA5767 беше необходимо да забавя старта. Програмно забавяне в случая: Цитат: Трябва по-голямо strart-up time. Увеличих времето при power-on преди първоначалното зареждане на регистрите ... delay_ms(600); -> delay_ms(1000); kn34pc.com/forums/RDA5807M - общи въпроси |
|
| Автор: | DVS [ 03 Сеп 2024, 11:15 ] | |||
| Заглавие: | Re: Радиоприемник в кутия от радиоточка | |||
Да, ама кой да чете И понеже беше споменал АTtiny13a, ето какво начертах и бих го пробвал някога, но само заради кода от АI - написа код на три страници, та се наложи да го принудя да го събере в 20 реда. Код за потвърждение: #include <avr/io.h>
#include <util/delay.h> #define RDA5807_ADDR 0x10 #define FREQ_REGISTER 0x03 void i2c_start() { PORTB &= ~0x08; PORTB &= ~0x10; } void i2c_stop() { PORTB |= 0x10; PORTB |= 0x08; } void i2c_write(uint8_t data) { for (uint8_t i = 0; i < 8; i++) { PORTB = (data & 0x80) ? (PORTB | 0x08) : (PORTB & ~0x08); PORTB |= 0x10; PORTB &= ~0x10; data <<= 1; } } void rda5807_init() { i2c_start(); i2c_write(RDA5807_ADDR << 1); i2c_write(0x00); // Reset i2c_write(0x81); // Enable, mono i2c_write(FREQ_REGISTER); i2c_write(0x3C); // 103.00 MHz i2c_stop(); } int main(void) { DDRB |= 0x18; // Set SDA, SCL as output PORTB |= 0x18; rda5807_init(); while (1); }
|
||||
| Автор: | LZ2WSG [ 05 Сеп 2024, 15:29 ] | ||
| Заглавие: | Re: Радиоприемник в кутия от радиоточка | ||
Код за потвърждение: void i2c_stop() { PORTB |= 0x10; PORTB |= 0x08; } ... и други. Съмнявай се в работоспособността. А трябва да е:
|
|||
| Страница 3 от 4 | Часовете са според зоната UTC + 2 часа |
| Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |
|