// 7 segment = A-5 B-6 C-7 D-12 E-13 F-A1 G-A2
// Digity = 1.- 1 2.- 3 3.- 4 4.=A3
#include <Stepper.h> //knihovna na krokový motor
#include <SevSeg.h> //knihovna pro zjednoduseni pouzivani sedmisegmentoveho displeje
SevSeg sevseg;
int kroky = 0; //7-12 zadávaní promenných a pinů krokového motoru
Stepper myStepper(200, 8, 9, 10, 11);
int stepCount = 0;
int smer = 1;
int i = 0;
void setup() {
byte numDigits = 4; // 17 - 25 = zápis pro funkci knihovny SevSeg
byte digitPins[4] = {1,3,4,A3};
byte segmentPins[7] = {5,6,7,12,13,A1,A2};
bool resistorsOnSegments = false;
byte hardwareConfig = COMMON_CATHODE;
bool updateWithDelays = false;
bool leadingZeros = true;
bool disableDecPoint = true;
sevseg.begin(hardwareConfig, numDigits,digitPins,segmentPins, resistorsOnSegments, updateWithDelays, leadingZeros, disableDecPoint);
}
void loop() {
myStepper.setSpeed(400); //rychlost krokového motoru
int a = analogRead(A0); // promenná na ulozeni otocení potenciometru
kroky = map(a, 0, 1023, 0, 2048); // prevedeni hodnoty na potenciometru na priznive hodnoty
sevseg.setNumber(kroky,1); // // 29,30 / 34,35 - zobrazeni hodnoty potenciometru na displej
sevseg.refreshDisplay();
if (digitalRead(2) == HIGH){ // pokud je zmáčklí čudlík
for (i=0;i<kroky;i++){ // otoc motor o pocet kroku
myStepper.step(smer); // udava smer otočení
sevseg.setNumber(kroky,1);
sevseg.refreshDisplay();
}
smer = smer*-1; // otočí směr otáčení
}
}