Tableau tactile SAML
Tableau tactile SAML
Overview
Le SAML Touch Click Board™ est équipé de deux pavés tactiles capacitifs et d'un curseur capacitif. Il est également doté d'indicateurs LED, qui servent à indiquer les niveaux de contact pour chacun des composants tactiles disponibles : deux LED (une pour chaque pavé tactile) et un graphique à barres à six segments, utilisé pour indiquer la position du contact sur le curseur. Le SAML Click Board™ est basé sur le microcontrôleur ATSAML10, un microcontrôleur ARM Cortex 32 bits à très faible consommation, équipé du contrôleur tactile périphérique (PTC), parfaitement adapté à la réalisation de divers types d'applications tactiles avec une tolérance à l'eau supérieure, une excellente immunité au bruit et une réactivité. Pris en charge par un micrologiciel intelligemment conçu, il fournit le contrôleur tactile complet sur un Click Board™.
The SAML Click Board™ is a perfect example of how simple the implementation of the Q-Touch ® technology from Microchip can be. Besides the ATSAML10 MCU itself, the Click board™ contains a few additional hardware components. Thanks to the highly integrated PTC module supported by the Q-Touch ®, the development of complex touch applications becomes extremely simple and fast. Featuring many inherited benefits compared to mechanical buttons and sliders, this Click board™ can be used for the development of various HMI interfaces, touch-operated control panels, interfaces used in very harsh and humid environments, etc.
How Does The SAML Click Board™ Work?
The main component of the SAML Click Board™ is the ATSAML10, an ultra-low-power 32-bit ARM ® Cortex ® MicroController Unit (MCU) from Microchip. Among many other features, this MCU contains the enhanced Peripheral Touch Controller (PTC) module, making it a perfect solution for various capacitive touch-based applications that require superior noise immunity. One of the key features of the PTC module is its ability to reliably sense touch events, even when covered with water. SAML click demonstrates the overall hardware simplicity of one such application: capacitive pads are directly connected to the MCU pins, with no additional components required. Everything is already integrated within the PTC module of the ATSAML10 MCU itself, allowing very fast development. The only passive components on this click are the resistors that limit the current through the LEDs and accompanying filtering capacitors.
As mentioned before, the enhanced PTC module provides many benefits over similar solutions. The most distinctive is its parallel acquisition capability, allowing it to process all the inputs in parallel and simultaneous detection of multiple touch events. This increases the responsiveness of the touch interface, compared to traditional sequential acquisition circuits. It also provides better noise immunity and more robustness when used in harsh and humid environments. This allows the Click board™ to use an acrylic overlay, and still detects touch events with perfect accuracy.
Another feature of the enhanced PTC module is the Driven Shield Plus capability. This capability adds another layer of noise protection to the application. It allows touch sensors to work while exposed to moisture, sweat, rain, and even running water. Any of the capacitive touch channels can be used as a driven shield channel, offering IP-68 compliant protection.
A cleverly designed firmware is responsible for events detection, visual feedback over LED indicators, and for communication with the host MCU. The MCU firmware is written using Q-Touch® libraries from Microchip, which offer full support for PTC modules. The communication with the ATSAML10 is realized over the UART interface. A set of UART command strings are available for touch detection, as well as for the touch slider position. However, the Click board™ is supported by a mikroSDK compatible library, offering simple functions, saving the developer to write UART command parsers. These functions allow faster development and simplified software design.
The Click board™ is designed to work with 3.3V only. If interfacing with systems that use 5V for their operation, an appropriate level translating circuitry has to be used.
Specifications
Type | Capacitive |
Applications | Featuring many inherited benefits compared to mechanical buttons and sliders, this Click board™ can be used for the development of various HMI interfaces, touch-operated control panels, interfaces used in a very harsh and humid environment, etc. |
On-board modules | ATSAML10, a powerful, low-power, 32-bit ARM® Cortex® Micro Controller Unit (MCU) by Microchip. |
Key Features | ATSAML10 onboard, a powerful MCU with the Integrated PTC capacitive touch peripheral module, parallel acquisition greatly improves responsiveness, Driven Shield Plus feature offers immunity to using the Click board™ in humid conditions, clean and visually appealing indication of the touch over LEDs, two buttons plus one slider, etc. |
Interface | UART |
Compatibility | mikroBUS |
Click board size | L (57.15 x 25.4 mm) |
Input Voltage | 3.3V |
Pinout diagram
This table shows how the pinout on the SAML Click Board™ corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
NC | 1 | AN | PWM | 16 | NC | ||
NC | 2 | RST | INT | 15 | NC | ||
NC | 3 | CS | RX | 14 | TX | UART Transmit | |
NC | 4 | SCK | TX | 13 | RX | UART Receive | |
NC | 5 | MISO | SCL | 12 | NC | ||
NC | 6 | MOSI | SDA | 11 | NC | ||
Power Supply | 3.3V | 7 | 3.3V | 5V | 10 | NC | |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 - LD6 | - | - | Capacitive slide bargraph indicator |
LD7 | - | - | Touch button 1 LED indicator |
LD8 | - | - | Touch button 2 LED indicator |
Software Support
We provide a library for the SAML Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library contains the function which parses the response received by the module and checks the buttons and slider.
Key functions:
void samltouch_parser(char *dataIn, samltouch_state_T *state)
- The function parses the response it receives
Examples description
The application is composed of three sections :
- System Initialization - Initializes UART used for the communication with SAML Touch module and UART used for information logging.
- Application Initialization - Initializes driver init and timer init.
- Application Task - running in the parallel core state machine. Check that button 1 or button 2 or the active slider is pressed. If it detects that buttons 1 or 2 are pressed, it logs a button detection message. If it detects that the slider is active, it logs a message that the slider is active and its current position is 0-255.
void applicationTask() { // CORE STATE MACHINE samltouch_process(); if(timerCounter > 100) { if(SAML_Touch.button2 == 1) { mikrobus_logWrite( "Button 2 is pressed.", _LOG_LINE ); } else if(SAML_Touch.button1 == 1) { mikrobus_logWrite( "Button 1 is pressed.", _LOG_LINE ); } timerCounter = 0; } if(SAML_Touch.sw_state == 1) { mikrobus_logWrite( "Slider is active.", _LOG_LINE ); if(SAML_Touch.sw_pos != 0) { mikrobus_logWrite( "Slider position is ", _LOG_TEXT ); IntToStr(SAML_Touch.sw_pos, demoText); mikrobus_logWrite( demoText, _LOG_LINE ); } } }
Additional Functions :
All additional functions such as timer initialization and default handler.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
String
UART
Conversions
Additional notes and information
Depending on the development board you are using, you may need a USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
The SAML Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Software Support
We provide a library for the SAML Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library contains the function which parses the response received by the module and checks the buttons and slider.
Key Functions
void samltouch_parser(char *dataIn, samltouch_state_T *state)
- The function parses the response it receives
Example Description
The application is composed of three sections :
- System Initialization - Initializes UART used for the communication with SAML Touch module and UART used for information logging.
- Application Initialization - Initializes driver init and timer init.
- Application Task - running in the parallel core state machine. Check that button 1 or button 2 or the active slider is pressed. If it detects that buttons 1 or 2 are pressed, it logs a button detection message. If it detects that the slider is active, it logs a message that the slider is active and its current position is 0-255.
void applicationTask() { // CORE STATE MACHINE samltouch_process(); if(timerCounter > 100) { if(SAML_Touch.button2 == 1) { mikrobus_logWrite( "Button 2 is pressed.", _LOG_LINE ); } else if(SAML_Touch.button1 == 1) { mikrobus_logWrite( "Button 1 is pressed.", _LOG_LINE ); } timerCounter = 0; } if(SAML_Touch.sw_state == 1) { mikrobus_logWrite( "Slider is active.", _LOG_LINE ); if(SAML_Touch.sw_pos != 0) { mikrobus_logWrite( "Slider position is ", _LOG_TEXT ); IntToStr(SAML_Touch.sw_pos, demoText); mikrobus_logWrite( demoText, _LOG_LINE ); } } }
Additional Functions :
All additional functions such as timer initialization and default handler.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
String
UART
Conversions
Additional Notes and Information
Depending on the development board you are using, you may need a USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
The SAML Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Software Support
We provide a library for the SAML Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library contains the function which parses the response received by the module and checks the buttons and slider.
Key Functions
void samltouch_parser(char *dataIn, samltouch_state_T *state)
- The function parses the response it receives
Example Description
The application is composed of three sections :
- System Initialization - Initializes UART used for the communication with SAML Touch module and UART used for information logging.
- Application Initialization - Initializes driver init and timer init.
- Application Task - running in the parallel core state machine. Check that button 1 or button 2 or the active slider is pressed. If it detects that buttons 1 or 2 are pressed, it logs a button detection message. If it detects that the slider is active, it logs a message that the slider is active and its current position is 0-255.
void applicationTask() { // CORE STATE MACHINE samltouch_process(); if(timerCounter > 100) { if(SAML_Touch.button2 == 1) { mikrobus_logWrite( "Button 2 is pressed.", _LOG_LINE ); } else if(SAML_Touch.button1 == 1) { mikrobus_logWrite( "Button 1 is pressed.", _LOG_LINE ); } timerCounter = 0; } if(SAML_Touch.sw_state == 1) { mikrobus_logWrite( "Slider is active.", _LOG_LINE ); if(SAML_Touch.sw_pos != 0) { mikrobus_logWrite( "Slider position is ", _LOG_TEXT ); IntToStr(SAML_Touch.sw_pos, demoText); mikrobus_logWrite( demoText, _LOG_LINE ); } } }
Additional Functions :
All additional functions such as timer initialization and default handler.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
String
UART
Conversions
Additional Notes and Information
Depending on the development board you are using, you may need a USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
The SAML Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.