Страница 6 из 18 ПерваяПервая 12345678910111216 ... ПоследняяПоследняя
Показано с 51 по 60 из 178
  1. #51
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    41
    Сообщений
    829
    Вес репутации
    397

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

    Я так думаю Олег не соберается использовать LCD от Nokia, это его перед новым годом разиграли и прислали не тот дисплей он ждет другой а этот использовал для тестов.
    LED индикатор, будет засвечивать на солнце, и слишком много выводов требует для подключения, а если с драйвером то те же ресурсы что и с LCD да и на мой взгляд LCD посалиднее будет, слава богу они доступные в цене.

    Я бы взял LCD 3,2 или если не много места 2,2 цветную

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

    Насчет датчика скорости, тут ничего не могу посоветовать, тут геркон с магнитом в помощь, но я думаю это не плохое решение.

    "LM35" Я болше склоняюсь к дигитальному датчику и помех меньше, а стало бы и замеры точнее и тот же аналоговый вход можно настроить как дигитальный, если дифицит дигитальных выходов.
    Последний раз редактировалось XsanderS; 17.01.2015 в 10:17.
    хороший модем должен качать пиво!
    Мой проект

  2. #52
    Новичок
    Регистрация
    15.03.2014
    Сообщений
    17
    Вес репутации
    136

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

    На LED хочу делать, чтобы избежать рамки вокруг, т.е. все элементы будут "в глубину" за дисплеем и итоговый маленький размер.
    Для управления max7219 есть, т.е. три цифровых пина надо.
    С ослеплением думаю заклеить можно будет черной пленкой, как например на цифровых вольтметрах делают.

    С записью в память проблем возникнуть не должно: в сезон проезжается ~20 000Км, т.е. запись раз в 10км - это 2000 раз за сезон.
    Запись по нейтрали допустим в 4 раза чаще, т.е. 8 000 раз за сезон.
    Итого 10 000 за сезон, т.е. 100 000 на 10 сезонов хватит, т.е. мотоцикл раньше сдохнет
    Более того можно каждый сезон в свои ячейки писать.

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

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

    Для ответов на ваши вопросы посмотрите последнюю схему, на ней всё видно, что и для чего.
    Например дисплей OLED должен встать на место часов, правый дисплей,место не ахти правда

    Вложение 18387

    Мотоцикл - Honda Varadero XL1000V
    НА мотоцикле стоит помпа электромагнитная (соленоид толкает поршень ... )
    В EEPROM я лично думаю не стоит бездумно лепить данные - чем реже тем лучше.
    Насчёт герконов, даже не знаю ... на мотоцикле же есть датчик скорости, внешнее прерывание + TimerOne всё просто получится, не вижу смысла мудрить.
    Плата может и макетка ... как я по вашему сделаю печатную плату если не знаю окончательную схему! а breadboard с торчащими проводами и элементами в разные стороны мне не интересен тк на мотоцикле будет происходить окончательная обкатка, с breadboard`a всё вывалится нафик
    Последний раз редактировалось Oleg_33; 17.01.2015 в 23:18.

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

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

    PHP код:
    // В чем разница в записях ?

    #define A 5;        
    pinMode (АOUTPUT); 

    // 
    int a 5;
    pinMode (aOUTPUT); 

  5. #55
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    41
    Сообщений
    829
    Вес репутации
    397

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

    Цитата Сообщение от Oleg_33 Посмотреть сообщение
    PHP код:
    // В чем разница в записях ?

    #define A 5;        
    pinMode (АOUTPUT); 

    // 
    int a 5;
    pinMode (aOUTPUT); 
    Все зависит от того какая цель преследуется. В данном контексте никакой разницы, за исключением того что int использует 2 байта памяти. Просто погугли на предмет того что есть int и что есть #define

    зы: я там ссылочки подставил, глянь и я думаю проясниться.
    Последний раз редактировалось XsanderS; 19.01.2015 в 00:18.
    хороший модем должен качать пиво!
    Мой проект

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

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

    Цель одна сэкономить ресурсы, что бы меньше тормозила... Я так понимаю int лучше заменить #define, тк глобальных переменных у меня будет много

  7. #57
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    41
    Сообщений
    829
    Вес репутации
    397

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

    Цитата Сообщение от Oleg_33 Посмотреть сообщение
    Цель одна сэкономить ресурсы, что бы меньше тормозила... Я так понимаю int лучше заменить #define, тк глобальных переменных у меня будет много
    В твоем случае лучше объявлять пины с использованием #define. Int я бы использовал в том случае если нужно было бы в ходе процесса менять номер пина, либо присвоение номера пина из вне, либо по какому либо алгоритму в процессе выполнения кода.

    Допустим прописал одну переменную

    PHP код:
    int sensor;

    Void setup()
    {
    pinMode (2OUTPUT);
    pinMode (3OUTPUT);
    pinMode (4OUTPUT);
    pinMode (5OUTPUT);
    }

    Void loop()
    {
    sensor =.            // принимаем значение по UART либо сдругова источника, присваиваем переменной значение от 2-5

    DigitalWrite (sensorHIGH); // в зависимости от значения переменной "sensor" будет выбран соответствующий пин.


    Ну это так, попростенькому.
    хороший модем должен качать пиво!
    Мой проект

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

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

    Menu Demo (пока только две страницы меню из 7)

    http://youtu.be/RTn5k_MhUoQ

    Скоро очень скоро приедет другой дисплей, а пока отрабатываю навыки на этом дисплее. Можно как нибудь упростить вывод строк для моего случая ?
    PHP код:
    #include <PCD8544.h>

    static PCD8544 lcd;

    #define M_SERVIS 1
    #define M_OPTION_FAN 2
    #define M_FAN 3
    #define M_SPEED 
    #define M_FUEL_POMP 5
    #define M_TIME 6
    #define M_ERROR1 7
    #define M_RROR2 8

    int servis_Limit[4] = {12000600030001000};

    // переменные включения выключения вентилятора
    int ERROR_COOLING_TEMP 105;
    int SET_RUN_FAN 100;
    int IF_OUT_TEMP_MORE_30 95;
    int FAN_OFF 80;

    int s 0s2// menu
    static unsigned long time
    int NEXT_MENUNUMBER_WINDOWS_MENU 1;

    static const 
    byte simbol[] = { B11111111B01111110B00111100B00011000B00011000 };

    void setup(){
      
    lcd.begin(8448);
      
    pinMode(12INPUT);
      
    Serial.begin(9600);
      
    lcd.createChar(9simbol);
    }

    void loop(){
      
    _Button(12);
    }

    int _Button(int iii){

      if (
    digitalRead(iii) == LOW) { // нажата кнопка
        
    time millis();
        do
        {
        } while ( 
    digitalRead(iii) < 1); // ждём когда кннопка отпустится
        
        
    if ((millis()-time)>500){

          if (
    _DispleyAddMenu(NUMBER_WINDOWS_MENU +,s2) && NEXT_MENU == 0);
          else 
    NUMBER_WINDOWS_MENU 1;

          
    s2++; 
          if (
    s2 5s2 0;      
        }
      }
    }

    int _DispleyAddMenu(int funint str){ // номер функции, строка функции
      
    char buff[300];
      
    lcd.setCursor(00);
      
      switch (
    fun
      {
       case 
    M_SERVIS:
          
    // 5 максимальное колличество строк, 
          
    sprintf (buff,"%6s        %s-%7i%s%s-%7i%s%s-%7i%s%s-%5i%s%s"
          
    "Servis"// название пункта меню
          
    " TO2"servis_Limit[0], "Km",
          
    " TO3"servis_Limit[1], "Km",
          
    " Oil"servis_Limit[2], "Km",
          
    " Chain"servis_Limit[3], "Km"// 4 строки меню
          
    " GO menu?"); //возврат в основно меню
          
    lcd.print (buff);
          
    lcd.setCursor(0str+1); // переключаем символ > на новою строку
          
    lcd.write(9); // символ >
          
    Serial.println(str);
           if (
    str 5-1){ // Если достигнут конец строк , выходим из цикла, записываем в переменную номер окна меню
            
    NUMBER_WINDOWS_MENU M_SERVIS;
            
    NEXT_MENU 1;
            return 
    0;
          }     
          break;
          
       case 
    M_OPTION_FAN:
          
    // 5 максимальное колличество строк
           
    sprintf (buff,"%s           %s-%6i%s%s-%5i%s%s-%4i%s%s-%5i%s%s"
          
    "Fan",
          
    " Error"ERROR_COOLING_TEMP"C",
          
    " SetRun"SET_RUN_FAN"C",
          
    " Temp>30"IF_OUT_TEMP_MORE_30"C",
          
    " FanOff"FAN_OFF"C",
           
    " GO menu?"); //возврат в основно меню
          
    lcd.print (buff);
          if (
    str 1){ // Если достигнут конец строк , выходим из цикла, записываем в переменную номер окна меню
            
    NUMBER_WINDOWS_MENU M_OPTION_FAN;
            return 
    0;
          }
          
    lcd.setCursor(0str+1); // переключаем символ > на новою строку
          
    lcd.write(9); // символ >
    break;
      }

    Последний раз редактировалось Oleg_33; 23.01.2015 в 15:51.

  9. #59
    Новичок
    Регистрация
    15.03.2014
    Сообщений
    17
    Вес репутации
    136

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

    Displey, servis, Go menu
    Жесть какая. Display, Service, *стрелка налево*back - я бы так делал.
    А если на русском хочется, то дисплей обычно можно руссифицировать, подкрутив либу.

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

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

    Во первых на английском слова короче получаются, если бы я хотел русский алфавит наверное он был бы таким.
    Управление меню, осуществляется одной! кнопкой. Одной штатной кнопкой на панели приборов, герметичной

Страница 6 из 18 ПерваяПервая 12345678910111216 ... ПоследняяПоследняя

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

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

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

Ваши права

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