Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 11 по 20 из 52
  1. #11
    Пользователь
    Регистрация
    05.08.2010
    Возраст
    40
    Сообщений
    68
    Вес репутации
    183

    По умолчанию Re: Блок управления body ( На подобии системы авто Управление кузовом автомобиля) ФО

    Цитата Сообщение от (vS) Посмотреть сообщение
    оптоволокно для стеклоподъемников... до этого даже мерседесы еще не дошли

    кан, вот ваша тема
    А как ты по кану будеш видео и аудио гонять ???

  2. #12
    Продвинутый Аватар для zlay@
    Регистрация
    13.04.2009
    Возраст
    55
    Сообщений
    257
    Вес репутации
    240

    По умолчанию Re: Блок управления body ( На подобии системы авто Управление кузовом автомобиля) ФО

    а как по оптике диагностику делать? по кану - нет проблем.

  3. #13
    Пользователь
    Регистрация
    05.08.2010
    Возраст
    40
    Сообщений
    68
    Вес репутации
    183

    По умолчанию Re: Блок управления body ( На подобии системы авто Управление кузовом автомобиля) ФО

    Для начала не обязательно покупать дорогостоящие трансиверы можно поэксперементировать с тем что есть ниже опишу как из ИК диода и ИК передатчика сделать простой трансивер: Берем ИК диод Надеваем на него трубочку
    Получаем Приемник оптический берем оптовоконный кабель
    отрезаем несколько жил собираем термоусадкой
    ПОЛУЧАЕМ
    Кабелек Берем ИК диод или пульт для тестов
    так же одеваем трубочку
    Подключаем
    Тестим

    Все просто вот скетч для пробы писать отдельный не стал разместил тот что был
    PHP код:
    /*
     The circuit:
     * LCD RS pin to digital pin 9
     * LCD Enable pin to digital pin 7
     * LCD R/W pin to digital pin 8
     * LCD D4 pin to digital pin 5
     * LCD D5 pin to digital pin 4
     * LCD D6 pin to digital pin 3
     * LCD D7 pin to digital pin 2
     * 10K resistor GND: to pin 3 LCD
     * LCD 1 & 16 to ground 
     * LCD 2 & 15 +5V 
     * wiper to LCD VO pin (pin 3)
     * ir_pin = 6
    */
    #include <OneWire.h>
    OneWire  ds(10);  // линия 1-Wire будет на pin 9
    int ir_pin 6;                //Sensor pin 1 wired through a 220 ohm resistor
    int ledPin 12;                //"Ready to Recieve" flag, not needed but nice
    int debug 0;                 //Serial connection must be started to debug
    int start_bit 2000;            //Start bit threshold (Microseconds)
    int bin_1 1000;                //Binary 1 threshold (Microseconds)
    int bin_0 400;                 //Binary 0 threshold (Microseconds)
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(9875432);
    const 
    int numRows 4
    const 
    int numCols 20;

    void setup() {
      
    pinMode(ledPinOUTPUT);        
      
    pinMode(ir_pinINPUT);
     
    lcd.begin(numRowsnumCols);
      
    lcd.setCursor(00);
      
    lcd.print("Rem Demo v.2.0");
      
    delay(3000);
       
    lcd.setCursor(00);
        
    lcd.print(":-)             ");
    }

    void loop() {
    byte i;
      
    byte present 0;
      
    byte data[12];
      
    byte addr[8];
      
      if ( !
    ds.search(addr)) {
          
    ds.reset_search();
          return;

      }

      if ( 
    OneWire::crc8addr7) != addr[7]) {
         
    lcd.setCursor(00); 
         
    lcd.print("Not Connect!");
          return;
      }
      
      if ( 
    addr[0] != 0x28) {
          
    lcd.print("Device is not a DS18b20 family device.\n");
          return;
      }

      
    ds.reset();
      
    ds.select(addr);
      
    ds.write(0x44,1);         // запускаем конвертацию
      
      
    delay(10);     // скорее всего достаточно 750ms 
      // we might do a ds.depower() here, but the reset will take care of it.
      
      
    present ds.reset();
      
    ds.select(addr);    
      
    ds.write(0xBE);         // считываем ОЗУ датчика

      
    for ( 09i++) {           // обрабатываем 9 байт
        
    data[i] = ds.read();
       
      }
     
      
      
    // высчитываем температуру :)
      
    int HighByteLowByteTReadingTc_100;
      
    LowByte data[0];

      
    HighByte data[1];

      
    TReading = (HighByte << 8) + LowByte
      
    Tc_100 TReading/2;
      
      
    lcd.setCursor(101);
      
    lcd.print("t.=");
      
    lcd.print(Tc_100);
      
    start:
      
    int key getIRKey();            //Fetch the key
     /* lcd.setCursor(0, 1);
      lcd.print("Key set:");
      lcd.print(key);
      lcd.print("                ");
     */

     
    switch (key){
       case 
    224:
           
          
    lcd.setCursor(00);
          
    lcd.print("                ");
          
    lcd.setCursor(00);
      
    lcd.print("Menu:"); 
      
    delay(500);
      goto 
    menu;
      break;
     case 
    950:
     
    lcd.setCursor(01);
     
    lcd.print("Tools");
      
    digitalWrite(ledPinHIGH);
    break;
     case 
    931:
          
          
    lcd.setCursor(00);
          
    lcd.print("                ");
          
    lcd.setCursor(00);
      
    lcd.print("IR Test"); 
      
    digitalWrite(ledPinLOW);
      
    lcd.setCursor(01);
          
    lcd.print("                ");
     break;
      case 
    180:
          
          
    lcd.setCursor(00);
          
    lcd.print("                ");
          
    lcd.setCursor(00);
      
    lcd.print("left"); 
     break;
      case 
    179:
        
          
    lcd.setCursor(00);
          
    lcd.print("                ");
          
    lcd.setCursor(00);
      
    lcd.print("right"); 
     break;
      case 
    244:
           
          
    lcd.setCursor(00);
          
    lcd.print("                ");
          
    lcd.setCursor(00);
      
    lcd.print("up"); 
     break;
      case 
    245:
         
          
    lcd.setCursor(00);
          
    lcd.print("                ");
          
    lcd.setCursor(00);
      
    lcd.print("down"); 
     break;
      case 
    184:
          
    lcd.setCursor(00);
          
    lcd.print("                ");
          
    lcd.setCursor(00);
      
    lcd.print("HI"); 
     break;

    menu:


     
      
    int key getIRKey();            //Fetch the key
     /* lcd.setCursor(0, 1);
      lcd.print("Key set:");
      lcd.print(key);
      lcd.print("                ");
     */

    if(key=950){
     
    digitalWrite(ledPinLOW);
     
    delay(300);
     goto 
    start;}
     else;
     goto 
    menu;
     } 
    }


    int getIRKey() {
      
    int data[12];
             
    //Ok, i'm ready to recieve
      
    while(pulseIn(ir_pinLOW) < 2200) { //Wait for a start bit
      
    }
      
    data[0] = pulseIn(ir_pinLOW);    //Start measuring bits, I only want low pulses
      
    data[1] = pulseIn(ir_pinLOW);
      
    data[2] = pulseIn(ir_pinLOW);
      
    data[3] = pulseIn(ir_pinLOW);
      
    data[4] = pulseIn(ir_pinLOW);
      
    data[5] = pulseIn(ir_pinLOW);
      
    data[6] = pulseIn(ir_pinLOW);
      
    data[7] = pulseIn(ir_pinLOW);
      
    data[8] = pulseIn(ir_pinLOW);
      
    data[9] = pulseIn(ir_pinLOW);
      
    data[10] = pulseIn(ir_pinLOW);
      
    data[11] = pulseIn(ir_pinLOW);


      if(
    debug == 1) {
        
    lcd.setCursor(01);
        
    lcd.println("-----");
      }
      for(
    int i=0;i<11;i++) {          //Parse them
        
    if (debug == 1) {
          
    lcd.println(data[i]);
        }
        if(
    data[i] > bin_1) {          //is it a 1?
        
    data[i] = 1;
        }  else {
        if(
    data[i] > bin_0) {        //is it a 0?
          
    data[i] = 0;
        } else {
         
    data[i] = 2;              //Flag the data as invalid; I don't know what it is!
        
    }
        }
      }

      for(
    int i=0;i<11;i++) {          //Pre-check data for errors
        
    if(data[i] > 1) {
        return -
    1;                 //Return -1 on invalid data
        
    }
      }

      
    int result 0;
      
    int seed 1;
      for(
    int i=0;i<11;i++) {          //Convert bits to integer
        
    if(data[i] == 1) {
        
    result += seed;
        }
        
    seed seed 2;
      }
      return 
    result;                 //Return key number

    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	DC100909004.jpg 
Просмотров:	198 
Размер:	110.8 Кб 
ID:	9692   Нажмите на изображение для увеличения. 

Название:	DC100909005.jpg 
Просмотров:	207 
Размер:	94.7 Кб 
ID:	9693   Нажмите на изображение для увеличения. 

Название:	DC100909006.jpg 
Просмотров:	211 
Размер:	131.7 Кб 
ID:	9694   Нажмите на изображение для увеличения. 

Название:	DC100909007.jpg 
Просмотров:	187 
Размер:	88.6 Кб 
ID:	9695  

    Нажмите на изображение для увеличения. 

Название:	DC100909008.jpg 
Просмотров:	202 
Размер:	98.4 Кб 
ID:	9696   Нажмите на изображение для увеличения. 

Название:	DC100909009.jpg 
Просмотров:	202 
Размер:	104.0 Кб 
ID:	9697   Нажмите на изображение для увеличения. 

Название:	DC100909011.jpg 
Просмотров:	189 
Размер:	120.1 Кб 
ID:	9698   Нажмите на изображение для увеличения. 

Название:	DC100909012.jpg 
Просмотров:	198 
Размер:	99.4 Кб 
ID:	9699  

    Нажмите на изображение для увеличения. 

Название:	DC100909013.jpg 
Просмотров:	217 
Размер:	109.0 Кб 
ID:	9700   Нажмите на изображение для увеличения. 

Название:	DC100909014.jpg 
Просмотров:	205 
Размер:	120.8 Кб 
ID:	9701   Нажмите на изображение для увеличения. 

Название:	DC100909015.jpg 
Просмотров:	208 
Размер:	110.3 Кб 
ID:	9702   Нажмите на изображение для увеличения. 

Название:	DC100909018.jpg 
Просмотров:	195 
Размер:	122.7 Кб 
ID:	9703  

    Последний раз редактировалось xeonlink; 10.09.2010 в 11:25.

  4. #14
    Пользователь
    Регистрация
    05.08.2010
    Возраст
    40
    Сообщений
    68
    Вес репутации
    183

    По умолчанию Re: Блок управления body ( На подобии системы авто Управление кузовом автомобиля) ФО

    Цитата Сообщение от zlay@ Посмотреть сообщение
    а как по оптике диагностику делать? по кану - нет проблем.
    Смотри Выше, тем более диагностика не нужна будет все данные будут на Дисплее Автомобиля по не неисправностям выдаваться
    Последний раз редактировалось xeonlink; 09.09.2010 в 17:09.

  5. #15
    Гуру Аватар для (vS)
    Регистрация
    18.06.2007
    Возраст
    46
    Сообщений
    1,981
    Вес репутации
    685

    По умолчанию Re: Блок управления body ( На подобии системы авто Управление кузовом автомобиля) ФО

    идея утопична. оптика НА ВСЕ датчики автомобиля, это настолько дорого, что даже ФЛАГМАНЫ не могут себе этого позволить
    автоMOBILEвый моDDEр
    мой карпутер второй очередной

  6. #16
    Продвинутый Аватар для zlay@
    Регистрация
    13.04.2009
    Возраст
    55
    Сообщений
    257
    Вес репутации
    240

    По умолчанию Re: Блок управления body ( На подобии системы авто Управление кузовом автомобиля) ФО

    Цитата Сообщение от (vS) Посмотреть сообщение
    идея утопична. оптика НА ВСЕ датчики автомобиля, это настолько дорого, что даже ФЛАГМАНЫ не могут себе этого позволить
    "Смотри Выше, тем более диагностика не нужна будет все данные будут на Дисплее Автомобиля по не неисправностям выдаваться"

    - а каким образом с датчика получить неисправность для вывода на дисплей? алгоритм? согласен с Гуру vS полностью - тем более - что неисправность фиксируют "мозги", для всех - алгоритм свой - как отсутствие сигнала, так и сигнал "не в допуске", да ещё и при совокупности параметров от других датчиков. "Мозгов" в современных авто - много, и связаны они именно по CAN. Да и один и тот же датчик часто завязан на разные системы и сочетание ошибок по разным системам выдает разные коды и сиптоматика может отличаться.
    Последний раз редактировалось zlay@; 09.09.2010 в 19:45.

  7. #17
    Пользователь
    Регистрация
    05.08.2010
    Возраст
    40
    Сообщений
    68
    Вес репутации
    183

    По умолчанию Re: Блок управления body ( На подобии системы авто Управление кузовом автомобиля) ФО

    Цитата Сообщение от (vS) Посмотреть сообщение
    идея утопична. оптика НА ВСЕ датчики автомобиля, это настолько дорого, что даже ФЛАГМАНЫ не могут себе этого позволить
    Мы не делаем оптику на все датчики а только между модулями например модуль управления освещением, модуль управления системой помощи при парковке, модуль управления системой комфорт (зеркала стеклоподъемники центр замок и т.д./т.п. Ну допустим дорого покупать лазерные трансиверы сделаем Инфракрасные по оптике пустим суть не меняется
    так ведь дороже кан шину делать чем оптику и обвязка нужна большая и геморойно это
    Последний раз редактировалось xeonlink; 09.09.2010 в 20:08.

  8. #18
    Пользователь
    Регистрация
    05.08.2010
    Возраст
    40
    Сообщений
    68
    Вес репутации
    183

    По умолчанию Re: Блок управления body ( На подобии системы авто Управление кузовом автомобиля) ФО

    Цитата Сообщение от zlay@ Посмотреть сообщение
    "Смотри Выше, тем более диагностика не нужна будет все данные будут на Дисплее Автомобиля по не неисправностям выдаваться"

    - а каким образом с датчика получить неисправность для вывода на дисплей? алгоритм? согласен с Гуру vS полностью - тем более - что неисправность фиксируют "мозги", для всех - алгоритм свой - как отсутствие сигнала, так и сигнал "не в допуске", да ещё и при совокупности параметров от других датчиков. "Мозгов" в современных авто - много, и связаны они именно по CAN. Да и один и тот же датчик часто завязан на разные системы и сочетание ошибок по разным системам выдает разные коды и симптоматика может отличаться.
    мы здесь делаем блок управления КУЗОВОМ а не ДВС АИРБАГ И КПП зачем нам датчики двс от них можно получить данные множеством способов например используя ELM 327 http://carmonitor.ru/ru/2usbelm327v13-p-56.html В начале же написано делаем свой алгоритм определения неисправности и свои коды ошибок на русском языке с выводом на дисплей

  9. #19
    Пользователь
    Регистрация
    05.08.2010
    Возраст
    40
    Сообщений
    68
    Вес репутации
    183

    По умолчанию Re: Блок управления body ( На подобии системы авто Управление кузовом автомобиля) ФО

    Предложение использовать протокол ИК пульта от телевизоров сони
    А вот и скетч Для отправляющей
    PHP код:
    /*
     * IR LED must be connected to Arduino PWM pin 3.
     */

    #include <IRremote.h>
    int button 12;
    int button2 11;
    IRsend irsend;
    int val;
    void setup()
    {
      
    pinMode(buttonINPUT);
      
    pinMode(button2INPUT);
    }

    void loop() {
     
    val digitalRead(button); 
    if (
    val == 0) {
          
    irsend.sendSony(0xa9012);} // Sony TV power code
          
    delay(10);
      
    val digitalRead(button2); 
    if (
    val == 0) {
          
    irsend.sendSony(0xa7012);} // Sony TV power code
          
    delay(10);
      

    Библиотека для работы с протоколом СОНИ в комплекте
    Для Принимающей Ардуины
    PHP код:
    /*
     The circuit:
     * LCD RS pin to digital pin 9
     * LCD Enable pin to digital pin 7
     * LCD R/W pin to digital pin 8
     * LCD D4 pin to digital pin 5
     * LCD D5 pin to digital pin 4
     * LCD D6 pin to digital pin 3
     * LCD D7 pin to digital pin 2
     * 10K resistor GND: to pin 3 LCD
     * LCD 1 & 16 to ground 
     * LCD 2 & 15 +5V 
     * wiper to LCD VO pin (pin 3)
     * ir_pin = 6
    */
    int ir_pin 6;                                //"Ready to Recieve" flag, not needed but nice             //Serial connection must be started to debug
    int start_bit 2000;            //Start bit threshold (Microseconds)
    int bin_1 1000;
    int debug 0;                    //Binary 1 threshold (Microseconds)
    int bin_0 400;                 //Binary 0 threshold (Microseconds)
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(9875432);
    const 
    int numRows 2
    const 
    int numCols 16;

    void setup() {        
      
    pinMode(ir_pinINPUT);
     
    lcd.begin(numRowsnumCols);
      
    lcd.setCursor(00);
      
    lcd.print("Rem Demo v.2.0");
      
    delay(3000);
       
    lcd.setCursor(00);
        
    lcd.print(":-)             ");
    }

    void loop() {

      
    int key getIRKey();            //Fetch the key
     
    lcd.setCursor(01);
      
    lcd.print("Key set:");
      
    lcd.print(key);
      
    lcd.print("                ");
     
    }


    int getIRKey() {
      
    int data[12];
             
    //Ok, i'm ready to recieve
      
    while(pulseIn(ir_pinLOW) < 2200) { //Wait for a start bit
      
    }
      
    data[0] = pulseIn(ir_pinLOW);    //Start measuring bits, I only want low pulses
      
    data[1] = pulseIn(ir_pinLOW);
      
    data[2] = pulseIn(ir_pinLOW);
      
    data[3] = pulseIn(ir_pinLOW);
      
    data[4] = pulseIn(ir_pinLOW);
      
    data[5] = pulseIn(ir_pinLOW);
      
    data[6] = pulseIn(ir_pinLOW);
      
    data[7] = pulseIn(ir_pinLOW);
      
    data[8] = pulseIn(ir_pinLOW);
      
    data[9] = pulseIn(ir_pinLOW);
      
    data[10] = pulseIn(ir_pinLOW);
      
    data[11] = pulseIn(ir_pinLOW);

     if(
    debug == 1) {
        
    lcd.setCursor(01);
        
    lcd.println("-----");
      }
      for(
    int i=0;i<11;i++) {          //Parse them
        
    if (debug == 1) {
          
    lcd.println(data[i]);
        }
        if(
    data[i] > bin_1) {          //is it a 1?
        
    data[i] = 1;
        }  else {
        if(
    data[i] > bin_0) {        //is it a 0?
          
    data[i] = 0;
        } else {
         
    data[i] = 2;              //Flag the data as invalid; I don't know what it is!
        
    }
        }
      }

      for(
    int i=0;i<11;i++) {          //Pre-check data for errors
        
    if(data[i] > 1) {
        return -
    1;                 //Return -1 on invalid data
        
    }
      }

      
    int result 0;
      
    int seed 1;
      for(
    int i=0;i<11;i++) {          //Convert bits to integer
        
    if(data[i] == 1) {
        
    result += seed;
        }
        
    seed seed 2;
      }
      return 
    result;                 //Return key number

    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	DC100909019.jpg 
Просмотров:	207 
Размер:	126.8 Кб 
ID:	9704   Нажмите на изображение для увеличения. 

Название:	DC100909022.jpg 
Просмотров:	222 
Размер:	146.7 Кб 
ID:	9705  
    Вложения Вложения
    Последний раз редактировалось xeonlink; 10.09.2010 в 11:27.

  10. #20
    Продвинутый Аватар для zlay@
    Регистрация
    13.04.2009
    Возраст
    55
    Сообщений
    257
    Вес репутации
    240

    По умолчанию Re: Блок управления body ( На подобии системы авто Управление кузовом автомобиля) ФО

    так ведь все современные машины УЖЕ имеют кан - его не нужно делать! и свет, а\с и пр. - тоже сидят на кане. и имеют выводимые коды неисправности. подобие кана уже и ВАЗ делает. (у микросхемы 8 ножек и 2 ручки для переноски )
    смысл дублировать уже имеющиеся системы??

Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •