Digispark에서 과일을 엔터키로 만들어 보았습니다.
환경
Arduino IDE 1.8.13
Digispark 호환 보드
회로도
0번 핀이 송신 핀이고 2번 핀이 수신 핀입니다. 0번 핀과 2번 핀 사이에는 1MΩ의 저항이 들어 있습니다. 2번 핀과 직렬로 0.1μF의 콘덴서를 연결하고 과일을 연결합니다.
스케치
enterkey.ino
#include <DigiKeyboard.h>
#define REPEAT_TIME 25
#define FIRST_REPEAT_TIME 500
#define KEYUP_THRESHOLD 50
#define KEYDOWN_THRESHOLD 75
#define OUT_PIN 0
#define IN_PIN 2
unsigned long timer = 0;
int keytimes = 0;
void setup() {
pinMode(OUT_PIN, OUTPUT);
pinMode(IN_PIN, INPUT);
}
int get_touch() {
int t = 0;
int i;
for(i = 0; i < 10; i++){
digitalWrite(OUT_PIN, HIGH);
while(digitalRead(IN_PIN) != HIGH) t++;
digitalWrite(OUT_PIN, LOW);
pinMode(IN_PIN, OUTPUT);
digitalWrite(IN_PIN, LOW);
DigiKeyboard.delay(1);
pinMode(IN_PIN, INPUT);
}
return t;
}
void loop() {
int touch = get_touch();
if(touch > KEYDOWN_THRESHOLD && (timer == 0 || keytimes >= 2)){
DigiKeyboard.sendKeyStroke(0x28);
DigiKeyboard.delay(REPEAT_TIME);
keytimes = min(keytimes + 1, 2);
timer = millis();
}else{
if(touch <= KEYUP_THRESHOLD){
timer = 0;
keytimes = 0;
}
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.delay(REPEAT_TIME);
}
if(millis() >= timer + FIRST_REPEAT_TIME){
timer = 0;
}
}
쓰기
Arduino 개발 환경을 설정하는 방법은이 기사를 참조하십시오.
[참고] Digispark (ATTiny85) Arduino 개발 환경에서 L 치카
설정이 끝나면 Arduino IDE에서
ツール
> ボード
> Digispark (Default - 16.5mhz)
를 선택합니다.マイコンボードに書き込む
를 클릭하십시오. USB를 꽂거나 꽂으면 쓸 수 있습니다.데모
바나나에서 엔터키를 자작해 보았다. 바나나를 만지면 개행할 수 있다. 키 반복 기능 포함.使用マイコン:Digispark互換ボードスケッチ: htps // t. 코 / 5r86 DCTF #바나나 #엔터키 #키보드 #자작키보드 #HID #USB #전자공작 #가젯 #Digispark #Arduino 피 c. 라고 r. 이 m/bJZXKM0Gぅ — naoto64 ( @naoto64_2000) January 24, 2021
Reference
이 문제에 관하여(Digispark에서 과일을 엔터키로 만들어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/naoto64/items/b4289a665fa5ee92f861텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)