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)

yuriy m 09.11.2015 14:00

Цитата:

Сообщение от Rayne11 (Сообщение 342706)
Кто в теме, подскажите, такая проблемка.
кЕтай Ардуино Уно + Bluetooth-модуль HC-06 + RemoteInputsMgr 1.3.2 + виджеты из шапки - все работает, температура с двух датчиков отображается. Хочу убрать Bluetooth-модуль, и подключить ардуино к планшету по usb. Убираю, подключаю, ничего не работает (в RemoteInputsMgr ставлю подключение по usb). Показатели с датчиков не идут. Как настроить? В чем проблема?
p.s. в ардуино полный нуб, если можно подробно с решением

А в Device %s заходили ? галочку ставили ?

ali_vlad 09.11.2015 14:17

А, случайно, с контроллером от YAM будет работать?

Rayne11 14.11.2015 15:36

Цитата:

Сообщение от yuriy m (Сообщение 342923)
А в Device %s заходили ? галочку ставили ?

Когла connection выбран bluetooth тогда в device есть выбор, ардуино, коавиатура, елм, а как только меняю на usb, в девайс выбор пропадает, там пусто, галочку негде ставить. Что я делаю не так?

lti1 14.11.2015 15:39

Цитата:

Сообщение от Rayne11 (Сообщение 343394)
Когла connection выбран bluetooth тогда в device есть выбор, ардуино, коавиатура, елм, а как только меняю на usb, в девайс выбор пропадает, там пусто, галочку негде ставить. Что я делаю не так?

Какая у Вас ардуино, какой на ней драйвер UART>USB?

Rayne11 14.11.2015 19:57

Цитата:

Сообщение от lti1 (Сообщение 343395)
Какая у Вас ардуино, какой на ней драйвер UART>USB?

Китайский arduino uno r3, а вот про uart я ничего не знаю, дополнительно ничего не устанавливал. По всей видимости надо?

bizz 14.11.2015 20:20

Цитата:

Сообщение от Rayne11 (Сообщение 343394)
Когла connection выбран bluetooth тогда в device есть выбор, ардуино, коавиатура, елм, а как только меняю на usb, в девайс выбор пропадает, там пусто, галочку негде ставить. Что я делаю не так?

Такая же проблема на планшете Nexus 7 3g на wifi версии работает идеально. На 3г версии планшета заработало только на 5 дроиде, еще удалось запустить на прошивке автодроид 1.2 но с небольшим костылем (если планшет только запустился то в программе ардуина отсутствует, для этого требуется отрубить питалово и подать заного)

lti1 14.11.2015 20:22

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

Сообщение от Rayne11 (Сообщение 343415)
Китайский arduino uno r3, а вот про uart я ничего не знаю, дополнительно ничего не устанавливал. По всей видимости надо?

Нет.
Что написано на чипе в красном круге, если что то типа CH340G работать не будет, данный чип не поддерживается программой.

Rayne11 15.11.2015 12:09

Цитата:

Сообщение от lti1 (Сообщение 343419)
Нет.
Что написано на чипе в красном круге, если что то типа CH340G работать не будет, данный чип не поддерживается программой.

В данный момент посмотреть не могу, ардуино в машине, но возник вопрос, при подключении по блютус ведь эта ардуина работает с этой программой. Меняется то только тип подключения блютус на юсб

lti1 15.11.2015 14:01

Цитата:

Сообщение от Rayne11 (Сообщение 343466)
но возник вопрос, при подключении по блютус ведь эта ардуина работает с этой программой. Меняется то только тип подключения блютус на юсб

CH340G

Rayne11 15.11.2015 16:34

Цитата:

Сообщение от lti1 (Сообщение 343473)

все понял, завтра гляну

p.s. дома еще валяетcя ардуино нано, на ней именно CH340G. А что должно быть написано на чипе, чтоб все работало? Закажу конкретный ардуино, чтоб проблем не было

lti1 15.11.2015 16:55

Цитата:

Сообщение от Rayne11 (Сообщение 343483)
А что должно быть написано на чипе, чтоб все работало?

FT232 (FTDI).
Так же программа нормально видит любые Leonardo и Micro.

maxymike 15.11.2015 21:07

Не подскажете,то чего может быть аццкий разброс в цифрах при нажатии на кнопки руля? В пределах 20-ти?

Rayne11 16.11.2015 09:07

Цитата:

Сообщение от lti1 (Сообщение 343485)
FT232 (FTDI).
Так же программа нормально видит любые Leonardo и Micro.

Понял, спасибо большое, буду заказывать!
Такой подойдет?

yuriy m 19.11.2015 16:16

Цитата:

Сообщение от yuriy m (Сообщение 342289)
Единственный момент,который для меня не совсем понятно ,почему программа вылетает с ошибкой ,когда прокручиваю список приложений для запуска,примерно где то в середине списка.

Ребята ,у кого нибудь есть такая проблема ?

Rayne11 21.01.2016 22:03

Помогите с китайским arduino pro micro. Заливаю скетч. В мониторе порта все отображается нормально. Отключил-подключил ардуино, скетча нет. Монитор пустой. Заливаю так, замкнул rst на gnd, нажимаю залить, когда появляется "загружаем" размыкаю, заливка проходит успешно. В чем может быть дело?

oleg707 21.01.2016 22:25

Цитата:

Сообщение от Rayne11 (Сообщение 349374)
Помогите с китайским arduino pro micro. Заливаю скетч. В мониторе порта все отображается нормально. Отключил-подключил ардуино, скетча нет. Монитор пустой. Заливаю так, замкнул rst на gnd, нажимаю залить, когда появляется "загружаем" размыкаю, заливка проходит успешно. В чем может быть дело?

там какая то хрень была с виртуальными ком портами...

fedor5800 21.01.2016 22:26

Цитата:

Сообщение от Rayne11 (Сообщение 349374)
Помогите с китайским arduino pro micro. Заливаю скетч. В мониторе порта все отображается нормально. Отключил-подключил ардуино, скетча нет. Монитор пустой. Заливаю так, замкнул rst на gnd, нажимаю залить, когда появляется "загружаем" размыкаю, заливка проходит успешно. В чем может быть дело?

А как определяете что скетча нет? А порт монитора правильно выставляете после заливки скетча, бывает он слетает, надо заново выбирать порт.
Ну и проверить ардуину, залейте скетч со светодиодом и посмотрите работает или нет?

Rayne11 21.01.2016 22:33

Цитата:

Сообщение от fedor5800 (Сообщение 349377)
А как определяете что скетча нет? А порт монитора правильно выставляете после заливки скетча, бывает он слетает, надо заново выбирать порт.
Ну и проверить ардуину, залейте скетч со светодиодом и посмотрите работает или нет?

скетч по отображению температуры в мониторе порта сразу после заливки показывает температуру. Отключил ардуино, закрыл программу, открыл, подключил, выбрал порт, открыл монитор порта - пусто. температура не отображается. Скетч со светодиодом точно так же, есть до вытаскивания из компьютера шнура, после нету, стирается.

oleg707 21.01.2016 22:38

Цитата:

Сообщение от Rayne11 (Сообщение 349379)
скетч по отображению температуры в мониторе порта сразу после заливки показывает температуру. Отключил ардуино, закрыл программу, открыл, подключил, выбрал порт, открыл монитор порта - пусто. температура не отображается. Скетч со светодиодом точно так же, есть до вытаскивания из компьютера шнура, после нету, стирается.

портов там виртуальных несколько, для программирования и для работы разные. Смотрите в диспетчере задач номер порта.

Rayne11 21.01.2016 22:42

Цитата:

Сообщение от oleg707 (Сообщение 349380)
портов там виртуальных несколько, для программирования и для работы разные. Смотрите в диспетчере задач номер порта.

в диспетчере задач в разделе "порты" только Arduino Leonardo (Com7) других нету

anru 25.01.2016 20:38

Есть пара вопросов можно виджет разместить внизу на панели навигации или в верху на строке состояния и можно будет его поставить только на рабочий стол чтобы его не было видно на других программах. Спасибо

Максимэ 08.03.2016 06:59

Выложите исходники этого виджета

oleg707 08.03.2016 12:51

Цитата:

Сообщение от Rayne11 (Сообщение 349381)
в диспетчере задач в разделе "порты" только Arduino Leonardo (Com7) других нету

ARDUINO PRO MICRO

Максимэ 11.03.2016 02:54

Значения через каждые 2 сек. с ардуино нано передаются по HC-05
Хочу вывести значения выборочно прямо поверх экрана, как показано на видео https://yadi.sk/i/s7HPhTOMgrgUs
Подскажите, что нужно дальше прописать в таскере?

Serg-Zmuh 14.03.2016 14:16

http://www.pccar.ru/showthread.php?t...erlays&page=10
мне тут разжевывали :big:
ноя все равно полностью не осилил ,поэтому просто воспользовался прогой overlays ,и ей просто
выводил виджеты топикстартера

Максимэ 14.03.2016 18:45

Получилось, можно посмотреть скриншоты https://cloud.mail.ru/public/MqKD/rejBHd3Aj
Благодаря оверлейс виджет отображается поверх всех программ. Можно виджет сдвинуть даже в строку статуса. Теперь у меня другая задумка, как значениями %data1 регулировать яркость экрана?

Serg-Zmuh 15.03.2016 05:37

Цитата:

Сообщение от Максимэ (Сообщение 354888)
Получилось, можно посмотреть скриншоты https://cloud.mail.ru/public/MqKD/rejBHd3Aj
Благодаря оверлейс виджет отображается поверх всех программ. Можно виджет сдвинуть даже в строку статуса. Теперь у меня другая задумка, как значениями %data1 регулировать яркость экрана?

у тя ардуина по ЮСБ подключена ?
если так то проверь работоспособность при перезагрузке планшета и вкл.-откл. самой ардуины

ни че не сбрасывается ?

Максимэ 15.03.2016 08:15

Цитата:

Сообщение от Serg-Zmuh (Сообщение 354966)
у тя ардуина по ЮСБ подключена ?
если так то проверь работоспособность при перезагрузке планшета и вкл.-откл. самой ардуины ни че не сбрасывается ?

По блютузу, у меня нано по юсб не видится. Единственная проблема, когда перезапускаю по питанию ардуино, то и блютуз соединение приходится перезапускать, а то коннектиться не хочет. Думаю это можно решить таскером.

Serg-Zmuh 15.03.2016 08:48

да у мня тоже УНО по ВТусу сейчас подключено
сначала я по юсби делал ,но вылез косяк ,при перезагрузках ардуина монтируется с разными ID и нужно каждый раз в RemoteInputsMgr-1.3.2 выставлять новый ID :(

насколько я везде читал -это так и не победили ....

Максимэ 15.03.2016 16:39

Устанавливаешь https://cloud.mail.ru/public/N9aY/JgUCfYHvb и https://cloud.mail.ru/public/Hh9Y/sk9kVdTz4 заходишь в оверлейс, нажимаешь get started, пишешь в enter profile name любое имя профиля например thermo жмешь next, дальше на +, дальше на widget и выбираешь приложение zooper widget pro, выбираешь размер виджета например zooper widget 1x1, поставить галку всегда разрешать и жмем создать, видим окно виджета жмем дискетку. Выходим из этой программы. На рабочем столе жмем по виджету и жмем на макет редактировать, жмем на +, жмем текст, спускаемся ниже по списку, жмем отредактировать вручную, наводим на #dhh#:#dmm# стираем и пишем например #Tdata1# и жмем v. Выходим из этой пограммы.
Заходим в программу таскер в tasks после 2 задачи добавляем еще задачу. Жмем на +, жмем на плагин, выбираем zooper widget pro, жмем на карандаш, вводим zw переменная data1, вводим zw текст &data1, жмем дискетку. Назад, добавим еще одну задачу, жмем на +, плагин,overlays, карандаш, выбрать thermo, выбрать on, назад.
Дальше подключаем блютуз и видем в виджете меняющуся температуру. Можно в виджете добавлять еще текст #Tdata2# и добавляя задачу в таскере zooper widget pro data2 &data2. Можно редактировать фон виджета, убрать прозрачный черный фон и поставить прозрачный цвет #00000000. Выходим из этой программы. Теперь виджет текст с прозрачным фоном. Можно подредактировать текст например: в салоне #Tdata2#

Serg-Zmuh 16.03.2016 05:41

Цитата:

Сообщение от Максимэ (Сообщение 355037)
Устанавливаешь https://cloud.mail.ru/public/N9aY/JgUCfYHvb и https://cloud.mail.ru/public/Hh9Y/sk9kVdTz4 заходишь в оверлейс, нажимаешь get started, пишешь в enter profile name любое имя профиля например thermo жмешь next, дадьше на +, дальше на widget и выбираешь приложение zooper widget pro, выбираешь размер виджета например zooper widget 1x1, поставить галку всегда разрешать и жмем создать, видем окно виджета жмем дискетку. Выходим из этой программы. На рабочем столе жмем по виджету и жмем на макет редактировать, жмем на +, жмем текст, спускаемся ниже по списку, жмем отредактировать вручную, наводим на #dhh#:#dmm# стираем и пишем например #Tdata1# и жмем v. Выходим из этой пограммы.
Заходим в программу таскер в tasks после 2 задачи добавляем еще задачу. Жмем на +, жмем на плагин, выбираем zooper widget pro, жмем на карандаш, вводим zw переменная data1, вводим zw текст &data1, жмем дискетку. Назад, добавим еще одну задачу, жмем на +, плагин,overlays, карандаш, выбрать thermo, выбрать on, назад.
Дальше подключаем блютуз и видем в виджете меняющуся температуру. Можно в виджете добавлять еще текст #Tdata2# и добавляя задачу в таскере zooper widget pro data2 &data2. Можно редактировать фон виджета, убрать прозрачный черный фон и поставить прозрачный цвет #00000000. Выходим из этой программы. Теперь виджет текст с прозрачным фоном. Можно подредактировать текст например: в салоне #Tdata2#

одно не понял где ты данные из serialport скетча прописываешь ,короче у мня каша в голове .... ,просто не могу понять что от куда и куда идет

и как быть вот с этим советом ?

Serg-Zmuh 16.03.2016 20:24

помогите советом
 
Вложений: 1
Ребят помогите разобраться :blush:

вот опять появилось время повозиться с планшетом
и довести до ума "хотелки" на основе этого виджета.
пользую прошивку от PACman 5.1 которая,
таскер стоит версии 4.8u1 .
на ардуине выведено три датчика DS с пинов 9,10,11
вот скетч такой (незнаю может что подскажете где-что поправить) :
PHP код:

#include <OneWire.h> 

OneWire ds(10);  // линия 1-Wire будет на pin 10 
OneWire ds2(11);  // линия 1-Wire будет на pin 11 
OneWire ds3(9);  // линия 1-Wire будет на pin 12

byte i
byte present 0
byte data[12]; 
byte addr[8]; 
byte addr2[8]; 
byte addr3[8];
int Tempznakminus
  
void setup(void)  

  
Serial.begin(9600); 

  
void loop(void)  

  static 
unsigned long time
  static 
unsigned long flag=0
  if ((
millis()-time)>500 && flag==0//запуск процедуры Temp_A по таймеру каждую секунду, сдвиг 500 милисекунд 
   
{  
     
flag=1;   
     
Temp_A();  
   } 
  if ((
millis()-time)>1000 && flag==1//запуск процедуры Temp_B по таймеру каждую секунду, сдвиг 1000 милисекунд 
   
{     
     
time millis(); 
     
flag=0;    
     
Temp_B(); 
   }  
  if ((
millis()-time)>500 && flag==0//запуск процедуры Temp_C по таймеру каждую секунду, сдвиг 750 милисекунд 
   
{     
     
time millis(); 
     
flag=1;    
     
Temp_C(); 
   }  
}  

void Temp_A() 

  if ( !
ds.search(addr) ) 
   { 
      
ds.reset_search(); 
      return; 
   } 
   
  
ds.reset(); 
  
ds.select(addr); 
  
ds.write(0x44,1);         // запускаем конвертацию 
     
  
present ds.reset(); 
  
ds.select(addr);     
  
ds.write(0xBE);         // считываем ОЗУ датчика 

  
for ( 09i++) {data[i] = ds.read();} 
   
  
// высчитываем температуру  датчика 1 
    
Temp=(data[1]<<8)+data[0]; 
    
Temp=Temp
    
znak=((Temp%16)*100)/160
    if (
znak<&& Temp/16==0minus=1
    else 
minus=0
    if (
znak<0znak=znak*-1
     
    
Serial.print("<OutDoor:"); 
    if (
minus==1Serial.print("-"); 
    
Serial.print(Temp/16); 
    
Serial.print("."); 
    
Serial.print(znak); 
    
Serial.print("C"); 
    
Serial.print(">"); 


void Temp_B() 

  if ( !
ds2.search(addr2) ) 
   { 
      
ds2.reset_search(); 
      return; 
   } 
   
  
ds2.reset(); 
  
ds2.select(addr2); 
  
ds2.write(0x44,1);         // запускаем конвертацию 
     
  
present ds2.reset(); 
  
ds2.select(addr2);     
  
ds2.write(0xBE);         // считываем ОЗУ датчика 

  
for ( 09i++) {data[i] = ds2.read();} 
   
  
// высчитываем температуру датчика 2 
    
Temp=(data[1]<<8)+data[0]; 
    
Temp=Temp
    
znak=((Temp%16)*100)/160
    if (
znak<&& Temp/16==0minus=1
    else 
minus=0
    if (
znak<0znak=znak*-1
     
    
Serial.print("<InDoor:"); 
    if (
minus==1Serial.print("-"); 
    
Serial.print(Temp/16); 
    
Serial.print("."); 
    
Serial.print(znak); 
    
Serial.print("C"); 
    
Serial.print(">"); 
    
}

void Temp_C() 

  if ( !
ds3.search(addr3) ) 
   { 
      
ds3.reset_search(); 
      return; 
   } 
   
  
ds3.reset(); 
  
ds3.select(addr3); 
  
ds3.write(0x44,1);         // запускаем конвертацию 
     
  
present ds3.reset(); 
  
ds3.select(addr3);     
  
ds3.write(0xBE);         // считываем ОЗУ датчика 

  
for ( 09i++) {data[i] = ds3.read();} 
   
  
// высчитываем температуру  датчика 3 
    
Temp=(data[1]<<8)+data[0]; 
    
Temp=Temp
    
znak=((Temp%16)*100)/160
    if (
znak<&& Temp/16==0minus=1
    else 
minus=0
    if (
znak<0znak=znak*-1
     
    
Serial.print("<Engine:"); 
    if (
minus==1Serial.print("-"); 
    
Serial.print(Temp/16); 
    
Serial.print("."); 
    
Serial.print(znak); 
    
Serial.print("C"); 
    
Serial.print(">"); 
    


по совету выше Максимэ и еще раньше было от MURANO вот тут
вот хоть убей не могу понять как в таскере правильно , что именно и как
использовать из значений:
%org_kangaroo_rim_device_extra_args
и
%org_kangaroo_rim_device_extra_command
вот тут я запнулся :
Цитата:

4.3 Ecли данные из ардуино посылаем по отдельности, то в задаче нужно отслеживать переменную %org_kangaroo_rim_device_extra_command. Аналогично п.4.1 читаем ее. Например, переменной %Com присваиваем ее значение и сравниваем, например, с "tempa". Если %Com=tempa, то выполняем какие-то действия с данными %org_kangaroo_rim_device_extra_args.
не до конца понятно как правильно сделать чтоб работало это на три отдельные виджеты
с zooper и Overlays я вроде разобрался ...
но пока получилось вывести данные только из одного датчика :sad2
для мня - прогресс :big:
сейчас вот так тока работает:

P.S. еще вчера думал что не разберусь никогда :smile1: ,но ниче постигаю потихоньку ....

Serg-Zmuh 17.03.2016 17:37

Эх....:dntknw:
видать не кому подсказать

Максимэ 17.03.2016 17:48

Цитата:

Сообщение от Serg-Zmuh (Сообщение 355326)
Эх....:dntknw:
видать не кому подсказать

Завтра выложу скетч, сегодня был тяжелый день. Почти его написал, я так понял, что у тебя стоит три датчика и у них у каждого свой порт на ардуине. Затем у тебя в сериал порт шлет последовательно переменную &outdoor, потом &indoor и &engine. Лучше сделать вывод одной строкой, как у меня например и будет у тебя три переменных &temp1, &temp2, &temp3. Меня поражает то, что эта тема посути очень актуальна, т.к на смарте или планшете погода только в интернете, но затейливых людей в этой теме единицы(

Serg-Zmuh 17.03.2016 17:53

Цитата:

Сообщение от Максимэ (Сообщение 355328)
Завтра выложу скетч, сегодня был тяжелый день. Почти его написал, я так понял, что у тебя стоит три датчика и у них у каждого свой порт на ардуине. Затем у тебя в сериал порт шлет посдледовательно переменную outdoor, потом indoor и engine. Лучше сделать вывод одной строкой, как у меня например и будет у тебя три переменных &temp1, &temp2, &temp3.

пасиба дружище заранее :smile2:
ты все правильно понял :yes4:

vasilij_c 17.03.2016 21:47

или разберись как работает millis()
или напиши проще:
void loop(void)
{
delay(1000);

Temp_A();
Temp_B();
Temp_C();
}

oleg707 17.03.2016 22:57

далеко он на delay уедет...

Serg-Zmuh 18.03.2016 03:48

сразу признаюсь - в программировании я :whistle:
поэтому этот скетч не мой ,я туда тока третий датчик (ds3) сам по аналогии прописывал ,может и как-то криво :blush: на большее знаний не хватает

а так то этот скетч работает с родными виджетами топикстартера
может криво -но работает

у меня на Zooper не получается вывести ,а там через таскер надо ,и там я запутался....

Максимэ 18.03.2016 16:56

Попробуй этот скетч, напиши что у тебя выводит в сериал порт
Код:

#include
#include
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);
tempa.begin();
tempb.begin();
tempc.begin();
}
void loop(void){
tempa.requestTemperatures();
delay(40);
tempb.requestTemperatures();
delay(40);
tempc.requestTemperatures();
delay(40);
Serial.print(" if ( !tempa.getAddress(tempaAddress,0)){
Serial.print("0");
}else{
Serial.print(tempa.getTempCByIndex(0),1);
}
Serial.print("#");
if ( !tempb.getAddress(tempbAddress,0)){
Serial.print("0");
}else{
Serial.print(tempb.getTempCByIndex(0),1);
}
Serial.print("#");
if ( !tempc.getAddress(tempcAddress,0)){
Serial.print("0");
}else{
Serial.print(tempc.getTempCByIndex(0),1);
}
Serial.println(">");
delay(1000);
}


Serg-Zmuh 19.03.2016 10:56

вот что выводит:
,но так как датчик дома один ,я попробовал перетыкивать на другие
пины ,10 и 11
тоже норм


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

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