Difference between revisions of "Sensor-Touch Button"

From Microduino Wiki
Jump to: navigation, search
(Document)
(Programming)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Language|Microduino-TOUCH}}
+
{{Language|Sensor-Touch Button}}
{| style="width: 1000px;"
+
{| style="width: 80%;"
 
|-
 
|-
 
|
 
|
 
[[File: Microduino-TOUCH-v1.jpg|400px|thumb|right| Microduino-TOUCH]]
 
[[File: Microduino-TOUCH-v1.jpg|400px|thumb|right| Microduino-TOUCH]]
  
The product number of Microduino-TOUCH is: '''MSDS21'''
+
The product number of Sensor-Touch Button is: '''MSDS21'''
  
Microduino-TOUCH is capacitive touch detection sensor module.  
+
Sensor-Touch Button is capacitive touch button sensor module.  
  
After the human body touch the two ends of the capacitance, the touch sensor can conduct electricity via the human body tissues and fluids, so the two ends of it change into low level.
 
 
Breaking the touch, the capacitor starts charging in an instant, until the rated capacity of the capacitor,  and at this time, the two ends of the capacitor is equivalent to open circuit, and the two ends of the touch sensor change into high level.
 
  
 
==Introduction of Sensor Pin==
 
==Introduction of Sensor Pin==
{{Sensor_explain
+
{{ST_Pinout
|nameA=[[Sensor-Touch Button]]
+
|st_name=Touch Button
|modeA=Digital signal input
+
|pin3=Digital Input
|modeB=NC
 
 
}}
 
}}
  
==Features==
+
=About=
*With wide working voltage;
 
*With small size, which makes it easy to install;
 
*With capacitive sensing, and high sensitivity;
 
*With low power consumption, long service life, and good stability;
 
*With optional output locking and non-locking mode, which makes it convenient to use.
 
  
 
==Specification==
 
==Specification==
*Voltage of the sensor
+
*Sensor voltage
**3.3V~5V working voltage
+
**3.3V~5V working voltage  
 
 
 
*Size of the sensor
 
*Size of the sensor
 
**Size of the board: 23.5mm*13mm
 
**Size of the board: 23.5mm*13mm
**1.27mm-spacing 4Pin interface connected with sensorhub
+
**1.27mm-spacing 4Pin interface connected with sensorhub.
 
**CAD drawing of the sensor: '''[[File:Sensor_CAD.zip]]'''
 
**CAD drawing of the sensor: '''[[File:Sensor_CAD.zip]]'''
  
 
*Function description
 
*Function description
**After touching the sensor, the digital output changes from 1 to 0.  
+
**The static signal of the sensor is HIGH. After being touched, the signal changes into LOW.  
  
 
*Connection
 
*Connection
**This sensor can be connected to the following interfaces of the core: '''D2~D13'''
+
**This sensor can be connected to the following interfaces of the core: '''D2~D13''', '''A0~A7'''
 +
 
 +
==Documents==
 +
*Schematic diagram: '''[[File: Sensor-Touch Button.Zip]]'''
 +
*Main sensor: '''[[File: TTP223-Preliminary.pdf]]'''
 +
 
 +
==Usage==
 +
 
 +
===Basic Functionality===
 +
The Touch Button is a simple digital input sensor. It uses the TTP223 chip to detect capacitance when the switch is touched. It is an input module which produces a HIGH or LOW voltage depending if pressed or not. A Core module can read the voltage value and determine the state of the Touch Button.
 +
{| class="wikitable"
 +
|+Touch Button State Table
 +
|-
 +
! State
 +
! Voltage Level
 +
|-
 +
|Sensor is not pressed
 +
|HIGH
 +
|-
 +
|Sensor is pressed
 +
|LOW
 +
|}
 +
 
 +
===Programming===
 +
<tab name="Arduino for Microduino" style="width:100%;">
 +
==Introduction==
 +
The Touch Button is used as a simple input pin. Therefore, the '''pinMode''' and '''digitalRead''' functions will be used.
 +
==Key Functions==
 +
*Required Libraries: None
 +
*Key Functions:
 +
** '''pinMode(pin_number, pin_mode)''' - sets the mode for the pin
 +
***'''pin_number''' - is the pin number that the sensor is connected to
 +
***'''pin_mode''' - is the mode to set the pin to. Either '''INPUT''' or '''OUTPUT'''
 +
** '''digitalRead(pin_number)''' - Reads the value of the pin
 +
***'''pin_number''' - is the pin number that the sensor is connected to
 +
 
 +
==Example==
 +
This is a simple example which outputs the state of the Touch Button to the serial port terminal.
 +
 
 +
'''Note''': Important lines of code are highlighted.
 +
 
 +
<syntaxhighlight lang="cpp" highlight="1,2,10,11,17,18">
 +
//Define the pin the sensor is connected to
 +
const int TOUCH_BUTTON_PIN = 6;
 +
 
 +
void setup(){
 +
  // put your setup code here, to run once:
 +
 
 +
  //Initial serial communication port at 9600 baud
 +
  Serial.begin(9600);
  
==Document==
+
  //Configure the pin into input mode
*Schematic diagram: '''[[File: Microduino_Touch Button.Zip]]'''
+
  pinMode(TOUCH_BUTTON_PIN, INPUT);
*Touch Button datasheet:'''[[File: Microduino_Sensor-Touch Button datasheet.pdf]]'''
+
}
 +
 
 +
void loop(){
 +
  // put your main code here, to run repeatedly:
 +
 
 +
  //Perform a digital read and store the value into pin_state variable
 +
  int pin_state = digitalRead(TOUCH_BUTTON_PIN);
 +
 
 +
  //Check if the sensor's state is HIGH (not pressed)
 +
  if(pin_state == HIGH){
 +
    Serial.println("Touch Button is not pressed!");
 +
  }
 +
  //Check if the sensor's state is LOW (pressed)
 +
  else if(pin_state == LOW){
 +
    Serial.println("Touch Button is pressed!");
 +
  }
 +
  else{}
 +
 
 +
  //delay 100ms between loops
 +
  delay(100);
 +
}
 +
</syntaxhighlight>
 +
Copy and paste the code above to the Arduino IDE or
 +
 
 +
Download the above example: n/a
 +
 
 +
*Open the Serial Monitor (magnifier glass on top right) and set 9600 baud. This will display the serial output.
 +
</tab>
  
==Development==
 
 
===Program Download===
 
===Program Download===
*Download and unzip the program '''[[File:Microduino_Sensor-Touch Button_Test.zip]]'''
+
*Download and unzip the program: '''[[File:Sensor_Touch Button_Test.zip]]'''
  
 
===Programming===
 
===Programming===
Line 55: Line 120:
 
|nameB=[[Microduino-USBTTL]]
 
|nameB=[[Microduino-USBTTL]]
 
|boardName=Microduino/mCookie-Core(328p), Atmega328P@16M,5V
 
|boardName=Microduino/mCookie-Core(328p), Atmega328P@16M,5V
|fileName=Microduino_Sensor-Touch Button_Test.ino
+
|fileName=Sensor_Touch Button_Test.ino
 
}}
 
}}
  
 
===Hardware Setup===
 
===Hardware Setup===
*Referring to the following picture, connect Sensor-Crash to the digital port D6 of '''[[Microduino-Sensorhub]]'''.
+
*Referring to the following diagram, connect the Sensor-Touch Button to the digital port of '''[[Microduino-Sensorhub]]'''.  
 
<br>
 
<br>
 
[[file:Microduino-sensorhub_Crash.JPG|thumb|400px|left]]
 
[[file:Microduino-sensorhub_Crash.JPG|thumb|400px|left]]
Line 66: Line 131:
 
===Result===
 
===Result===
 
*After download, open the serial monitor.  
 
*After download, open the serial monitor.  
*After the sensor is presses down, the digital output changes from 1 to 0.
+
*The static signal of the senor is HIGH. After being touched, the signal changes into LOW.
 +
 
 
==Application==
 
==Application==
*Touch button switch
+
*Touching key switch
  
===Projects===
+
===Project===
*Touching rainbow lamp
+
*'''[[Open Source Smart Rainbow Music Touch Lamp]]'''
==Purchase==
 
  
 
==History==
 
==History==

Latest revision as of 19:25, 18 August 2017

Language: English  • 中文
Microduino-TOUCH

The product number of Sensor-Touch Button is: MSDS21

Sensor-Touch Button is capacitive touch button sensor module.


Introduction of Sensor Pin

Sensor backpin.png

Touch Button
General Pin Out Sensor / Trinket's Pin Out
PIN1 (GND) GND
PIN2 (VCC) VCC
PIN3 (SIGNAL-A) Digital Input
PIN4 (SIGNAL-B) Not Connected
  • General Pin Out is the standard pin out of a Sensor / Trinket connector.
  • Sensor / Trinket's Pin Out is this specific Sensor / Trinket's wiring in relation to the General Pin Out.
  • SIGNAL-A / SIGNAL-B are signals that could be digital input, digital output, analog input or analog output. Or special signals such as serial communication (SoftwareSerial, IIC (I2C), etc) or other special signals.
  • Not Connected refers to the Pin not being used for this particular Sensor / Trinket.
  • Read more about the hub module.

About

Specification

  • Sensor voltage
    • 3.3V~5V working voltage
  • Size of the sensor
    • Size of the board: 23.5mm*13mm
    • 1.27mm-spacing 4Pin interface connected with sensorhub.
    • CAD drawing of the sensor: File:Sensor CAD.zip
  • Function description
    • The static signal of the sensor is HIGH. After being touched, the signal changes into LOW.
  • Connection
    • This sensor can be connected to the following interfaces of the core: D2~D13, A0~A7

Documents

Usage

Basic Functionality

The Touch Button is a simple digital input sensor. It uses the TTP223 chip to detect capacitance when the switch is touched. It is an input module which produces a HIGH or LOW voltage depending if pressed or not. A Core module can read the voltage value and determine the state of the Touch Button.

Touch Button State Table
State Voltage Level
Sensor is not pressed HIGH
Sensor is pressed LOW

Programming

Introduction

The Touch Button is used as a simple input pin. Therefore, the pinMode and digitalRead functions will be used.

Key Functions

  • Required Libraries: None
  • Key Functions:
    • pinMode(pin_number, pin_mode) - sets the mode for the pin
      • pin_number - is the pin number that the sensor is connected to
      • pin_mode - is the mode to set the pin to. Either INPUT or OUTPUT
    • digitalRead(pin_number) - Reads the value of the pin
      • pin_number - is the pin number that the sensor is connected to

Example

This is a simple example which outputs the state of the Touch Button to the serial port terminal.

Note: Important lines of code are highlighted.

//Define the pin the sensor is connected to
const int TOUCH_BUTTON_PIN = 6;

void setup(){
  // put your setup code here, to run once:

  //Initial serial communication port at 9600 baud
  Serial.begin(9600);

  //Configure the pin into input mode
  pinMode(TOUCH_BUTTON_PIN, INPUT);
}

void loop(){
  // put your main code here, to run repeatedly:

  //Perform a digital read and store the value into pin_state variable
  int pin_state = digitalRead(TOUCH_BUTTON_PIN);

  //Check if the sensor's state is HIGH (not pressed)
  if(pin_state == HIGH){
    Serial.println("Touch Button is not pressed!");
  }
  //Check if the sensor's state is LOW (pressed)
  else if(pin_state == LOW){
    Serial.println("Touch Button is pressed!");
  }
  else{}

  //delay 100ms between loops
  delay(100);
}

Copy and paste the code above to the Arduino IDE or

Download the above example: n/a

  • Open the Serial Monitor (magnifier glass on top right) and set 9600 baud. This will display the serial output.

Program Download

Programming

  • Follow the Software Getting Started Guide.
  • Select the Board, Processor and Port.
  • Click [File]->[Open], browse to the project program address, and click "Sensor_Touch Button_Test.ino" to open the program.
  • After confirming all these items are correct, click "→" to download the program to the development board.

Hardware Setup

  • Referring to the following diagram, connect the Sensor-Touch Button to the digital port of Microduino-Sensorhub.


Microduino-sensorhub Crash.JPG


Result

  • After download, open the serial monitor.
  • The static signal of the senor is HIGH. After being touched, the signal changes into LOW.

Application

  • Touching key switch

Project

History

Gallery

File:MicroduinoTouch Button-F.JPG
mCookie-Touch Button-Front
File:MicroduinoTouch Button-b.JPG
mCookie-Touch Button-Back
Retrieved from "https://wiki.microduinoinc.com/index.php?title=Sensor-Touch_Button&oldid=21603"