Difference between revisions of "Grove-12-Channel-Capacitive-Touch-Keypad-ATtiny1616"
(→12_Channel_Keypad_LED.ino) |
(→12_Channel_Keypad_LED.ino) |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 278: | Line 278: | ||
#include "SoftwareSerial.h" | #include "SoftwareSerial.h" | ||
| + | #include <Wire.h> | ||
| + | #include "Grove_LED_Matrix_Driver_HT16K33.h" | ||
#if defined(ARDUINO_ARCH_AVR) | #if defined(ARDUINO_ARCH_AVR) | ||
| Line 290: | Line 292: | ||
#endif | #endif | ||
| − | # | + | const uint64_t Emoji[] = |
| − | + | { | |
| − | + | 0x0036367f367f3636, //# | |
| + | 0x0000663cff3c6600 //* | ||
| + | }; | ||
Matrix_8x8 matrix; | Matrix_8x8 matrix; | ||
| Line 310: | Line 314: | ||
printData(); | printData(); | ||
} | } | ||
| − | |||
void printData() { | void printData() { | ||
while(TRANS_SERIAL.available()) { | while(TRANS_SERIAL.available()) { | ||
| Line 317: | Line 320: | ||
case 0xE1 : | case 0xE1 : | ||
SERIAL.println("1"); | SERIAL.println("1"); | ||
| − | + | matrix.writeNumber(1, 800); | |
| − | + | matrix.display(); | |
break; | break; | ||
case 0xE2 : | case 0xE2 : | ||
SERIAL.println("2"); | SERIAL.println("2"); | ||
| − | + | matrix.writeNumber(2, 800); | |
| − | + | matrix.display(); | |
break; | break; | ||
case 0xE3 : | case 0xE3 : | ||
SERIAL.println("3"); | SERIAL.println("3"); | ||
| − | + | matrix.writeNumber(3, 800); | |
| − | + | matrix.display(); | |
break; | break; | ||
case 0xE4 : | case 0xE4 : | ||
SERIAL.println("4"); | SERIAL.println("4"); | ||
| − | + | matrix.writeNumber(4, 800); | |
| − | + | matrix.display(); | |
break; | break; | ||
case 0xE5 : | case 0xE5 : | ||
SERIAL.println("5"); | SERIAL.println("5"); | ||
| − | + | matrix.writeNumber(5, 800); | |
| − | + | matrix.display(); | |
break; | break; | ||
case 0xE6 : | case 0xE6 : | ||
SERIAL.println("6"); | SERIAL.println("6"); | ||
| − | + | matrix.writeNumber(6, 800); | |
| − | + | matrix.display(); | |
break; | break; | ||
case 0xE7 : | case 0xE7 : | ||
SERIAL.println("7"); | SERIAL.println("7"); | ||
| − | + | matrix.writeNumber(7, 800); | |
| − | + | matrix.display(); | |
break; | break; | ||
case 0xE8 : | case 0xE8 : | ||
SERIAL.println("8"); | SERIAL.println("8"); | ||
| − | + | matrix.writeNumber(8, 800); | |
| − | + | matrix.display(); | |
break; | break; | ||
case 0xE9 : | case 0xE9 : | ||
SERIAL.println("9"); | SERIAL.println("9"); | ||
| − | + | matrix.writeNumber(9, 800); | |
| − | + | matrix.display(); | |
break; | break; | ||
case 0xEA : | case 0xEA : | ||
SERIAL.println("*"); | SERIAL.println("*"); | ||
| + | matrix.writeOnePicture(Emoji[1]); | ||
| + | matrix.display(); | ||
break; | break; | ||
case 0xEB : | case 0xEB : | ||
SERIAL.println("0"); | SERIAL.println("0"); | ||
| − | + | matrix.writeNumber(0, 800); | |
| − | + | matrix.display(); | |
break; | break; | ||
case 0xEC : | case 0xEC : | ||
SERIAL.println("#"); | SERIAL.println("#"); | ||
| + | matrix.writeOnePicture(Emoji[0]); | ||
| + | matrix.display(); | ||
break; | break; | ||
default: | default: | ||
break; | break; | ||
| + | |||
} | } | ||
} | } | ||
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;
}
}
}