Sugestat de autor Instructables sub porecla fmtuve produs home-made Este un buton din capacul sticlei, care trebuie apăsat la sfârșitul zilei de lucru. Se simulează apăsarea tastaturii Cmd + Q, care pe Mac OS X îndeplinește aceeași funcție ca binecunoscuta combinație Alt + F4 pe Linux și Windows. Carcasa dispozitivului este imprimată 3D, electronică executat pe Arduino Pro Micro. Și se pare că maestrul a pus producția de astfel de dispozitive în flux:
Toate componentele produsului de casă sunt prezentate mai jos, dintre care cele trei părți din dreapta sunt tipărite 3D, fișierele STL pentru imprimarea lor sunt acest Arhiva ZIP.
După ce a tipărit detaliile carcasei, maestrul vinde pieptenele către Arduino într-un mod neobișnuit - din partea componentelor:
Pune în această adâncime în partea inferioară a carenei:
Se pare ca pe KDPV în colțul din dreapta sus:
Întorcând partea din mijloc a carcasei, pune un buton în ea, taie jumătate de jumper de tip „duPont” și lipeste contactele butonului, izolează conexiunea cu un tub de contracție a căldurii:
Întoarce partea din mijloc împreună cu butonul înapoi, o conectează la partea de jos, conectează butonul la pinii GND și A8 Arduino. Un rezistor extragător nu ar strica aici, dar ar funcționa fără el.
Apoi, vrăjitorul adaugă la buton partea de sus-împrăștiat parțial 3D:
Scrie o schiță:
Textul este următorul:
#include
#include
// PIN8 conectat
const int switch_pin = 8;
int button_state = 0;
int previous_button_state = HIGH;
long last_debounce_time = 0;
const long debounce_delay = 50;
void setup ()
{
// Folosim registratorul intern de extragere, deoarece comutatorul este conectat direct.
pinMode (switch_pin, INPUT_PULLUP);
digitalWrite (switch_pin, HIGH);
Keyboard.begin ();
}
nul buclă ()
{
button_state = digitalRead (switch_pin);
if ((button_state! = previous_button_state) && (button_state == HIGH))
{
if ((millis () - last_debounce_time)> debounce_delay)
{
// Ieșiți din program (CMD + Q în mac) și aveți o zi frumoasă!
// Folosiți KEY_LEFT_ALT + KEY_F4 pentru computer
Keyboard.press (KEY_LEFT_GUI);
Keyboard.press ('q');
întârziere (100);
Keyboard.releaseAll (); // Acest lucru este important după fiecare Keyboard.press, va continua să fie apăsat
last_debounce_time = millis ();
}
}
previous_button_state = buton_state;
}
Aici se dovedește că: dacă porniți rezistența de tragere încorporată în schiță, cea externă nu este necesară. În text trebuie să schimbați comanda rapidă a tastaturii pe cea de care aveți nevoie. După completarea schiței, maestrul instalează un capac de sticlă pe împingător:
Și începe să lucreze la un mic afiș publicitar:
Poate că te va convinge să repete acest design. La urma urmei, lucrul este pozitiv, care va începe rapid să fie asociat cu întoarcerea acasă de la serviciu.