Dzień 7 - Piny analogowe, potencjometr, serwo














include <Servo.h>
Servo serwo; // Tworzymy obiekt typu Servo
int pinPotencjometru = A0; // Ustawienie potencjometru na pinie analogowym A0
int wartoscPotencjometru; // Przechowuje wartość odczytaną z potencjometru
int katSerwa; // Kąt do ustawienia na serwomechanizmie
void setup() {
serwo.attach(9); // Podłącz serwomechanizm do pinu cyfrowego 9
Serial.begin(9600); // Rozpoczynamy komunikację szeregową dla monitorowania
}
void loop() {
wartoscPotencjometru = analogRead(pinPotencjometru); // Odczytaj wartość z potencjometru (0-1023)
// Mapowanie wartości potencjometru (0-1023) na zakres 0-3
int zmapowanaWartosc = map(wartoscPotencjometru, 0, 1023, 0, 3);
// Zależnie od zmapowanej wartości ustaw odpowiedni kąt obrotu serwomechanizmu
if (zmapowanaWartosc == 0) {
katSerwa = 0;
} else if (zmapowanaWartosc == 1) {
katSerwa = 22.5;
} else if (zmapowanaWartosc == 2) {
katSerwa = 45;
} else if (zmapowanaWartosc == 3) {
katSerwa = 90;
}
// Ustawienie kąta serwomechanizmu
serwo.write(katSerwa);
// Wyświetlanie wartości na monitorze szeregowym
Serial.print("Wartość potencjometru: ");
Serial.print(wartoscPotencjometru);
Serial.print(" | Zmapowana wartość: ");
Serial.print(zmapowanaWartosc);
Serial.print(" | Kąt serwa: ");
Serial.println(katSerwa);
delay(100); // Krótkie opóźnienie, aby odczyty były bardziej stabilne
}