Difference between revisions of "Grove-12-Channel-Capacitive-Touch-Keypad-ATtiny1616"
m (Protected "Grove-12-Channel-Capacitive-Touch-Keypad-ATtiny1616" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]) |
(→12_Channel_Keypad_LED.ino) |
||
| (6 intermediate revisions by the same user not shown) | |||
| Line 35: | Line 35: | ||
[http://wiki.seeedstudio.com/Grove-12-Channel-Capacitive-Touch-Keypad-ATtiny1616-/ wiki.seeedstudio.com/Grove-12-Channel-Capacitive-Touch-Keypad-ATtiny1616-] wiki | [http://wiki.seeedstudio.com/Grove-12-Channel-Capacitive-Touch-Keypad-ATtiny1616-/ wiki.seeedstudio.com/Grove-12-Channel-Capacitive-Touch-Keypad-ATtiny1616-] wiki | ||
| − | [https://github.com/Seeed-Studio/Seeed_ATtiny1616 | + | [https://github.com/Seeed-Studio/Seeed_ATtiny1616 github.com/Seeed-Studio/Seeed_ATtiny1616] github |
=== Code === | === Code === | ||
| Line 272: | Line 272: | ||
} | } | ||
| + | |||
| + | </pre> | ||
| + | === 12_Channel_Keypad_LED.ino === | ||
| + | <pre> | ||
| + | |||
| + | #include "SoftwareSerial.h" | ||
| + | #include <Wire.h> | ||
| + | #include "Grove_LED_Matrix_Driver_HT16K33.h" | ||
| + | |||
| + | #if defined(ARDUINO_ARCH_AVR) | ||
| + | #define SERIAL Serial | ||
| + | SoftwareSerial mySerial(2,3); | ||
| + | #define TRANS_SERIAL mySerial | ||
| + | #elif defined(ARDUINO_ARCH_SAMD) | ||
| + | #define SERIAL SerialUSB | ||
| + | #define TRANS_SERIAL Serial | ||
| + | #else | ||
| + | |||
| + | #endif | ||
| + | |||
| + | const uint64_t Emoji[] = | ||
| + | { | ||
| + | 0x0036367f367f3636, //# | ||
| + | 0x0000663cff3c6600 //* | ||
| + | }; | ||
| + | Matrix_8x8 matrix; | ||
| + | |||
| + | void setup() { | ||
| + | TRANS_SERIAL.begin(9600); | ||
| + | |||
| + | SERIAL.begin(9600); // start serial for output | ||
| + | SERIAL.println("Version:v1.0"); | ||
| + | |||
| + | Wire.begin(); | ||
| + | matrix.init(); | ||
| + | matrix.setBrightness(0); | ||
| + | matrix.setBlinkRate(BLINK_OFF); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | printData(); | ||
| + | } | ||
| + | void printData() { | ||
| + | while(TRANS_SERIAL.available()) { | ||
| + | uint8_t data = TRANS_SERIAL.read(); | ||
| + | switch(data) { | ||
| + | case 0xE1 : | ||
| + | SERIAL.println("1"); | ||
| + | matrix.writeNumber(1, 800); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | case 0xE2 : | ||
| + | SERIAL.println("2"); | ||
| + | matrix.writeNumber(2, 800); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | case 0xE3 : | ||
| + | SERIAL.println("3"); | ||
| + | matrix.writeNumber(3, 800); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | case 0xE4 : | ||
| + | SERIAL.println("4"); | ||
| + | matrix.writeNumber(4, 800); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | case 0xE5 : | ||
| + | SERIAL.println("5"); | ||
| + | matrix.writeNumber(5, 800); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | case 0xE6 : | ||
| + | SERIAL.println("6"); | ||
| + | matrix.writeNumber(6, 800); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | case 0xE7 : | ||
| + | SERIAL.println("7"); | ||
| + | matrix.writeNumber(7, 800); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | case 0xE8 : | ||
| + | SERIAL.println("8"); | ||
| + | matrix.writeNumber(8, 800); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | case 0xE9 : | ||
| + | SERIAL.println("9"); | ||
| + | matrix.writeNumber(9, 800); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | case 0xEA : | ||
| + | SERIAL.println("*"); | ||
| + | matrix.writeOnePicture(Emoji[1]); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | case 0xEB : | ||
| + | SERIAL.println("0"); | ||
| + | matrix.writeNumber(0, 800); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | case 0xEC : | ||
| + | SERIAL.println("#"); | ||
| + | matrix.writeOnePicture(Emoji[0]); | ||
| + | matrix.display(); | ||
| + | break; | ||
| + | default: | ||
| + | break; | ||
| + | |||
| + | } | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
</pre> | </pre> | ||
Latest revision as of 23:26, 12 April 2020
Contents
Grove-12-Channel-Capacitive-Touch-Keypad-ATtiny1616
Caractéristiques
UART Type : Soft UART
Connect Port : D2,D3
AVR Board
Seeeduino Nano
Seeeduino V4.2
Arduino UNO REV3 + Base Shield V2
Images
Connectique
Connectique D2
Voltage
Tension d'alimentation 3,3 V / 5 V
Liens Externes
www.seeedstudio.com/Grove-12-Channel-Capacitive-Touch-Keypad-ATtiny1616-p-4068.html shop
wiki.seeedstudio.com/Grove-12-Channel-Capacitive-Touch-Keypad-ATtiny1616- wiki
github.com/Seeed-Studio/Seeed_ATtiny1616 github
Code
sortie sur l'écran serial
indiquer 9600
12_Channel_Keypad.ino
#include "SoftwareSerial.h"
#if defined(ARDUINO_ARCH_AVR)
#define SERIAL Serial
SoftwareSerial mySerial(2,3);
#define TRANS_SERIAL mySerial
#elif defined(ARDUINO_ARCH_SAMD)
#define SERIAL SerialUSB
#define TRANS_SERIAL Serial
#else
#endif
//RX=2,TX=3(D2) Software Serial Port
void setup() {
TRANS_SERIAL.begin(9600);
SERIAL.begin(9600); // start serial for output
SERIAL.println("Version:v1.0");
}
void loop() {
printData();
}
/*
* data mapping:E1---1;E2---2;E3---3;E4---4;E5---5;E6---6;
* E7---7;E8---8;E9---9;EA---*;EB---0;EC---#;
*/
void printData() {
while(TRANS_SERIAL.available()) {
uint8_t data = TRANS_SERIAL.read();
switch(data) {
case 0xE1 :
SERIAL.println("1");
break;
case 0xE2 :
SERIAL.println("2");
break;
case 0xE3 :
SERIAL.println("3");
break;
case 0xE4 :
SERIAL.println("4");
break;
case 0xE5 :
SERIAL.println("5");
break;
case 0xE6 :
SERIAL.println("6");
break;
case 0xE7 :
SERIAL.println("7");
break;
case 0xE8 :
SERIAL.println("8");
break;
case 0xE9 :
SERIAL.println("9");
break;
case 0xEA :
SERIAL.println("*");
break;
case 0xEB :
SERIAL.println("0");
break;
case 0xEC :
SERIAL.println("#");
break;
default:
break;
}
}
}
12_Channel_Keypad_OLED.ino
/* 12_Channel_Keypad_OLED.ino
/*
*
* Copyright (c) 2019 Seeed Technology Co., Ltd.
* Website : www.seeed.cc
* Create Time: February 2019
* Change Log :
*
* The MIT License (MIT)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <SoftwareSerial.h>
#include <Wire.h>
#include <SeeedGrayOLED.h>
#include <avr/pgmspace.h>
#if defined(ARDUINO_ARCH_AVR)
#define SERIAL Serial
SoftwareSerial mySerial(2,3);
#define TRANS_SERIAL mySerial
#elif defined(ARDUINO_ARCH_SAMD)
#define SERIAL SerialUSB
#define TRANS_SERIAL Serial
#else
#endif
//RX=2,TX=3(D2) Software Serial Port
void setup() {
Wire.begin();
SeeedGrayOled.init(SH1107G); //initialize SEEED OLED display
SeeedGrayOled.clearDisplay(); //Clear Display.
SeeedGrayOled.setNormalDisplay(); //Set Normal Display Mode
SeeedGrayOled.setVerticalMode(); // Set to vertical mode for displaying text
mySerial.begin(9600);
SERIAL.begin(9600); // start serial for output
SERIAL.println("Version:v1.0");
}
void loop() {
printData();
}
/*
* data mapping:E1---1;E2---2;E3---3;E4---4;E5---5;E6---6;
* E7---7;E8---8;E9---9;EA---*;EB---0;EC---#;
*/
void printData() {
while(mySerial.available()) {
uint8_t data = mySerial.read();
switch(data) {
case 0xE1 :
SERIAL.println("1");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("1");
break;
case 0xE2 :
SERIAL.println("2");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("2");
break;
case 0xE3 :
SERIAL.println("3");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("3");
break;
case 0xE4 :
SERIAL.println("4");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("4");
break;
case 0xE5 :
SERIAL.println("5");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("5");
break;
case 0xE6 :
SERIAL.println("6");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("6");
break;
case 0xE7 :
SERIAL.println("7");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("7");
break;
case 0xE8 :
SERIAL.println("8");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("8");
break;
case 0xE9 :
SERIAL.println("9");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("9");
break;
case 0xEA :
SERIAL.println("*");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("*");
break;
case 0xEB :
SERIAL.println("0");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("0");
break;
case 0xEC :
SERIAL.println("#");
SeeedGrayOled.clearDisplay();
SeeedGrayOled.setTextXY(0,0);
SeeedGrayOled.putString("#");
break;
default:
break;
}
}
}
12_Channel_Keypad_LED.ino
#include "SoftwareSerial.h"
#include <Wire.h>
#include "Grove_LED_Matrix_Driver_HT16K33.h"
#if defined(ARDUINO_ARCH_AVR)
#define SERIAL Serial
SoftwareSerial mySerial(2,3);
#define TRANS_SERIAL mySerial
#elif defined(ARDUINO_ARCH_SAMD)
#define SERIAL SerialUSB
#define TRANS_SERIAL Serial
#else
#endif
const uint64_t Emoji[] =
{
0x0036367f367f3636, //#
0x0000663cff3c6600 //*
};
Matrix_8x8 matrix;
void setup() {
TRANS_SERIAL.begin(9600);
SERIAL.begin(9600); // start serial for output
SERIAL.println("Version:v1.0");
Wire.begin();
matrix.init();
matrix.setBrightness(0);
matrix.setBlinkRate(BLINK_OFF);
}
void loop() {
printData();
}
void printData() {
while(TRANS_SERIAL.available()) {
uint8_t data = TRANS_SERIAL.read();
switch(data) {
case 0xE1 :
SERIAL.println("1");
matrix.writeNumber(1, 800);
matrix.display();
break;
case 0xE2 :
SERIAL.println("2");
matrix.writeNumber(2, 800);
matrix.display();
break;
case 0xE3 :
SERIAL.println("3");
matrix.writeNumber(3, 800);
matrix.display();
break;
case 0xE4 :
SERIAL.println("4");
matrix.writeNumber(4, 800);
matrix.display();
break;
case 0xE5 :
SERIAL.println("5");
matrix.writeNumber(5, 800);
matrix.display();
break;
case 0xE6 :
SERIAL.println("6");
matrix.writeNumber(6, 800);
matrix.display();
break;
case 0xE7 :
SERIAL.println("7");
matrix.writeNumber(7, 800);
matrix.display();
break;
case 0xE8 :
SERIAL.println("8");
matrix.writeNumber(8, 800);
matrix.display();
break;
case 0xE9 :
SERIAL.println("9");
matrix.writeNumber(9, 800);
matrix.display();
break;
case 0xEA :
SERIAL.println("*");
matrix.writeOnePicture(Emoji[1]);
matrix.display();
break;
case 0xEB :
SERIAL.println("0");
matrix.writeNumber(0, 800);
matrix.display();
break;
case 0xEC :
SERIAL.println("#");
matrix.writeOnePicture(Emoji[0]);
matrix.display();
break;
default:
break;
}
}
}