TiltKey / schrijven door kantelen (8 / 9 stap)

Stap 8: Code


Hier is de code die u nodig hebt om te uploaden naar uw TiltKey:
/ * TiltKey - A toetsenbord invoerapparaat gebaseerd op kantelen. Geschreven door Alec Robinson. Vrijgegeven onder een Creative Commons Naamsvermelding GelijkDelen licentie. * / #include < LiquidCrystal.h > LiquidCrystal lcd (7, 8, 9, 10, 11, 12); int waarden [] = {665, 533, 555, //a 580, 340, 533, //b 415, 285, 502, //c 230, 385, 460, //d 200, 510, 460, //e 270, 710, 500, //f 440, 774, 497, //g 632, 673, 525, //h 570, 525, 680, //i 385, 547, 745, //j 220, 511, 630, //k 300, 520, 280, //l 480, 513, 265, //m 640, 500, 380, //n 510, 700, 340 //o 370, 470, 330, //p 400, 340, 650, //q 400, 700, 680, //r 650, 470, 450, //s 660, 600, 500, //t 640, 570, 610, //u 633, 470, 600, //v 200, 460, 515, //w 200, 610, 540, //x 250, 600, 340, //y //and 230, 515, 360 //z}; Alle posities int charset = 1; 1 = brieven 2 = nummers & symbolen int drempel = 45; De gebruikers marge van fout int shakethresh = 265; De letters van de drempel om schudden char [] = {'a', 'b', 'c', zou ', 'e', 'f', 'g', 'h','i ', 'j', 'k', 'l', ben ', "n", 'o', 'p', 'q', 'r', de ','t ', 'u', 'v', 'w', 'x', 'y', 'z'}; char nummers [] = {KEY_RETURN, KEY_UP_ARROW, '0', '1', '2', ' 3', '4', KEY_DOWN_ARROW, KEY_LEFT_ARROW, '5', '6', '7', '8', KEY_RIGHT_ARROW, '9', '/', '. ',', ',';', 39, ' [', ']', '=', '-'}; char shiftnumbers [] = {32, 'w', ')', '!', ' '#', '$', 's', 'a', '%', '^', '&', '*', 'd', '(', '?', '>', '<', ':', '"', '{', '}', '+', '_'}; int count = 0; int prevx, prevy, prevz; Gebruikt om te bepalen schudden. Het vorige xs en ys en zs naar huidige ones vergelijkt, en als de afstand groter dan shakethresh is, ze schudde. void setup () {lcd.begin (16, 2); Serial.begin(9600); Keyboard.begin(); analogReference(EXTERNAL); delay(2000); Prevx = analogRead(0); prevy = analogRead(1); prevz = analogRead(2); } ongeldig lus () {Booleaanse shift =! digitalRead(3); int x = analogRead(0); int y = analogRead(1); int z = analogRead(2); int testingnum = 0; lcd.clear(); als (charset == 1) {terwijl (testingnum/3 < = 26) {//Compares huidige coördinaten naar degene in waarden [] als (x > = waarden [testingnum] - drempel & & x < = waarden [testingnum] + drempel & & y > = waarden [testingnum + 1] - drempel & & y < = waarden [testingnum + 1] + drempel & & z > = waarden [testingnum + 2] - drempel & & z < = waarden [ testingnum + 2] + drempel) {lcd.setCursor(0,0); als (! shift) lcd.print(letters[testingnum/3]) anders Serial.println(letters[testingnum/3]); //Capital; lcd.print(char(letters[testingnum/3]-32)) als (! digitalRead(2)) {als (! shift) Keyboard.write(letters[testingnum/3]) anders //Capital; Keyboard.write(letters[testingnum/3]-32)}} testingnum += 3; }} Als (charset == 2) //Numbers en symbolen {terwijl (testingnum/3 < = 24) {als (x > = waarden [testingnum] - drempel & & x < = waarden [testingnum] + drempel & & y > = waarden [testingnum + 1] - drempel & & y < = waarden [testingnum + 1] + drempel & & z > = waarden [testingnum + 2] - drempel & & z < = waarden [testingnum + 2] + drempel) {lcd.setCursor(0,0); als (! shift) lcd.print(char(numbers[testingnum/3])); anders lcd.print(char(shiftnumbers[testingnum/3])); Serial.println(numbers[testingnum/3]); Als (! digitalRead(2)) {als (! shift) Keyboard.write(numbers[testingnum/3]); anders Keyboard.write(shiftnumbers[testingnum/3]);}} testingnum += 3; }} Serial.print("\n"); Serial.Print("\n"); lcd.setCursor (0, 1); Als (charset == 1) lcd.print("Letters"); Als (charset == 2) lcd.print ("nummers + symbolen"); Als (tellen > 12) als (x > prevx + shakethresh || x < prevx - shakethresh || y > prevy + shakethresh || y < prevy - shakethresh || z > prevz + shakethresh || z < prevz - shakethresh) {//Shaking als (charset == 1) Keyboard.write(32); //Space als (charset == 2) Keyboard.write(8), //Backspace delay(250); tellen = 0;} prevx = x; prevy = y; prevz = z; Als (! digitalRead(4)) {charset ++; als (charset == 3) charset = 1;} delay(150); Graaf ++; }

Gerelateerde Artikelen

20 schuren & schrapen Workshop Tips - Jimmy DiResta samenwerking

20 schuren & schrapen Workshop Tips - Jimmy DiResta samenwerking

Hallo Instructables Gemeenschap,Hier is al het derde deel van deze serie Instructables samenwerking tussen Jimmy Diresta en mij.Ditmaal it's all about Tips en trucs rond Sanding & Scraping.Gebruikers van de mobiele App kunnen het gebruik van deze lin
Self balancing one wheeled electric skateboard

Self balancing one wheeled electric skateboard

NOTE:Mei 2011: Dit instructable is nu vrij oud (relatief) en ik kan nu bouwen dit project eenvoudiger met een Arduino als de controller.Ik ben momenteel bezig met een eenwieler met dezelfde OSMC motor controller en een Arduino. Wanneer ik dat aan het
Variabele en middelgrote breien buis met behulp van treksluiters

Variabele en middelgrote breien buis met behulp van treksluiters

Toen ik een jong meisje in de ' 70's, had ik een breien Jenny en een begeleidende Spool Knitter. De KJ was cool voor breien, sjaals en de SK, die was een uitgeklede versie van de KJ met slechts 4 pinnen bovenop een spool... Ik herinner me niet iets a
Maak uw eigen XO laptoptas

Maak uw eigen XO laptoptas

het eindproduct is een aangepaste laptoptas voor een OLPC XO laptopcomputer, maar deze instructies waarschijnlijk voor veel draagbare elektronische apparaten kunnen worden gewijzigd. De kern van de tas is gemaakt van hoge dichtheid schuim, versterkt
Raspberry Pi Cloud IP-Camera met POE

Raspberry Pi Cloud IP-Camera met POE

Ik was geïnspireerd door scavix van werk met de instructable Raspberry Pi als goedkope HD bewakingscamera dus heb ik besloten om mijn eigen Raspberry PI gebaseerde IP-camera die ook beschikt over POE en ondersteunt integratie met de Google Drive.De v
Altoids DS spel draagtas voor onder $4

Altoids DS spel draagtas voor onder $4

Hallo iedereen en welkom op mijn eerste Instructable! In dit Instructable geef ik tips over hoe om uw eigen Altoids DS spel draagtas te maken!Stap 1: materialen Om te beginnen dit te bouwen, moeten we verzamelen van de juiste materialen. U moeten zit
Hoe maak je verse paneer

Hoe maak je verse paneer

Paneer is India's versie van de cottage of farmer's kaas. Het is over het algemeen een beetje meer dicht dan andere cottage kaas. Het is dichter bij Mexicaanse queso blanco dan Ethiopische ayib of Italiaanse ricotta.Het is zeer eenvoudig te maken, al
Kabel voor Moogsynthesizer trigger

Kabel voor Moogsynthesizer trigger

Deze week kreeg ik een modulaire sequencer, die normaal gesproken deel van een modulaire synthesizer uitmaakt. Ik heb een MiniMoog Voyager-synthesizer die veel van de onderdelen die een modulaire synth normaal opnemen, bevat zou dus ik wilde de twee
Aardappel Pac-Man en Ghosts

Aardappel Pac-Man en Ghosts

Vraag: hoeveel leuker zullen uw volgende kaasschotel voor lade of veggie met Pac-Man en zijn googly-eyed nemesi opknoping rond het?Antwoord: manier leuker.Wat u nodig hebtMaterialen5 middelgrote aardappelen van de Wit5 eetlepels witte azijnVoedsel kl
Lifecasting - handen

Lifecasting - handen

een van de ingenieurs ik werk met was gefascineerd door een hand gieten stand op de 2005 Ann Arbor kunstbeurzen. De exploitant zou, voor een nominale vergoeding, een container van rommel waarin de klant zou het invoegen van hun hand, mengen of soms k
LINUX YOCTO op INTEL GALILEO / EDISON

LINUX YOCTO op INTEL GALILEO / EDISON

Yocto is besturingssysteem dat gebruik ini intel galileon worden kan of intel edison. in linux yocto, kunt u uw code schrijven door gebruik knooppunt js, python, enz er zijn enkele redenen voor gebruik linux yocto op uw intel galileo of intel edison,
Super eenvoudig geheime boekenplank deur & boek ontgrendelen mechanisme

Super eenvoudig geheime boekenplank deur & boek ontgrendelen mechanisme

Veel heb zoals, ik veronderstel, ieder kind die strips lezen of Batman of een van de vele literaire of pop-cultuur voorbeelden van geheime deuren leiden naar een vleermuizengrot of geheime passage/kamer, keek ik gedroomd van het hebben van mijn eigen
Raspberry Samba-serversoftware voor bestand

Raspberry Samba-serversoftware voor bestand

Samba de inleiding:In 1991 Australische Mr. wilde Andrew Tridgell toestaan DOS machines en UNIX-machine om bestanden te delen. Om dit te verwezenlijken schreef hij de SMB-protocolsoftware op UNIX-systemen. Na enige tijd die het officieel werd hernoem
Snelle 'n vuile Stylus voor iPad of iPhone

Snelle 'n vuile Stylus voor iPad of iPhone

£££ s & $$ $sIk kon niet geloven dat het schandalig kleinhandelsprijs van een "elektrische vinger" toen ik keek voor een stylus voor mijn iPad.Alle vergelijkbare "capacitieve" touchscreen apparaten werk op vrijwel dezelfde manier,