Страница 9 из 18 ПерваяПервая 123456789101112131415161718 ПоследняяПоследняя
Показано с 81 по 90 из 178
  1. #81
    Новичок
    Регистрация
    15.03.2014
    Сообщений
    17
    Вес репутации
    43

    По умолчанию Re: Бортовой компьютер мотоцикла

    Oleg_33, если захочется кому то потом показать, то лучше этого не делать
    RELAY_CURENT, flag_FAN_CYRENT, FUELPOMP_RELAY__DIGITAL_PIN, LOW_COLING_FAN, GEAR_NEITRAL__DIGITAL_PIN
    Блин, неужто так сложно словарик открыть и посмотреть как пишется правильно? Тем более, что сейчас словари онлайн.

    Зачем писать вот так
    #define LED_ERROR__DIGITAL_PIN 13
    #define FUEL_LEVEL__ANALOG_PIN 0
    Когда можно писать более кратко так
    #define LED_ERROR_PIN 13
    #define FUEL_LEVEL_APIN 0
    ?

    Если по файлам разносить не будешь, то скоро запутаешься. Arduino IDE хуже блокнота.

    P.S. Я не профессиональный программист, но от такого кода шерсть шевелится.

  2. #82
    Местный
    Регистрация
    07.12.2014
    Сообщений
    102
    Вес репутации
    51

    По умолчанию Re: Бортовой компьютер мотоцикла

    Да действительно о чем я думал, контролер ошибки проверяет в длииинных названиях временных!! "переменных", тратит процессорное время на перевод ... а у меня не оригинальный ардуино, он понимает даже с акцентом!
    Запутаться в собственном коде это нонсенс, ну если кроме ошибок в четырёх словах сказать нечего ... !

  3. #83
    Местный
    Регистрация
    07.12.2014
    Сообщений
    102
    Вес репутации
    51

    По умолчанию Re: Бортовой компьютер мотоцикла

    Кто подскажет как считывать температуру с двух датчиков DS18B20 ?

    На температуру двигателя хотел подключить резистивный датчик от автозапуска, да характеристика подкачала не линейная она и на разных датчиках отличается (не говоря уж о муках преобразования АЦП в температуру), чем грозит замена неисправного датчика думаю понятно

  4. #84
    Местный
    Регистрация
    07.12.2014
    Сообщений
    102
    Вес репутации
    51

    По умолчанию Re: Бортовой компьютер мотоцикла

    Внешнее прерывание эмуляция.

    Для входа прерываний использую Pin 0 (RX). Pin 7 у меня почему-то не работает на прерывание, на Pin 2 и 3 вешать нельзя на них шина I2C и она мне нужна.
    Для заливки скетча отключаем Pin 0 от схемы.
    Эмулятором сигнала прерывания является Pin 13.

    В режиме FALLING подключаем вот так.
    Нажмите на изображение для увеличения. 

Название:	Untitled Sketch_bb.jpg 
Просмотров:	125 
Размер:	242.5 Кб 
ID:	18430

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

    PHP код:
    #include <TimerOne.h> 
    #include <Wire.h> 
    #include <LiquidCrystal_I2C.h>

    volatile int state = !LOW;
    volatile int in 0;
    volatile long timetime1

    LiquidCrystal_I2C lcd(0x27,16,2);

    //Плата             int.0   int.1    int.2    int.3    int.4
    //UNO, Ethernet-Pin    2    3                    
    //Leonardo-Pin      3    2    [0]    [1]    7


    void setup()
    {
      
    pinMode(13OUTPUT);
      
    Timer1.initialize(100000); // Эмитируем внешний сигнал.
      
    Timer1.attachInterrupt(blinkLED);
      
      
    attachInterrupt(2Interrupt_FuncFALLING); // Прерывание 0 пин
    }
     
    void loop(){
      
    lcd.init();
      
    lcd.backlight();
      
    lcd.print(in);
    }
     
    void Interrupt_Func(){
      
    in+=1;
    }

    void blinkLED(){
      
    state = !state;
      
    digitalWrite(13state); 

    Последний раз редактировалось Oleg_33; 22.02.2015 в 11:52.

  5. #85
    Местный
    Регистрация
    07.12.2014
    Сообщений
    102
    Вес репутации
    51

    По умолчанию Re: Бортовой компьютер мотоцикла

    Добил схему, так выглядит по интереснее. Провода без прямых линий и углов (нарисованных про принципу кривых Безье) это внешние провода, они покидают блок с МК... а может и не покидают ,в общем схема наглядная для общего понимания происходящего.
    Печатную плату делать не буду, тк напрочь отсутствует возможность добавить, что-либо, поэтому исходник Fritzing`a пока не выкладываю.

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

Название:	MotoComp.jpg 
Просмотров:	351 
Размер:	140.6 Кб 
ID:	18443
    Последний раз редактировалось Oleg_33; 23.02.2015 в 19:19.

  6. #86
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    34
    Сообщений
    825
    Вес репутации
    304

    По умолчанию Re: Бортовой компьютер мотоцикла

    Прирывания не работают на других пинах потому что ты используешь библиотеку TimerOne которая заточена на использование системного 16разрядного таймера (Timer1) который завязан аппаратно на пины 2 и 3 Для использования других пинов пользуй стандартные команды (почитай здесь) библиотека полезна в случае если нужно за действовать мощный 16 разрядный таймер, например ШИМ с высокой тактовой частотой до 1023 итд... А в твоем случае можно обойтись стандартными опираторами оброботки прирываний.
    хороший модем должен качать пиво!
    Мой проект

  7. #87
    Местный
    Регистрация
    07.12.2014
    Сообщений
    102
    Вес репутации
    51

    По умолчанию Re: Бортовой компьютер мотоцикла

    да, спасибо.
    Не работает только пин 7 на прерывание, я уже исключил эту библиотеку.

    Дело идёт потихоньку, застрял на таймере выключении микроконтроллера и защите аналогового входа (по нему измеряется напряжение)

    Вот изобрел схему, ребята помогли с форума Паяльника, схему не пробовал ещё.
    Нажмите на изображение для увеличения. 

Название:	9F5F1.JPG 
Просмотров:	123 
Размер:	65.2 Кб 
ID:	18469
    Последний раз редактировалось Oleg_33; 17.03.2015 в 23:23.

  8. #88
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    34
    Сообщений
    825
    Вес репутации
    304

    По умолчанию Re: Бортовой компьютер мотоцикла

    А что этот вход который ты защищаешь будет делать? Замер бортового питания? А какая проблема с таймером? Выложи последний код.
    хороший модем должен качать пиво!
    Мой проект

  9. #89
    Местный
    Регистрация
    07.12.2014
    Сообщений
    102
    Вес репутации
    51

    По умолчанию Re: Бортовой компьютер мотоцикла

    Да верно с аналогового входа будет мерится напряжение, желательно защитить его от высоковольтных всплесков и прочих гадостей мотоциклетной ботр.сети.
    С таймером всё хорошо, не могу дойти до магазина и купить детальки ... напомню он нужен, что бы записать в EPPROM данные при отключении питания.
    Кодом уже месяц не занимался, он такой же как на 8 странице форума.

    Единственное адаптировал пример для записи больших чисел в EPRROM.

    Код:
    #include <EEPROM.h> 
    
    #define UBOUND_EEPROM_ARRAY 9
    int EEPROM_DATA[UBOUND_EEPROM_ARRAY] = {88,110,120,25,12000,6000,1000,20,20}; 
    /*
    0 - вентилятор отключение, 
    1 - вентилятор включение 
    2 - перегрев
    3 - по температуре окр. воздуха
    4 - TO2
    5 - TO1 
    6 - Chain
    7 - коррекция ТОВ
    8 - коррекция ТД
    */
    int Expon[UBOUND_EEPROM_ARRAY] = {2,4,6,8,10,12,14,16,18};
    
    void setup(){ 
      Serial.begin(9600);
      for (int i = 0; i <= (UBOUND_EEPROM_ARRAY - 1); i++)eeprom_write(EEPROM_DATA[i], Expon[i]);
    } 
    
    void loop(){ 
    
      for (int i = 0; i <= UBOUND_EEPROM_ARRAY - 1; i++)  Serial.println(eeprom_read(Expon[i]));  
      delay(1000);
    }
    
    
    unsigned int eeprom_read(int cell)//чтение из еепром 
    { 
      unsigned int res=0; 
      res=(EEPROM.read(cell)<<8)|EEPROM.read(cell-1);
      return res; 
    } 
    
    void eeprom_write(unsigned int val, int cell)//запись в еепром 
    { 
      EEPROM.write(cell - 1, (val & 0xFF)); //пишем младший байт 
      EEPROM.write(cell, ((val & 0xFF00) >> 8));//пишем старший байт 
    }
    [

  10. #90
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    30
    Сообщений
    214
    Вес репутации
    303

    По умолчанию Re: Бортовой компьютер мотоцикла

    как-то непонятно. по схеме получается, что при включении зажигания идет питание на dc. что мешает запитать напрямую от 15 клеммы без оптопары и транзистора? для защиты АЦП входа неплохо бы минимум стабилитрон параллельно конденсатору C2. и еще защитный диод по входу до делителя. учти, что напряжение на vd1 повлияет на показания, это надо учесть программно. по питанию тоже не помешает диод и конденсторы.
    Последний раз редактировалось manu_245; 20.03.2015 в 21:44.

Страница 9 из 18 ПерваяПервая 123456789101112131415161718 ПоследняяПоследняя

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

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

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

Ваши права

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