PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Дополнительные устройства (http://pccar.ru/forumdisplay.php?f=177)
-   -   Виджет для Remote steering wheel control (http://pccar.ru/showthread.php?t=21272)

Serg-Zmuh 12.04.2016 17:36

Вложений: 2
Цитата:

Сообщение от DelleTenebre (Сообщение 358146)
В версию SerialManager 1.3 добавил настройки Data Bits, Stop Bits, Parity. Возможно это поможет решить проблемы с Uno. Лично мне вышеназванные настройки ни о чём не говорят и их комбинации, возможно, будут бесполезными.

ali_vlad, в следующую версию добавлю передачу данных (надеюсь :)).

спасибо ! завтра по-эксперементирую

поэкперементировал с UNOй ....
если интересно то вот что в logcat'е творится(в конце вложение) ,может пригодится инфа для будущего улучшения SM )

теперь вопрос другой ..., можно? вернее просьба :blush:
как в скетч (который сейчас работает норм у мня)
добавить измерения бортового напряжения в диапазоне от 0 до 30 В?
много что в инете перечитал ,нашел уроки что и как но как совместить добавить еще не понимаю пока ...
вычитал что для более-менее нормального мониторинга бортового напряжения используются скетч с использованием опорного напряжения
Ардуины 1.1 вольта ,
вот пример Скетча:

Код:

/*--------------------------------------------------------------
  Program:      volt_measure

  Description:  Reads value on analog input A2 and calculates
                the voltage assuming that a voltage divider
                network on the pin divides by 11.
 
  Hardware:    Arduino Uno with voltage divider on A2.
               
  Software:    Developed using Arduino 1.0.5 software
                Should be compatible with Arduino 1.0 +

  Date:        22 May 2013
 
  Author:      W.A. Smith, http://startingelectronics.com
--------------------------------------------------------------*/
#include

//            R1          R2
//  Vin ----/\/\/\----*----/\/\/\---- GND
//                    |
//                    | Vout
//                    |
//                ANALOG PIN 
// * Vin : input voltage (the voltage we try to meter)
// * Vmax : the maximum value of the input voltage
// * Vout : the output voltage (the Vin remapped to 0 .. 1.1V)

// Choose R1 and R2 CAREFULLY according to the following rule:

// R1 = R2 x 1.1 / (Vmax - 1.1)
// R2 = R1 x (Vmax - 1.1) / 1.1

// A typical configuration is R1 = 1k and R2 = 4k. It assumes Vmax = 5.5V.

// number of analog samples to take per reading
#define NUM_SAMPLES 10

int sum = 0;                    // sum of samples taken
unsigned char sample_count = 0; // current sample number
float voltage = 0.0;            // calculated voltage

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
    Serial.begin(9600);
}

void loop()
{
    // take a number of analog samples and add them up
    while (sample_count < NUM_SAMPLES) {
        sum += analogRead(A2);
        sample_count++;
        delay(100);
    }
    // calculate the voltage
    // use 5.0 for a 5.0V ADC reference voltage
    // 5.015V is the calibrated reference voltage
    voltage = ((float)sum / (float)NUM_SAMPLES * 5.015) / 1024.0;
    // send voltage for display on Serial Monitor
    // voltage multiplied by 11 when using voltage divider that
    // divides by 11. 11.132 is the calibrated voltage divide
    // value
    lcd.begin(16, 2);
    lcd.print("  Volt= ");
    lcd.print(voltage * 9.1);
    lcd.print("V");
   
    Serial.print(voltage * 9.1);
    Serial.println (" V");

    sample_count = 0;
    sum = 0;
}

вот еще есть проэкт
ну тут сделано с выводом на экран ЛСД ,мне этого ,понятно, не надо .
с делителем напряжения и фильтрами мне все понятно вроде ,и как отлаживать в код тоже...
делитель вот такой хочу применить

нужна помощь именно по внедрению типа этого скетча в мой с выводом
в serial типа "CHG" или "voltage" там и сам если что поправлю :blush:

Максимэ 17.04.2016 18:36

Как-то так!
https://cloclo27.datacloudmail.ru/we...koff%40mail.ru
Код:

#include
#include
char incomingByte;
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0;
float R2 = 10000.0;
int value = 0;
OneWire OW_tempa(9);
OneWire OW_tempb(10);
OneWire OW_tempc(11);
DallasTemperature tempa(&OW_tempa);
DallasTemperature tempb(&OW_tempb);
DallasTemperature tempc(&OW_tempc);
DeviceAddress tempaAddress, tempbAddress, tempcAddress;
void setup(void){
Serial.begin(9600);
pinMode(analogInput,INPUT);
tempa.begin();
tempb.begin();
tempc.begin();
}
void loop(void){
  value = analogRead(analogInput);
  vout = (value*5.0)/1024.0;
  vin = vout/(R2/(R1+R2));
  if(vin<0.09){
    vin = 0.0;
  }
tempa.requestTemperatures();
delay(700);
Serial.print(" if ( !tempa.getAddress(tempaAddress,0)){
Serial.print("0");
}else{
Serial.print(tempa.getTempCByIndex(0),1);
}
Serial.println(">");
tempb.requestTemperatures();
delay(700);
Serial.print(" if ( !tempb.getAddress(tempbAddress,0)){
Serial.print("0");
}else{
Serial.print(tempb.getTempCByIndex(0),1);
}
Serial.println(">");
tempc.requestTemperatures();
delay(700);
Serial.print(" if ( !tempc.getAddress(tempcAddress,0)){
Serial.print("0");
}else{
Serial.print(tempc.getTempCByIndex(0),1);
}
Serial.println(">");
delay(700);
Serial.print(" Serial.print(vin,2);
Serial.println(">");
}


Serg-Zmuh 18.04.2016 10:47

Максимэ

СПС...
заработало и показывает все !

только точность страдает ...., надо скетч с опорным напряжением все таки делать ,у мня БП на хаб в машине не очень ,наверно поэтому так ...

и на этом большое спасибо !

P.S. вот я пытаюсь вникнуть как скетч делается ... ,вроде не совсем уж
тупой и компами и с паяльником уже лет 20 как , а непойму нифига,
видать нет жилки этой программерской что ли .... :blush:
А просить тут и клянчить уже неудобно ....

Tommy_Gun 18.04.2016 14:06

Цитата:

Сообщение от Serg-Zmuh (Сообщение 358699)
Максимэ

СПС...
заработало и показывает все !

только точность страдает ...., надо скетч с опорным напряжением все таки делать ,у мня БП на хаб в машине не очень ,наверно поэтому так ...

и на этом большое спасибо !

P.S. вот я пытаюсь вникнуть как скетч делается ... ,вроде не совсем уж
тупой и компами и с паяльником уже лет 20 как , а непойму нифига,
видать нет жилки этой программерской что ли .... :blush:
А просить тут и клянчить уже неудобно ....

Для точности отличная штука - INA219. Без труда разобрался. Побаловался и заказал еще прозапас. Скетчь простой до безобразия. Правда INA219 до 26 вольт всего. Но есть еще INA 226. Та до 36В.

oleg707 18.04.2016 14:09

Цитата:

Сообщение от Serg-Zmuh (Сообщение 358699)
Максимэ

СПС...
заработало и показывает все !

только точность страдает ...., надо скетч с опорным напряжением все таки делать ,у мня БП на хаб в машине не очень ,наверно поэтому так ...

и на этом большое спасибо !

P.S. вот я пытаюсь вникнуть как скетч делается ... ,вроде не совсем уж
тупой и компами и с паяльником уже лет 20 как , а непойму нифига,
видать нет жилки этой программерской что ли .... :blush:
А просить тут и клянчить уже неудобно ....

попробуй измерения от внутреннего опроного напряжения мерять (1,1B), либо от втроенной кренки (5,0 В) на опорный (REF) пин подпаяться (должен быть <= питанию).
Можешь подсмотреть решение у меня в блоке питания, я там напруги меряю, точность +-0,03. Про 1,1 опорку в 3й версии в скетче описание.

fedor5800 24.06.2016 19:19

друзья подскажите по теме самой проги Remote steering wheel control, непонятна схема подключения https://lh5.googleusercontent.com/-1...ini_pinout.png Получается там объеденены входы А0 и D13?
И резистор подтяжки идет на массу?
Так и есть, подключил вместе аналог вход и цифровой, и схема заработала.

mihrun79 06.04.2017 19:56

Люди добрые,если что,извиняйте,но по Steering wheel control вопрос: там через таскер шоткатами можно рулить,а как в самом таскер создать задачу,которая будет отрабатывать кнопки(сочетание кнопок) клавиатуры?Помогите советом!


Часовой пояс GMT +4, время: 00:13.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot