Keyboard and Number Pad Library for ILI9341 displays

Тәжірибелік нұсқаулар және стиль

If you have never needed to capture user input such as IP address, user names, filenames, and passwords, this library does it all. This easy to implement library is the perfect component for your Teensy projects with ILI9341_t3 display drivers or an ESP32 programs that use the Adafruit_ILI9341display driver.
The keypad (number pad) library MAY work with an Arduino UNO, NANO, and the MEGA. The full keyboard (numbers and characters) is not supported with any Arduino MCU. The best I can determine is either memory issue or 8-bit architecture
The displays are common 2.8" TFT LCD touchscreens using the ILI9341 chip and with touch capability using the XPT2046 chip. The two classes include a full keyboard and a number pad. The Keyboard has upper/lower case and all special characters. The number pad has decimals, negative signs, and even supports hidden display characters.
See below for links for Teensy or ESP32 users
For Teensy users (ILI9341_t3 displays)
Dependencies are
ILI9341_t3 display library
XPT2046_Touchscreen touch library
ILI9341_t3_Controls library (version 6.0)
Libraries here
Keyboard / Number Pad
github.com/KrisKasprzak/ILI93...
ILI9341_t3 controls
github.com/KrisKasprzak/ILI93...
For ESP32 users (Adafruit_ILI9341 displays)
Dependencies are
Adafruit_ILI9341 display library
XPT2046_Touchscreen touch library
Adafruit_ILI9341_Controls library (version 6.0)
Get the libraries here
Keyboard / Number Pad
github.com/KrisKasprzak/Adafr...
Adafruit_ILI9341_Controls
github.com/KrisKasprzak/Adafr...

Пікірлер: 36

  • @rarenu
    @rarenu Жыл бұрын

    As always, one more very useful video from you. I appreciate your efforts. 👌Waiting for the next lesson, with great regards.

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    Thank you for your kind words.

  • @irineu6169
    @irineu61697 ай бұрын

    Wow, this tutorial is amazing, thank you bro!

  • @BerndSchmitt-Martinique
    @BerndSchmitt-Martinique Жыл бұрын

    Excellent and very useful. Thank you Kris - as a Teensy/ILI9341 fan I am waiting for your next video. Greetings from germany.

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    Thank you very much!

  • @Transmission4less
    @Transmission4less Жыл бұрын

    Thank you.

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    You're welcome!

  • @getinsidelife
    @getinsidelife Жыл бұрын

    Kris, thank you for your contribution. Is this possible to make this touch display works with your library "Menu System for ILI9341_t3 displays"

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    Sure, it’s just a method that you called whenever you need it

  • @bob-ny6kn
    @bob-ny6kn Жыл бұрын

    Always good content. Is using pins 0 and 1 not conflicting with USB and tx/rx?

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    I'm secretly trying to get the world to replace arduino with Teensy :)

  • @edwardandrews9240
    @edwardandrews92406 ай бұрын

    Kris - I am looking for a full A/N touch library for an ESP32 with 3.5 in ILI9341 LCD controller/with resistive touch, 480x320 resolution. This KZread video seems to detail exactly what I am looking for. HOWEVER, the links to your GITHUB only points to a numeric keypad version - No KEYBOARD class as far as I can tell. Is the keyboard library no longer avaialbe? Please advise.

  • @KrisKasprzak

    @KrisKasprzak

    6 ай бұрын

    see line 160 in the ILI9341_t3_Keypad /ILI9341_t3_Keypad.h class Keyboard {...

  • @Cptnbond
    @Cptnbond Жыл бұрын

    Nice.

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    Thank you! Cheers!

  • @rdyer8764
    @rdyer8764 Жыл бұрын

    Another great video that I can put to use! A question for you: Do you ever have trouble with the accuracy of your touch interface, especially when you have so many keys on the screen? It would seem the full keyboard would require good touch resolution and accuracy. Occasionally I have trouble with this. I know there's the touch calibration script to be used for initial display setup. Do you ever need it? Do you think maybe I just have some old/cheap displays/touch screens? Where do you usually source your displays? Are cheap Chinese versions suitable in your experience?

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    I’ve got pretty good luck with touch accuracy. The display shown here was a cheap Chinese unit at about eight dollars. I buy them on Amazon. I don’t use the calibration script. I have my own mapping functions inside a function called processtouch. I just tweak the first two arguments for the X and Y and I can get pretty good accuracy.

  • @rdyer8764

    @rdyer8764

    Жыл бұрын

    @@KrisKasprzak Thanks!

  • @arehandero
    @arehandero Жыл бұрын

    Dear sir. I'm having problems running these libraries with an Arduino Mega. Everything compiles with no problem. Touchscreen calibration is perfect but in the Keyboard sketch the 3 main button show the fonts in the button but after pressing any of the 3 buttons the program goes to the corresponding screen but there is no font written in any button. In the keypad screen the tick and cancel buttons are not drawn correctly. After pressing any button it goes to the black screen with no letters and after pressing in that screen it goes to the main menu with the 3 buttons but without text. I already confirmed I have the latest versions of your libraries. Also confirmed I'm using the Arduino libraries instead of the teensies. The only difference is that I'm not using the IRQ pin on the Touchscreen... But I don't think it's a touchscreen problem, the screen presses seem to be Ok. Also having some performance issues with your Menu Library. I hope you can give me a clue on what to try. Thanks in advance and thanks for your great contribution to the community.

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    In the readme on github, I've indicated that the keypad library MAY work with an Arduino UNO, NANO, and the MEGA. The full keyboard is not supported with any Arduino MCU. The best I can determine is either memory issue or 8-bit architecture. I've updated this vides description indicating the same. Personally, I've run into so many limitations with Arduinos I no longer use use them--unless it's a very simple project.

  • @informationforyou6855
    @informationforyou68552 ай бұрын

    Can I get the circuit for this This was really helpful

  • @KrisKasprzak

    @KrisKasprzak

    Ай бұрын

    Glad I could help.

  • @jetpedals
    @jetpedals10 ай бұрын

    Kris, great looking keyboard here! I am having one issue trying to compile. I see others have asked this below but didn't see a solution. Any help would be appreciated! I'm using an ESP32 S3 and here is the error code: src/Adafruit_ILI9341_Keypad.cpp:80:27: error: array must be initialized with a brace-enclosed initializer Button KeyboardBtn[101](d);

  • @KrisKasprzak

    @KrisKasprzak

    10 ай бұрын

    Let me guess, you’re using Arduino IDE 2.0? Something changed in the compiler along the lines that make a red declaration more descriptive I have a fix but it will be a week or so before I can actually get to it.

  • @jetpedals

    @jetpedals

    10 ай бұрын

    @@KrisKasprzak technically I’m using PlatformIO but I’m using the Arduino environment.

  • @riskulfikri1169
    @riskulfikri1169 Жыл бұрын

    please make tutorial how to make graph relation in tft lcd and sensor ina219 sir

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    Like this? kzread.info/dash/bejne/qK2q1tKjgcq4e7Q.html

  • @professorboots
    @professorboots Жыл бұрын

    Hey! Super cool and useful tool, I'm currently trying to implement it but I keep getting this error. "\Adafruit_ILI9341_Keypad.cpp:508:27: error: array must be initialized with a brace-enclosed initializer Button KeyboardBtn[101](d);" any help would be much appreciated. Thank you!

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    what MCU?

  • @professorboots

    @professorboots

    Жыл бұрын

    @@KrisKasprzak it’s a esp32 Wroom. Thank you for your reply!

  • @WiderMotion
    @WiderMotion Жыл бұрын

    Thank you so much, can you please create a discord server for your channel?

  • @moin6271
    @moin6271 Жыл бұрын

    sir how can i use special characters like arrows and symbols...

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    Unfortunately you can't using standard font files as they are limited to char data types (+/- 127). However, you can create custom font based on something like Wingdings. This video shows how kzread.info/dash/bejne/i4KJxNiphMTHc7w.html By using the .setFont(arial) you can print "Cool" then change the font .setFont(Wingdings). then you can print("J"), and get a smiley face. You can download other fonts for different graphics. Just use the font convert tool to create a custom font.

  • @rarenu
    @rarenu Жыл бұрын

    Dear Sir, I am getting this compiling error, please advice: C:\Adafruit_ILI9341_Keypad\Adafruit_ILI9341_Keypad.cpp: In member function 'void NumberPad::getInput()': C:\Adafruit_ILI9341_Keypad\Adafruit_ILI9341_Keypad.cpp:205:27: error: array must be initialized with a brace-enclosed initializer Button NumberPadBtn[16](d); ^ C:\Adafruit_ILI9341_Keypad\Adafruit_ILI9341_Keypad.cpp: In member function 'void Keyboard::getInput()': C:\Adafruit_ILI9341_Keypad\Adafruit_ILI9341_Keypad.cpp:464:27: error: array must be initialized with a brace-enclosed initializer Button KeyboardBtn[101](d); ^

  • @KrisKasprzak

    @KrisKasprzak

    Жыл бұрын

    For some reason my libs got out of sycn on upload to github. you will need re-downlad and make sure you get the latest controls library. Here are the links: github.com/KrisKasprzak/Adafruit_ILI9341_Keypad github.com/KrisKasprzak/Adafruit_ILI9341_Controls

  • @rarenu

    @rarenu

    Жыл бұрын

    @@KrisKasprzak Sir, the above Keyboard.ino example sketch, gives this compiling error message: C:\Users\Arduino\libraries\Adafruit_ILI9341_Keypad\Adafruit_ILI9341_Keypad.cpp:30:10: fatal error: ILI9341_t3_Keypad.h: No such file or directoryResolveLibrary(ILI9341_t3_Keypad.h) #include "ILI9341_t3_Keypad.h"

Келесі