Pokojový teploměr
Každých 10 sekund přečte hodnotu z adresy senzoru a vypíše ji na displej. Pro okrasu je zde i malá uvítací animace při zapnutí teploměru.
Viz foto:
U joystick modulu používáme jenom osu X (VRX).
Viz schéma:
V Arduino IDE zadáme kód a uploadujeme
#include <Servo.h> Servo myServo; // Vytvoření objektu Servo int joystickXPin = A0; // Pin, ke kterému je připojen joystick modul (VRx) int servoPin = 9; // Pin, ke kterému je připojeno servo int servoAngle = 90; // Výchozí úhel serva (střední pozice 90°) int tolerance = 10; // Tolerance pro středovou pozici joysticku (Jostick modul nebude ujíždět) void setup() { myServo.attach(servoPin); // Připojení serva na pin myServo.write(servoAngle); // Nastavení výchozí pozice serva na střed (90°) Protože máme 180° servo. Serial.begin(9600); // Inicializace sériové komunikace (pro ladění) } void loop() { int joystickX = analogRead(joystickXPin); // Čtení hodnoty joysticku (VRx) // Mapování hodnot joysticku (0 - 1023) na rozsah serva (0 - 180°) if (joystickX > 512 + tolerance || joystickX < 512 - tolerance) { servoAngle = map(joystickX, 0, 1023, 0, 180); myServo.write(servoAngle); // Nastavení serva podle joysticku } // Krátké zpoždění pro stabilitu delay(10); }
Tento kód ovládá servo motor pomocí joysticku. Joystick čte hodnotu z osy X a pomocí funkce map() převádí tuto hodnotu (0 až 1023) na úhel (0 až 180°), který určuje polohu serva. Servo se otáčí podle pohybu joysticku: čím více je joystick posunutý vpravo, tím více se servo otočí doprava, a naopak.
Každých 10 sekund přečte hodnotu z adresy senzoru a vypíše ji na displej. Pro okrasu je zde i malá uvítací animace při zapnutí teploměru.
Tento projekt slouží k měření teploty, tlaku a času a k jejich zobrazení na OLED displeji. Současně data vypisuje na sériovou linku.