#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
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