![]() |
|
|
#261 | |
|
Старший Пользователь
![]() Регистрация: 19.02.2014
Возраст: 54
Город: Ванино
Регион: 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. |
|
|
|
|
|
|
#262 |
|
Новый Пользователь
![]() Регистрация: 15.09.2008
Возраст: 42
Город: на работе
Регион: 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(">");
}
|
|
|
|
|
|
#263 |
|
Старший Пользователь
![]() Регистрация: 19.02.2014
Возраст: 54
Город: Ванино
Регион: 27
Машина: MMC-Pajero-II,V46,4М40
Сообщений: 327
![]() |
Максимэ
СПС... заработало и показывает все ! только точность страдает ...., надо скетч с опорным напряжением все таки делать ,у мня БП на хаб в машине не очень ,наверно поэтому так ... и на этом большое спасибо ! P.S. вот я пытаюсь вникнуть как скетч делается ... ,вроде не совсем уж тупой и компами и с паяльником уже лет 20 как , а непойму нифига, видать нет жилки этой программерской что ли .... ![]() А просить тут и клянчить уже неудобно ....
__________________
MMC-Pajero ,Teyes CC3 ,все пока в процессе |
|
|
|
|
|
#264 | |
|
Пользователь
![]() Регистрация: 20.03.2014
Возраст: 40
Регион: 65
Сообщений: 64
![]() |
Цитата:
|
|
|
|
|
|
|
#265 | |
|
Гуру
![]() Регистрация: 16.04.2014
Возраст: 41
Город: Gdynia
Регион: другой - для добавления сообщить ab
Сообщений: 2,548
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Можешь подсмотреть решение у меня в блоке питания, я там напруги меряю, точность +-0,03. Про 1,1 опорку в 3й версии в скетче описание.
__________________
------------------------ Новая версия блока питания (BP5mini) для подключения всех планшетов (плата, прошивка, инструкции) ------------------------ Неспешно расписываемый проект. ------------------------ Регулировка звука аудиопроцессором. TDA7442 + ардуино. |
|
|
|
|
|
|
#266 |
|
Старший Пользователь
![]() Регистрация: 16.08.2013
Возраст: 41
Регион: 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. Причина: оно работает |
|
|
|
|
|
#267 |
|
Новый Пользователь
Регистрация: 09.02.2017
Город: красноярск
Регион: 24
Машина: nissan wingroad
Сообщений: 5
![]() |
Люди добрые,если что,извиняйте,но по Steering wheel control вопрос: там через таскер шоткатами можно рулить,а как в самом таскер создать задачу,которая будет отрабатывать кнопки(сочетание кнопок) клавиатуры?Помогите советом!
|
|
|
|
![]() |
| Метки |
| arduino |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|