V tem projektu bomo uporabili infrardeči (IR) odbojni senzor TCRT5000 (oznaka na ploščici HW-006 v1.3). Namesto klasičnih gumbov bomo za preklop prikaza na zaslonu uporabili zamah z roko.
Povezava komponent na Arduino Nano ESP32:
Spodnja koda omogoča preklop med napisom "STATUS: OK" in opozorilom "ZAZNANO!", ko senzor zazna bližino.
// Projekt: Brezstično stikalo (TCRT5000 + TFT 2.0 SPI)
// Avtor: Borut Bukovnik - vadnica.org
#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>
// Pini za TFT zaslon / Pins for TFT display
#define TFT_CS 10
#define TFT_DC 9
#define TFT_RST 8
#define IR_PIN 4 // Pin za IR senzor / Pin for IR sensor
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
void setup() {
tft.init(240, 320);
tft.setRotation(1);
tft.fillScreen(ST77XX_BLACK);
pinMode(IR_PIN, INPUT); // Nastavitev senzorja kot vhod / Set sensor as input
tft.setTextColor(ST77XX_WHITE);
tft.setTextSize(2);
tft.setCursor(20, 20);
tft.print("Senzor Bližine Aktiven");
}
void loop() {
// Preberemo stanje (LOW pomeni zaznano bližino)
int stanje = digitalRead(IR_PIN);
tft.setCursor(50, 110);
tft.setTextSize(4);
if (stanje == LOW) {
// Ovira zaznana / Obstacle detected
tft.setTextColor(ST77XX_RED, ST77XX_BLACK);
tft.print(" ZAZNANO! ");
} else {
// Pot prosta / Path clear
tft.setTextColor(ST77XX_GREEN, ST77XX_BLACK);
tft.print(" STATUS: OK ");
}
delay(100); // Hitra odzivnost / Fast responsiveness
}
Hvala za obisk! Dodajam politiko zasebnosti.
© 2024 Vse pravice pridržane.
Vam je koda pomagala? Če želite podpreti moj trud pri pripravi vodičev in vzdrževanju strani, mi lahko namenite donacijo za kavo.