УДАЛЕННЫЙ 6898
Старый
- Регистрация
- 02.01.2020
- Сообщения
- 1 558
- Реакции
- 1 979
- Баллы
- 188
- Возраст
- 59
- Адрес
- Россия
- Веб-сайт
- nitckulibin.ru
- Город
- Саратов
- Имя
- Владимир
- Отчество
- Владимирович
- Станок
- cnc3018
- Плата
- 3,2А
- Прошивка
- 1,1F
Прошу уважаемых заседателей не судить строго и не закидывать меня камнями. Я человек старенький, неравен час и как бы не пришлось собираться мне на венки!
Мой вопрос скорее к тем, кто с Ардуиной на "ТЫ", а не к тем как я со словарем.
Есть такой вот скетч (заимствованный) и я хотел бы с ним разобраться. Комменты к нему начал писать сам и в них наверняка есть ошибки.
С 4-ю по 10-ю строку я понял, это для того чтоб надпись появилась в верхней строке двухстрочного индикатора. А то что ниже, это прием данных с входов (А,В) и вывод значений на нижнюю строку. Последние 3-и строки, это коррекция значения количества импульсов с энкодера на отображаемое значение. Т.е. в строчке 22 меняется значение, на пример: m = schetchik/132.00; (количество импульсов на измеряемый диапазон равный одному метру типа. Хотя привязка к метру относительная и взята с датчика со своими геометрическими размерами и своим количеством импульсов на один полный оборот.
Хотелось также разобраться: -Есть ли возможность указать на дисплее большее количество цифр как до запятой, так и после. (0000000,000000)?
Хочу также перенести Данные с входов (А, В) в верхнюю строку индикатора.
Хочу добавить входа (А1, В1) с которых вывести значения на вторую строку. Для ввода данных со второго энкодера.
Во вложении текст скетча.
Видео проекта
Мой вопрос скорее к тем, кто с Ардуиной на "ТЫ", а не к тем как я со словарем.
Есть такой вот скетч (заимствованный) и я хотел бы с ним разобраться. Комменты к нему начал писать сам и в них наверняка есть ошибки.

С 4-ю по 10-ю строку я понял, это для того чтоб надпись появилась в верхней строке двухстрочного индикатора. А то что ниже, это прием данных с входов (А,В) и вывод значений на нижнюю строку. Последние 3-и строки, это коррекция значения количества импульсов с энкодера на отображаемое значение. Т.е. в строчке 22 меняется значение, на пример: m = schetchik/132.00; (количество импульсов на измеряемый диапазон равный одному метру типа. Хотя привязка к метру относительная и взята с датчика со своими геометрическими размерами и своим количеством импульсов на один полный оборот.
Хотелось также разобраться: -Есть ли возможность указать на дисплее большее количество цифр как до запятой, так и после. (0000000,000000)?
Хочу также перенести Данные с входов (А, В) в верхнюю строку индикатора.
Хочу добавить входа (А1, В1) с которых вывести значения на вторую строку. Для ввода данных со второго энкодера.
Во вложении текст скетча.
Видео проекта
C++:
#include <Wire.h> // библиотека экрана
#include <LiquidCrystal_I2C.h> // то же
LiquidCrystal_I2C lcd(0x27, 16, 2); // определение типа экрана
int schetchik = 0; // можно убрать
unsigned char enc_prev=0; // можно убрать
float m = 0.00; // можно убрать
void setup(){ // можно убрать
lcd.begin(); // можно убрать
lcd.setCursor(0, 0); // можно убрать
lcd.print("jelektro linejka"); // можно убрать
pinMode(11, INPUT); // вход А
pinMode(12, INPUT);} // вход В
void loop() {
int enc_A = digitalRead(11); // считывание с входов
int enc_B = digitalRead(12); // считывание с входов
if((!enc_A) && (enc_prev)){
if(enc_B) {
if(schetchik + 1 ) schetchik += 1;}
else {
if(schetchik - 1 >= 0) schetchik -= 1;}}
enc_prev = enc_A;
m = schetchik/0.00; //перевод кода в метры или см.
lcd.setCursor(10, 1); //перевод кода в метры или см.
lcd.print(m);}