С USB вопрос вроде уже закрыт http://compcar.ru/forum/showthread.php?t=4281
A вот не дорогой и доступный в продаже модуль радио , так еще не определились какой?
С USB вопрос вроде уже закрыт http://compcar.ru/forum/showthread.php?t=4281
A вот не дорогой и доступный в продаже модуль радио , так еще не определились какой?
я про USB и не говорил
http://www.radiokot.ru/lab/controller/43/
Есть ли какой прогресс? Что-то затихла тема
Ап теме. Делимся наработками с тюнером TUX-032
Хочется встроить радио в свою приборку, а значит нужен тюнер управляемый по цифре. Нигде нет никакой информациистранно.
Не помню кто поделился , но вот скетчь для цифрового тюнера
PHP код:
#include <Wire.h>
int ess = 0;
int es = 0;
int enc_s = 1;
int enc_ss = 0;
int acc = 0;
int y = 0;
int w = 0;
byte t=0;
int g=0;
long int dt = 0;
long int da = 0;
int array1[] = {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0};
int d0 = 0;
int d1 = 0;
int encoder0Pos = 0;
int encoder0PinALast = HIGH;
int n = LOW;
byte encoder_mode = 0; // 0 - громкость.1-баланс.2-фейд.3-low.4-mid.5-hi.6-sub.7-sub-mode,8-ничего
byte controls[] = {30,15,15,10,10,10,18,2,0};
int incomingByte = 0; // for incoming serial data
int controlword[] = {0,0,0,0,0,0,0,0};
int controlact = 0;
long f = 0;
long fif = 10700;
long fref = 50;
int ndec = 0;
long ggg = 0;
byte a=69;
byte b=82;
int onn = 0;
void tunera3() {
Wire.beginTransmission(97);
Wire.send(0x87);
Wire.send(0xD1);
Wire.endTransmission();
}
void tunera0() {
Wire.beginTransmission(97);
Wire.send(0x80);
Wire.send(d0);
Wire.send(d1);
Wire.send(0x64);
Wire.send(0xAC);
Wire.send(0xC5);
Wire.send(0x48);
Wire.send(0xA2);
Wire.send(0xD1);
Wire.endTransmission();
}
void setup()
{
// тут используются только digital pin2, остальные просто не убирал.
pinMode(13, OUTPUT); // RL так же на STB TDA8588 убрать потом.
pinMode(2, OUTPUT); // Monitor power (или может включение подсветки)
pinMode(3, OUTPUT); // кнопка POWER на компе
pinMode(6, INPUT); //enc
digitalWrite(6, HIGH);
pinMode(7, INPUT); //enc
digitalWrite(7, HIGH);
pinMode(5, INPUT); //enc button
digitalWrite(5, HIGH);
pinMode(14, INPUT); //ACC
Wire.begin();
Serial.begin(115200);
}
void loop()
{
if (Serial.available() > 0) {
incomingByte = Serial.read();
if (controlact == 0) {
if (incomingByte == 13 && g != 7) {
incomingByte=0;
g=0;
for (int i=0; i <= 7; i++)
{
controlword[i]=0;
}
Serial.print(a);
Serial.print (b);
Serial.print("\r\n");
}
if (incomingByte == 114 && g == 0) {
controlword[g] = incomingByte;
g++;
incomingByte=0;
}
if (incomingByte == 102 && g == 1){
controlword[g] = incomingByte;
g++;
incomingByte=0;
}
if (incomingByte >= 48 && incomingByte <= 57 && g == 2) {
controlword[g] = incomingByte;
g++;
incomingByte=0;
}
if (incomingByte >= 48 && incomingByte <= 57 && g == 3) {
controlword[g] = incomingByte;
g++;
incomingByte=0;
}
if (incomingByte >= 48 && incomingByte <= 57 && g == 4) {
controlword[g] = incomingByte;
g++;
incomingByte=0;
}
if (incomingByte >= 48 && incomingByte <= 57 && g == 5) {
controlword[g] = incomingByte;
g++;
incomingByte=0;
}
if (incomingByte >= 48 && incomingByte <= 57 && g == 6) {
controlword[g] = incomingByte;
g++;
incomingByte=0;
}
if (incomingByte == 13 && g == 7) {
controlword[g] = incomingByte;
controlact = 1;
incomingByte=0;
g=0;
}
}
if (controlact == 1) {
f=0;
ggg=controlword[2]-48;
f = ggg*100000;
ggg=controlword[3]-48;
f = f + ggg*10000;
ggg=controlword[4]-48;
f = f + ggg*1000;
ggg=controlword[5]-48;
f = f + ggg*100;
ggg=controlword[6]-48;
f = f + ggg*10;
if (f >=87500 && f <= 108000) {
Serial.print(f);
Serial.print("\r\n");
ndec = (f + fif)/fref;
for (int i=0; i <= 14; i++)
{
da=ndec/2;
dt=ndec-da*2;
if (dt == 0) {
array1[i] = 0;
} else {
array1[i] = 1;
}
ndec = da;
}
d1=0;
d0=0;
for (int i=7; i >= 0; i--)
{
d1=d1*2+array1[i];
}
for (int i=15; i >= 8; i--)
{
d0=d0*2+array1[i];
}
if (onn == 0) {
onn = 1;
digitalWrite(2,HIGH);
Wire.beginTransmission(97);
Wire.send(0x82);
Wire.send(0x64);
Wire.endTransmission();
delay(100);
Wire.beginTransmission(97);
Wire.send(0x80);
Wire.send(d0);
Wire.send(d1);
Wire.send(0x64);
Wire.send(0xAB);
Wire.send(0xC5);
Wire.send(0x48);
Wire.send(0xA2);
Wire.send(0xD1);
Wire.send(0xFD);
Wire.endTransmission();
delay(100);
Wire.beginTransmission(97);
Wire.send(0x87);
Wire.send(0xD1);
Wire.endTransmission();
delay(100);
}
tunera0();
tunera3();
} else {
if (onn == 1) {
onn = 0;
digitalWrite(2,LOW);
}
Serial.print(a);
Serial.print (b);
Serial.print("\r\n");
}
controlact = 0;
delay (100);
}
}
}
Спасибо, оч интересно. А что за тюнер?
Sony TUX-032
Теперь бы его найти где-нибудь![]()
В митино на развалах
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)