12.04.2016, 17:36 | #261 | |
Старший Пользователь
Регистрация: 19.02.2014
Возраст: 53
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
|
Цитата:
поэкперементировал с UNOй .... если интересно то вот что в logcat'е творится(в конце вложение) ,может пригодится инфа для будущего улучшения SM ) теперь вопрос другой ..., можно? вернее просьба как в скетч (который сейчас работает норм у мня) добавить измерения бортового напряжения в диапазоне от 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 <LiquidCrystal.h> // 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" там и сам если что поправлю
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе Последний раз редактировалось Serg-Zmuh; 15.04.2016 в 10:47. |
|
17.04.2016, 18:36 | #262 |
Новый Пользователь
Регистрация: 15.09.2008
Возраст: 41
Город: на работе
Регион: 38
Машина: 99\MMC\Pajero IO
Сообщений: 25
|
Как-то так!
Код:
#include <OneWire.h> #include <DallasTemperature.h> 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("<InDoor:"); if ( !tempa.getAddress(tempaAddress,0)){ Serial.print("0"); }else{ Serial.print(tempa.getTempCByIndex(0),1); } Serial.println(">"); tempb.requestTemperatures(); delay(700); Serial.print("<OutDoor:"); if ( !tempb.getAddress(tempbAddress,0)){ Serial.print("0"); }else{ Serial.print(tempb.getTempCByIndex(0),1); } Serial.println(">"); tempc.requestTemperatures(); delay(700); Serial.print("<Engine:"); if ( !tempc.getAddress(tempcAddress,0)){ Serial.print("0"); }else{ Serial.print(tempc.getTempCByIndex(0),1); } Serial.println(">"); delay(700); Serial.print("<Voltage:"); Serial.print(vin,2); Serial.println(">"); } |
18.04.2016, 10:47 | #263 |
Старший Пользователь
Регистрация: 19.02.2014
Возраст: 53
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
|
Максимэ
СПС... заработало и показывает все ! только точность страдает ...., надо скетч с опорным напряжением все таки делать ,у мня БП на хаб в машине не очень ,наверно поэтому так ... и на этом большое спасибо ! P.S. вот я пытаюсь вникнуть как скетч делается ... ,вроде не совсем уж тупой и компами и с паяльником уже лет 20 как , а непойму нифига, видать нет жилки этой программерской что ли .... А просить тут и клянчить уже неудобно ....
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе |
18.04.2016, 14:06 | #264 | |
Пользователь
Регистрация: 20.03.2014
Возраст: 39
Регион: 65
Сообщений: 64
|
Цитата:
|
|
18.04.2016, 14:09 | #265 | |
Гуру
Регистрация: 16.04.2014
Возраст: 40
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
|
Цитата:
Можешь подсмотреть решение у меня в блоке питания, я там напруги меряю, точность +-0,03. Про 1,1 опорку в 3й версии в скетче описание.
__________________
------------------------ Новая версия блока питания (BP5mini) для подключения всех планшетов (плата, прошивка, инструкции) ------------------------ Неспешно расписываемый проект. ------------------------ Регулировка звука аудиопроцессором. TDA7442 + ардуино. |
|
24.06.2016, 19:19 | #266 |
Старший Пользователь
Регистрация: 16.08.2013
Возраст: 40
Регион: 23, 93
Машина: Opel Vectra B
Сообщений: 240
|
друзья подскажите по теме самой проги Remote steering wheel control, непонятна схема подключения https://lh5.googleusercontent.com/-1...ini_pinout.png Получается там объеденены входы А0 и D13?
И резистор подтяжки идет на массу? Так и есть, подключил вместе аналог вход и цифровой, и схема заработала.
__________________
Мой первый проект Opel Vectra B + Wexler 7T Последний раз редактировалось fedor5800; 24.06.2016 в 20:10. Причина: оно работает |
06.04.2017, 19:56 | #267 |
Новый Пользователь
Регистрация: 09.02.2017
Город: красноярск
Регион: 24
Машина: nissan wingroad
Сообщений: 5
|
Люди добрые,если что,извиняйте,но по Steering wheel control вопрос: там через таскер шоткатами можно рулить,а как в самом таскер создать задачу,которая будет отрабатывать кнопки(сочетание кнопок) клавиатуры?Помогите советом!
|
Метки |
arduino |
Здесь присутствуют: 9 (пользователей: 0 , гостей: 9) | |
|
|