Направите своја прилагођена дугмад за пречице помоћу Ардуина

Направите своја прилагођена дугмад за пречице помоћу Ардуина

Скромни Ардуино може учинити много ствари, али јесте ли знали да може опонашати УСБ тастатуру? Дуге тастерске пречице које се тешко памте можете комбиновати у једну прилагођену тастерску пречицу помоћу овог једноставног кола. Ево крајњег резултата:





Никада раније нисте користили Ардуино? Погледајте наше водич за почетак први.





Шта вам је потребно

Ево шта вам је потребно за израду овог пројекта:





  • 1 к Ардуино Про Мицро.
  • Тренутни тастери или тастери на тастатури.
  • 10К охм отпорници.
  • Разне жице за спајање.
  • 1 к 220 охмски отпорници.
  • 1 к 5 мм (0,197 инча) ЛЕД.
  • 1 к 5 мм ЛЕД држач.

За овај пројекат ће вам требати врло специфичан Ардуино. Користим а Про Мицро , пошто су тако мали и јефтини, потребан вам је Ардуино који има уграђен УСБ-Сериал у процесор (Атмега32у4). Могуће је изградити овај пројекат са другим Ардуиносима, попут УНО-а или Нано-а, међутим потребно је много напорног рада да би се биос поново избацио и да се петља по стварима. Клонови других Ардуино модела обично уопште не функционишу, али клон Про Мицро је такође у реду.

ОСОИОО Про Мицро АТмега32У4 Модуларна плоча 5В/16МХз са 2 реда заглавља иглица Замените АТмега328 Про Мини за Ардуино КУПИТЕ ОДМАХ НА АМАЗОНУ

Требат ће вам једно тренутно дугме, један отпорник од 10К охма и одговарајућа жица за спајање за свако дугме које желите да користите. Ипак, користим Цхерри МКС механичке прекидаче за тастатуру за стварне тастере за пречице било који прекидач ће учинити, под условом да је тренутан и да се не затвара.



Можда ће вам требати неколико других ставки у зависности од тога како ово направите. Ако желите да га прототипирате, биће вам потребан лемна плоча . Вреди потрошити новац на добру - понекад могу бити врло непоуздани. Ако желите ово да заокружите, пожелећете да купите мало стрипбоард -а.

План изградње

Ево како ће ово функционисати. Ардуино ће бити програмиран да се понаша као УСБ тастатура - што се вашег рачунара тиче, јесте. Неколико тастера повезаних са Ардуино -ом ће послати команде са кључем на ваш рачунар. Притиснућете само једно дугме, али ће ваш рачунар помислити да сте притиснули Све > Ф4 , на пример.





Избор прекидача

Постоји неколико варијација прекидача серије МКС. Ова веб страница пружа одличан увод, међутим они се у суштини своде на буку и притисак. Неки модели захтевају већу силу при притиску, а неки производе механички звук „клика“ када се притисне. Користио сам Цхерри МКС Бровнс, који не праве буку када се притисну. Све су исте димензије, па без бриге одаберите било који модел који вам се свиђа (или мијешајте и слажите).

Наравно, мораћете и да купите неке капе, а постоји читав свет прилагођени дизајн тамо на избору - ми смо купили КеибоардЦо у Великој Британији





Случај

Одштампао сам 3Д кућиште и можете га преузети .СТЛ датотеке из Тхингиверсе . Не брините ако немате 3Д штампач, и даље можете да га направите. Многе веб странице пружају услуге 3Д штампања, нпр 3Д чворишта или Схапеваис . Алтернативно, ово је врло једноставан случај, можете га сами направити од пластике, стакла, дрвета или чак картона. Ако желите да будете заиста штедљиви, Цхерри МКС продаје тестер/узоркивач склопки укључен Амазон ( УК ). Требаће вам 4 вијка М5 к 35 мм и 4 матице М5. Наравно, можете их заменити одговарајућом алтернативом коју имате.

Мак Кеипад Кеицап Кеибоард, Цхерри МКС Свитцх, Тестер Кит (9 прекидача Про Самплер Тестер Кит) КУПИТЕ ОДМАХ НА АМАЗОНУ

Ако сами израђујете кућиште, морате знати један важан детаљ: Цхерри МКС прекидачи се уклапају у своје рупе за причвршћивање. Потребна им је квадратна монтажна рупа 14 к 14 мм (0,551 инча), при чему плоча није дебља од 1,5 мм (0,059 инча). Одмакните се превише од ових димензија и ваши прекидачи се можда више неће правилно монтирати.

3Д штампано кућиште се састоји из два дела, горњег и доњег. Гурните прекидаче Цхерри МКС у квадратне рупе:

Уверите се да сте прекидаче поставили на одговарајући начин. На врху се налазе речи „ВИСЊА“, а на дну има мали зарез. Уметните ЛЕД диоду од 3 мм у овај мали отвор:

Можда ћете открити да ЛЕД диоде изгледају најбоље постављене „наопако“. То је био случај са тастерима које сам користио и уопште не утичу на прекидаче.

Сада би требало да имате девет прекидача са 9 ЛЕД диода. Нема потребе за лепљењем било ког од ових делова. Лемљење ће држати ЛЕД диоде, а трење ће држати прекидаче.

Затим причврстите ЛЕД носач (оставите ЛЕД за сада уклоњеним). Склапање кућишта ћете завршити касније, након што се коло изгради.

Тхе Цирцуит

Ово коло је изграђено на картону. Ово је одлично за изградњу полутрајних кола, без трошкова штампане плоче (ПЦБ). То је једноставно комад стаклопластике са бакарним трачницама које иду паралелно у једном смеру. Ове стазе се могу лемити, као и резати. Резање стазе може се извршити посебним алатом или малом бушилицом.

Нисте превише сигурни у лемљење? Прво погледајте ове једноставне пројекте.

Ево распореда траке (искључује трагове у позадини):

Обавезно исеците трагове испод отпорника и Ардуина. Како може бити веома тешко читати траку са тракама, ево верзије матичне плоче:

Чврсто се увлачи све компоненте на тако мали простор. Исеците углове траке на следећи начин:

Ово би требало лепо да се уклопи у дно кућишта:

Уверите се да стазе иду вертикално.

Прикључите аноду ( дуга нога, позитивна ) ЛЕД диоде на отпорник од 200 охма, а затим на +5 В. Повежите катоду ( кратка нога, негативна ) на земљу. Покријте ноге термоскупљајућом навлаком, а затим гурните у ЛЕД држач. Нема потребе за лепком, међутим, ваш ЛЕД држач можда не пристаје тако да ћете можда морати да прилагодите ова упутства.

Можда ћете уместо тога желети да користите двобојну ЛЕД лампицу-ово ће вам омогућити да подесите две или више група прекидача, са статусном ЛЕД различитом бојом за сваку банку.

Сада је време за лемљење свих ЛЕД диода за поклопце тастера. Они се користе само за осветљавање тастера, па их можете прескочити ако желите, а не морају бити повезани на дигитални пин, већ само на напајање. Повежите све аноде заједно и све катоде заједно. Учите из моје грешке - много је лакше то учинити пре повезивања прекидача! Спојите аноде на +5 В преко отпорника од 220 охма, а катоде на масу. Ове ЛЕД диоде су повезане паралелно. Ево кола само за ове ЛЕД диоде:

Користите мали комад термоскупљајуће цеви да покријете везу између ЛЕД диода и Ардуина:

Укључите Ардуино да бисте тестирали све ЛЕД диоде. Не морате да учитате никакав код. Ако нека ЛЕД диода не ради, идите и још једном проверите ожичење.

Сада спојите прекидаче. Они морају бити повезани преко 10к отпорника, иначе ће Ардуино умрети. Ово се зове мртва кратка спојница - +5 В иде директно у земљу, а све што ће остати од вашег Ардуина бит ће облачић дима (вјерујте ми, већ сам убио једног па не морате). Ево кола за један прекидач:

Ово коло је исто за свих девет прекидача. Спојите прекидаче на дигиталне пинове од два до десет, сваки са својим 10К отпорником на масу. Будите опрезни при лемљењу Цхерри МКС прекидача, они могу бити мало крхки, на мени је пукло неколико пинова. Можда ћете желети да их лемите директно на још неку траку за траке, међутим, крајњи водичи су и даље погодни.

То је то за ожичење. Можда ћете желети да монтирате женску утичницу УСБ типа Б, међутим мале комаде на њима често може бити прилично тешко лемити. Ако не желите то да урадите, не брините. Микро УСБ конектор на Ардуину уредно се уклапа у рупу на шасији. Ако сте мало збуњени око различитих УСБ типова, уверите се разумети разлике .

На крају, још једном проверите да ли је ваше коло исправно. Кратки спој може лако уништити Ардуино, а то може бити лако помоћу стрипбоард -а.

Код

Сада проверите да ли је коло исправно. Добра је идеја да то урадите пре него што наставите, тако да можете решити све проблеме док можете. Отпремите овај тест код (не заборавите да изаберете исправну плочу и порт са Алати > Одбор, табла и Алати > Лука менији):

const int buttons[] = {2,3,4,5,6,7,8,9,10}; // array of all button pins
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
for(int i = 2; i <11; ++i) {
if(digitalRead(i) == HIGH) {
// software de-bounce improves accuracy
delay(10);
if(digitalRead(i) == HIGH) {
// check switches
Serial.print ('input');
Serial.println(i);
delay(250);
}
}
}
}

Можда сте морати да промените пинове ако сте променили коло.

Након учитавања отворите серијски монитор ( Горе десно > Серијски монитор ). Притисните једно по једно дугме. Требало би да видите да серијски монитор приказује број дугмета које сте притиснули. Баш као и код ЛЕД -а, ако се ваш рачунар жали на исувише велику струју или се ЛЕД -ови угасе када притиснете дугме, одмах искључите везу! Имате кратки спој негде у колу, још једном проверите да ли је коло исправно и да нема кратких спојева између веза.

Ако све ради, наставите и уметните коло у кутију. Можда ћете желети да употребите мрвицу лепка да бисте држали коло на месту (иако су жице добро држале моје). Причврстите и поклопац.

Врло је једноставно учинити да Ардуино изгледа као тастатура. Ако користите Нано или УНО, поново ћете програмирати свој Ардуино помоћу Ажурирање фирмвера уређаја (ДФУ). Ово се обично користи за пребацивање новог фирмвера на Ардуино. Користићете га за флешовање Ардуина са новим фирмвером који ће радити као тастатура. Ово неће бити покривено овде, јер је то прилично сложен задатак. Тхе Ардуино веб локација има добар водич за ово.

Ардуино Про Мицро чини овај корак врло лаким. Логика потребна за опонашање УСБ тастатуре већ је уграђена у процесор, па је једноставно као писање кода!

Прво подесите тастере:

int keys[] = {2, 3, 4, 5, 6, 7, 8, 9, 10};

Ово је низ који садржи све пинове на које су тастери повезани. Ако сте користили више или мање дугмади или различите пинове, промените вредности овде.

Низ је скуп ствари истомишљеника. Рачунари могу оптимизовати ваш код да им брзо приступе и убрзавају процес писања кода.

Сада иницијализујте све пинове као улазе:

void setup() {
// put your setup code here, to run once:
Keyboard.begin(); // setup keyboard
for (int i = 2; i <11; ++i) {
// initilize pins
pinMode(i, INPUT);
}
}

Ово говори Ардуину да су сви пинови у низу улази. За ово се користи петља, уместо писања пинМоде (2, ИНПУТ) девет пута, морате то написати само једном. Ово такође позива Кеибоард.бегин . Ово поставља функцију уграђену у Ардуино библиотеку, посебно дизајнирану за опонашање тастатуре.

Направите метод који се зове реадБуттон :

boolean readButton(int pin) {
// check and debounce buttons
if (digitalRead(pin) == HIGH) {
delay(10);
if (digitalRead(pin) == HIGH) {
return true;
}
}
return false;
}

Ово узима пин и проверава да ли је притиснуто или не. Једноставно се враћа ИСТИНА или ФАЛСЕ . Садржи и неке отказивање софтвера -једноставно одлагање, а затим поновна провера прекидача осигурава да је дугме заиста притиснуто.

Сада се унутра позива још једна петља фор воид лооп () :

void loop() {
// put your main code here, to run repeatedly:
for (int i = 2; i <11; ++i) {
// check buttons
if(readButton(i)) {
doAction(i);
}
}
}

Опет, ово прелази преко сваког елемента у низу и проверава да ли је притиснут. То чини тако што се назива реадБуттон метод који сте раније створили. Ако је дугме притиснуто, тај пин се преноси на другу методу која се зове доАцтион :

void doAction(int pin) {
// perform tasks
switch (pin) {
case 2:
Keyboard.println('drive.google.com');
break;
case 3:
Keyboard.println('makeuseof.com');
break;
case 4:
// CMD + T (new tab, Chrome)
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('t');
delay(100);
Keyboard.releaseAll();
break;
case 5:
// your task here
break;
case 6:
// your task here
break;
case 7:
// your task here
break;
case 8:
// your task here
break;
case 9:
// your task here
break;
}
}

Ово проверава пин број помоћу а прекидач изјава. Промените изјаве (понекад се зову) разводна кутија ) су слични ан ако изјаве, међутим, оне су корисне за проверу да ли је једна ствар (у овом случају пин број) једнака једном од неколико различитих исхода. У суштини, они се много брже израчунавају.

Главне компоненте су унутар ове наредбе свитцх. Кеибоард.принтлн записује текст на рачунар као да сте физички откуцали сваки кључ. Кеибоард.пресс притиска и држи један тастер. Не заборавите да их ослободите помоћу Кеибоард.релеасеАлл после кратког одлагања!

шта је друго у складишту за иПхоне

Ево целог кода:

int keys[] = {2, 3, 4, 5, 6, 7, 8, 9, 10};
void setup() {
// put your setup code here, to run once:
Keyboard.begin(); // setup keyboard
for (int i = 2; i <11; ++i) {
// initilize pins
pinMode(i, INPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for (int i = 2; i <11; ++i) {
// check buttons
if(readButton(i)) {
doAction(i);
}
}
}
boolean readButton(int pin) {
// check and debounce buttons
if (digitalRead(pin) == HIGH) {
delay(10);
if (digitalRead(pin) == HIGH) {
return true;
}
}
return false;
}
void doAction(int pin) {
// perform tasks
switch (pin) {
case 2:
Keyboard.println('drive.google.com');
break;
case 3:
Keyboard.println('makeuseof.com');
break;
case 4:
// CMD + T (new tab, Chrome)
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('t');
delay(100);
Keyboard.releaseAll();
break;
case 5:
// your task here
break;
case 6:
// your task here
break;
case 7:
// your task here
break;
case 8:
// your task here
break;
case 9:
// your task here
break;
}
}

Поред свих тастера са бројевима и словима, Ардуино може притиснути већину посебних тастера који се позивају Модификатори тастатуре . Ово је посебно корисно за притискање тастерских пречица. Ардуино веб локација има корисна листа .

Сада остаје само да направите неке пречице. Ово можете пресликати у постојеће пречице, као што су Све + Ф4 (затворите програм у оперативном систему Виндовс) или Цмд + П (затворите програм мацОС). Алтернативно, свакако прочитајте наше врхунски водич за пречице на тастатури , како створити Виндовс пречице и сваку пречицу за Цхромебоок да бисте започели прављење сопствених пречица.

Да ли сте креирали сопствену пречицу? Јавите ми у коментарима, волео бих да видим неке слике!

Надамо се да вам се свиђају ставке које препоручујемо и о којима ћемо разговарати! МУО има придружена и спонзорисана партнерства, па добијамо део прихода од неких ваших куповина. Ово неће утицати на цену коју плаћате и помаже нам да понудимо најбоље препоруке производа.

Објави Објави Твеет Емаил Ево зашто је ФБИ издао упозорење за откупни софтвер у кошницама

ФБИ је издао упозорење о посебно гадној врсти рансомвареа. Ево зашто морате бити посебно опрезни у вези са Хиве рансомваре -ом.

Прочитајте следеће
Повезане теме
  • ДИИ
  • Тастатура
  • Пречице на тастатури
  • Ардуино
О аутору Јое Цобурн(136 објављених чланака)

Јое је дипломирао рачунарство на Универзитету Линцолн, УК. Он је професионални програмер софтвера и када не лети беспилотним летелицама или не пише музику, често га се може затећи како фотографише или производи видео записе.

Више од Јоеа Цобурна

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили