telecrounch
Ceci est une ancienne révision du document !
TELECROUNCH
badge télécran
création pendant les OAVL2021 d'un télécran numérique (Etch A Sketch)
BOM
- ESP3266 (ESP-F)
- écran Nokia 5150
- 2 Encodeurs Rotatifs (KY-40)
- … avoir pour la suite
Schéma de câblage
code Arduino
simple sans boutons, utiliser le reset pour réinitialiser
#include "Button2.h"; / #include "ESPRotary.h"; #include <SPI.h> #include <Adafruit_GFX.h> #include <Adafruit_PCD8544.h> Adafruit_PCD8544 display = Adafruit_PCD8544(D4, D3, D2, D1, D0); #define ROTARY_PIN1 D7 #define ROTARY_PIN2 D8 //#define BUTTON_PIN D3 #define ROTARY_PIN4 D5 #define ROTARY_PIN5 D6 //#define BUTTON_PIN D7 #define CLICKS_PER_STEP 4 // this number depends on your rotary encoder #define MIN_POS_H 0 #define MAX_POS_H 83 #define START_POS_H 40 #define INCREMENT 1 // this number is the counter increment on each step #define MIN_POS_V 0 #define MAX_POS_V 47 #define START_POS_V 24 ESPRotary r; ESPRotary v; //Button2 b; void setup() { //Serial.begin(9600); //delay(50); display.begin(); display.setCursor(40,24); display.setContrast(60); display.clearDisplay(); //b.begin(BUTTON_PIN); // b.setTapHandler(click); r.begin(ROTARY_PIN1, ROTARY_PIN2, CLICKS_PER_STEP, MIN_POS_H, MAX_POS_H, START_POS_H, INCREMENT); v.begin(ROTARY_PIN4, ROTARY_PIN5, CLICKS_PER_STEP, MIN_POS_V, MAX_POS_V, START_POS_V, INCREMENT); // Serial.println("hello"); // Serial.println("You can only set values between " + String(MIN_POS_H) + " and " + String(MAX_POS_H) +"."); // Serial.println(r.getIncrement()); // Serial.println(r.getPosition()); } void loop() { r.loop(); v.loop(); //b.loop(); //Serial.print(r.getPosition()); //Serial.print(" - "); //Serial.println(v.getPosition()); display.drawPixel(r.getPosition(),v.getPosition(),1); display.display(); } // single click void click(Button2& b) { //Serial.println("Click!"); }
libraires utilisées :
telecrounch.1626784111.txt.gz · Dernière modification : 2021/07/20 12:28 de gaziel