Difference between revisions of "Sensor-Touch Button"
(→Document) |
(→Programming) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Language| | + | {{Language|Sensor-Touch Button}} |
− | {| style="width: | + | {| 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 | + | The product number of Sensor-Touch Button is: '''MSDS21''' |
− | + | Sensor-Touch Button is capacitive touch button sensor module. | |
− | |||
− | |||
− | |||
==Introduction of Sensor Pin== | ==Introduction of Sensor Pin== | ||
− | {{ | + | {{ST_Pinout |
− | | | + | |st_name=Touch Button |
− | | | + | |pin3=Digital Input |
− | |||
}} | }} | ||
− | == | + | =About= |
− | |||
− | |||
− | |||
− | |||
− | |||
==Specification== | ==Specification== | ||
− | * | + | *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 | ||
− | ** | + | **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); | ||
− | = | + | //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); | ||
+ | } | ||
+ | </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> | ||
− | |||
===Program Download=== | ===Program Download=== | ||
− | *Download and unzip the program '''[[File: | + | *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= | + | |fileName=Sensor_Touch Button_Test.ino |
}} | }} | ||
===Hardware Setup=== | ===Hardware Setup=== | ||
− | *Referring to the following | + | *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. | ||
− | * | + | *The static signal of the senor is HIGH. After being touched, the signal changes into LOW. |
+ | |||
==Application== | ==Application== | ||
− | * | + | *Touching key switch |
− | === | + | ===Project=== |
− | * | + | *'''[[Open Source Smart Rainbow Music Touch Lamp]]''' |
− | |||
==History== | ==History== |
Latest revision as of 19:25, 18 August 2017
Language: | English • 中文 |
---|
The product number of Sensor-Touch Button is: MSDS21 Sensor-Touch Button is capacitive touch button sensor module.
ContentsIntroduction of Sensor Pin
AboutSpecification
Documents
UsageBasic FunctionalityThe 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.
ProgrammingIntroductionThe Touch Button is used as a simple input pin. Therefore, the pinMode and digitalRead functions will be used. Key Functions
ExampleThis 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
Program Download
Programming
Hardware Setup
Result
Application
ProjectHistoryGallery |