Как вывести количество общее количество оборотов
- Войдите на сайт для отправки комментариев
Втр, 06/09/2016 - 13:42
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x20, 16, 2);
int x;
volatile int imp = 0;
volatile int imp2 = 0;
void impuls()
{
imp ++;
}
void impuls2()
{
imp2 ++;
}
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.backlight();// Включаем подсветку дисплея
attachInterrupt(0, impuls, FALLING);
attachInterrupt(1, impuls2, FALLING);
}
void loop() {
x = imp2 - imp; // общее пройденное растояние
lcd.setCursor(0, 0);
lcd.print(imp); //датчик оборотов крутиться в одну сторону, выводит количество импульсов в первую строку
lcd.setCursor(0, 1);
lcd.print(imp2); // датчик оборотов крутиться в другую сторону, выводит количество импульсов во вторую строку
lcd.setCursor(6, 0);
lcd.print(x); //общее пройденое расстояние (рисуется билибирда)
}
как вывести на дисплей общие пройденные обороты( датчик может крутиться в любую сторону)
Если imp, imp2 и x не переполняются, то других проблем я не вижу.
А что там за "билиберда" как Вы изволили выразитьс? Левые числа или вообще грязь?
Числа переполняются на дисплее
Так сделайте их long, а не int