#include #include #include #include "digital_in.h" #include "digital_out.h" int main() { uint8_t cycle{0}; int8_t counter{0}; double ratio; bool last_lo = false; Digital_in encoderA{4}; Digital_in encoderB{5}; Digital_out led{5}; encoderA.init(); encoderB.init(); led.init(); Serial.begin(9600); while (true) { _delay_us(100); led.set_lo(); bool curr_hi = encoderA.is_hi(); if (last_lo && curr_hi) { counter += encoderB.is_lo() ? -1 : 1; led.set_hi(); } ++cycle; if (cycle == 255) { ratio = counter / (0.0255 * 700); counter = 0; cycle = 0; Serial.println(ratio); } last_lo = !curr_hi; } return 0; }