#include <SPI.h>

const int chipSelect = 10; // SPI CS (Chip Select) pin beállítása
 int32_t counterValue=0;
void setup() {
  Serial.begin(115200); // Szériális kommunikációs sebesség beállítása
  SPI.begin(); // Az SPI kommunikáció indítása
  
  pinMode(chipSelect, OUTPUT);
  digitalWrite(chipSelect, HIGH); // CS pin magasra állítása, amíg nincs művelet
 counterValue = readEncoder(); // Hívja meg a számláló értékének olvasását
  
}

void loop() {
  
if(readEncoder()!=counterValue)
{
  counterValue=readEncoder();
  Serial.print("Counter Value: ");
  Serial.println(counterValue);
} 
}

uint32_t readEncoder() {
  uint32_t value = 0;
  
  digitalWrite(chipSelect, LOW); // CS pin alacsonyra állítása a kommunikáció megkezdéséhez

  for(int i = 0; i < 4; i++) { // 4 byte kiolvasása a számlálóból, MSB (legjelentősebb bit) először
    value = (value << 8) | SPI.transfer(0x00);
  }
  
  digitalWrite(chipSelect, HIGH); // CS pin magasra állítása a kommunikáció befejezéséhez

  return value;
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
encoderBreakout
chip1:VCC
chip1:GND
chip1:A
chip1:B
chip1:MISO
chip1:MOSI
chip1:SCK
chip1:CS
encoder1:CLK
encoder1:DT
encoder1:SW
encoder1:VCC
encoder1:GND
vcc1:VCC
gnd1:GND