Помогите перекинуть дисплей
- Войдите на сайт для отправки комментариев
Ср, 10/06/2020 - 02:47
Помогите перекинуть дисплей
нужно на чпу фрез поставить тахометр, собрал, работает
но дисплей 1602 ,уж слишком большой,, вот хочу поставить маленький чтоб только цыфры выводил (5 знаков)
Когда-то собрал уф метр на дисплее нокия 5110,вот хочу перекинуть его на тахометр
а как отредактировать скетч не знаю,
/// tahometr #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); volatile float time = 0; volatile float time_last = 0; volatile int rpm_array[3] = {0,0,0}; ////////////////////////////////////////// void setup() { //Digital Pin 2 attachInterrupt(0,taho, FALLING); lcd.begin(); } ///////////////////////////////////////////// void loop() { int rpm = 0; while(1) {delay(400); lcd.setCursor(0, 1); lcd.print(" "); lcd.setCursor(0, 1); lcd.print(rpm); if(time > 0) { rpm_array[0] = rpm_array[1]; rpm_array[1] = rpm_array[2]; rpm_array[2] = 60*(1000000/(time)); rpm = (rpm_array[0] + rpm_array[1] + rpm_array[2] ) / 3; }}} ///////////////////////////////////////////// void taho() { time = (micros() - time_last); time_last = micros(); }
и второй скеч уф метр
здесь в конце длинный хвост был до 11, я его срезал до нуля ,щяс на дисплей ноль
я пробывал перекинуть
void
setup
() и
void
loop
() из одного в другой и наоборот, но тормознулся на выводе на экран
А к автору этих двух скетчей обращались?
не, эт давно было,, уже не помню откуда скачал
это я их не много обрезал
ув метр собирал когда на длп принтере нужно было настроить маску,а тахометр собрал для тестирования безимянных моторчиков
вот с 33 по 35 строке загвоздка нужно правильно вписать код вывода цифр на экран
при компиляции высвечивается 33 строка
700р
ну так как правильно вписать код?
никто не хочет помочь? всего одна две строки
Какие строки? Давай, впишу.
с 33 строки если не затруднит))
lcd.print(
" "
);
это для 1602 экрана ,а мне нужно для 5110
Вставь delay(1500); после 34 строки и lcd.update(); после 36, сообщи что получилось. И почему LCD а не LCD5110?
5110.print("...
никто не хочет помочь? всего одна две строки
как мне нравится такой подход - чел не знает сам, что вписывать, но уверен что это "одна-две строки" :)
"Если вы такие умные. почему вы строем не ходите?"
Вставь delay(1500); после 34 строки и lcd.update(); после 36, сообщи что получилось. И почему LCD а не LCD5110?
так было в скетче, и он работает, я только перекинул из уфметр в тахо
вставил, но опять ошибка в 33 стоке
никто не хочет помочь? всего одна две строки
Что значит "никто не хочет"? Человек же сказал, что хочет
700р
Какие проблемы?
ну так как правильно вписать код?
И ножкой топнуть!
вставил, но опять ошибка в 33 стоке
не удивительно ни разу.
Редко так бывает чтобы было достаточно только имя библиотеки поменять, обычно там функции, делающие одно и тоже - называются чуть по разному, принимает другие парметры или в другом порядке...
откройте обе графические библиотеки и сравните методы и их параметры. И меняйте вдумчиво, а не все подряд
Видимо для LCD5110 надо вызывать lcd.print с тремя параметрами как во втором скетче - lcd.print(UV,38,19)
никто не хочет помочь? всего одна две строки
Что значит "никто не хочет"? Человек же сказал, что хочет
700р
Какие проблемы?
мне кажется что помощь и платная услуга ,это разные понятия,, или я ошибаюсь?
мне кажется что помощь и платная услуга ,это разные понятия,, или я ошибаюсь?
мне кажется, помощь - это когда человек в основном все делает сам, а ему только помогают. А в вашем случае вы ждете, когда сделают за вас - на нашем форуме это обычно происходит в платном разделе
ну так вы откройте обе графические библиотеки и сравните методы и их парметры. Редко так бывает чтобы было досточно только имя библиотеки поменять, обычно там функции, делающие одно и тоже - называются чуть по разному, принимает другие парметры или в другом порядке...
да да ,, называются чуть по разному,, принимает другие парметры или в другом порядке..
а вот какие не могу найти,, до утра кучу роликов посмотрел в ютубе так и не понял
а вот какие не могу найти,, до утра кучу роликов посмотрел в ютубе так и не понял
вы бы еще карту Антарктиды изучили... примерно такое же отношение имеет к вашей проблеме, как ролики на ютубе...
Что вы пытались найти в видео? какие парметры поменять в двух ваших библиотеках? хм.... с вашим IQ мне все ясно...
это после какой строки вписать?
это после какой строки вписать?
после перевода 700 рублей.... :)
Все, отписываюсь, не могу больше смотреть на эту клоунаду
Это описание функций LCD5110
То есть не нужны lcd.setCursor(0, 1);
Координаты (в графическом понимании, а не в символьном) указываются сразу в print !
Это описание функций LCD5110
То есть не нужны lcd.setCursor(0, 1);
Координаты (в графическом понимании, а не в символьном) указываются сразу в print !
дав эт я знаю эта строка от 1602 экрана,она отключена
как то вот так вписать надо
print пишут в буфер
что бы увидеть, надо после print делать lcd.update();
я думаю что вот это надо вставить
Вот так попробуйте - должна быть строка на дисплее.
на 10 строке ошибка
на 10 строке ошибка
это точно :)
вот так по центру моргает 123
а как вывести показания с датчика?
в 8 строке написать lcd.printNumI(rpm, CENTER, 14);
int rpm = 0; из второй строки перенсти в void setup()
Вместо "123" написать rpm
ура))) все отлично работает , обороты показывает по центру, только моргает в сек
это не так важно,главное показывает, но все же ,что отредактировать чтоб не моргал
большое спасибо командир , ты настоящий помощник))))
вот весь код
Попробуй lcd.clrScr(); в сетап перенести. Но тогда понабиться еще вывод чего нибудь чистить за принтом место. Или сначала строку одинакового размера сформировать и её выводить. Тогда моргать не будет.
все нашел)) убрал три строки 30 31 32 , ничего не моргает
всем большое спасибо