Keyboard and Number Pad Library for ILI9341 displays

Поделиться
HTML-код
  • Опубликовано: 4 окт 2024
  • 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/Kri...
    ILI9341_t3 controls
    github.com/Kri...
    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/Kri...
    Adafruit_ILI9341_Controls
    github.com/Kri...
  • ХоббиХобби

Комментарии • 40

  • @permakent
    @permakent 10 дней назад +1

    Thanks for this, especially the keyboard.

  • @rarenu
    @rarenu Год назад +3

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

  • @BerndSchmitt-Martinique
    @BerndSchmitt-Martinique Год назад +1

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

  • @Transmission4less
    @Transmission4less Год назад +1

    Thank you.

  • @arehandero
    @arehandero Год назад +1

    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.

  • @irineu6169
    @irineu6169 10 месяцев назад

    Wow, this tutorial is amazing, thank you bro!

  • @rdyer8764
    @rdyer8764 Год назад +1

    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  Год назад +1

      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!

  • @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 :)

  • @informationforyou6855
    @informationforyou6855 5 месяцев назад

    Can I get the circuit for this
    This was really helpful

  • @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

  • @edwardandrews9240
    @edwardandrews9240 9 месяцев назад

    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 RUclips 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  9 месяцев назад

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

  • @AnAsipiringApe
    @AnAsipiringApe Месяц назад

    HOW WOULD I ADAPT THE CODE FOR ARDUINO?

  • @Mistry46
    @Mistry46 2 месяца назад

    Is there a way to exit the number pad if no input is received after a certain time?

    • @KrisKasprzak
      @KrisKasprzak  2 месяца назад

      Currently there is not. The number pad will stay active until the user presses OK or cancel.

  • @Cptnbond
    @Cptnbond Год назад +1

    Nice.

  • @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!

  • @jetpedals
    @jetpedals Год назад

    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  Год назад

      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 Год назад

      @@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? ruclips.net/video/vyvtpjQgRKQ/видео.html

  • @WiderMotion
    @WiderMotion Год назад +1

    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
      ruclips.net/video/YNUbvpTaaCY/видео.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"