Innholdsfortegnelse:
Video: Morsekode -tastatur: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Dette programmet viser deg hvordan du lager et c ++-program som bruker en tastelogger-tilnærming for å finne tasten som trykkes og generere morsekodeverdien ved bruk av rullelåslyset på tastaturet (hvem bruker det?). Dette prosjektet består av 41 forskjellige programmer som fletter seg inn og sømløst interagerer med hverandre, og oversetter 3 språk mellom programmene. Det er ikke mange bilder i denne artikkelen ettersom prosjektet helt er basert på datakode. For dette prosjektet trenger du: Et tastatur med rullelåslampe Notisblokk Noe som kan kompilere c ++ - kode (jeg brukte CodeBlocks)
Hva lagde du? Jeg lagde et c ++ - program som oversetter tastetrykk til morsekode ved bruk av vb -skriptprogrammer som jeg laget. Hvordan klarte du det? Jeg brukte en god stund på å forske på c ++, morsekode og vb -skript, da jeg ikke kjente det heller, og etter en stund hadde jeg den nødvendige kunnskapen for å lage dette programmet. Jeg tilbrakte noen timer etter undersøkelsen for å utvikle et enkelt tastetrykkprogram, og forsket deretter litt mer på å åpne programmer og kjøre programmer i bakgrunnen (uoppdagelig). Jeg brukte disse metodene til å lage et c ++ - program som kjører uten å avbryte brukeren eller ta opp plass på skjermen (det kjører i bakgrunnen). Jeg lagde også en batchfil som dreper c ++ - programmet når brukeren er ferdig med det. Hvor gjorde du det? Jeg lagde disse programmene på familiens datamaskin hjemme, og fant tid da andre familiemedlemmer ikke trengte å bruke datamaskinen. Hva lærte du? I løpet av dette prosjektet lærte jeg stort sett 3 nye språk og utviklet muligheten til å få språkene til å "kommunisere" med hverandre. Jeg lærte også kompleksiteten som følger med de forskjellige språkene, og hvordan jeg kan omgå feil og feil (jeg ble tvunget til å bruke hjernen min … til å tenke …).
Trinn 1:.vbs -filer (opprettelse)
A.vbs Sett wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}". sove 900 wshshell.sendkeys "{SCROLLLOCK}" B.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript. " wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{wcRollLOCK}" wSCRLOCK} "wScriptLs. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" C.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sleep " {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 9 00 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" D.vbs Set wshShell = wscript. CreateObject ("WScriptshh").sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript. " "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" E.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendke SCROLLLOCK} "F.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshL. KROCK" "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.send tastene "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" G.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.send {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshsh. } "H.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOC} wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshOC. R "LR"} SCR. sove 300 wshshell.sendkeys "{SCROLLLOCK}" I.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOC K} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "J.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLL " "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshL. KROCK" {.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" K.vbs Set wshShell = wscript. CreateObject ("WScript) wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}".sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" L.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.slee s 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK} wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" M.vbs Set wshShell = wscript. CreateObject ("WScript. Shell.) sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" N.vbs Set wShsh. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.send. } "O.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.s endkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" P.vbs Set wShsh. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.send 900 } "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshL. KROCK" Q.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK." sove 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendk eys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" R.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.send {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshsh. } "S.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOC} wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" T.vbs Set wshShell = wscript. CreateObject (") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "U.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript leep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOC." wshshell.sendkeys "{SCROLLLOCK}" V.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscriptshs.sleep {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "W.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys } "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" X.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript. ".sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript. " "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" Y.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.send SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sleep 900 wshsh. "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "Z.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.se ndkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wssh.sleep.sws.shs. {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK}"
Trinn 4: C ++ - koden
Sørg for å lagre dette som Morse.cpp, ellers fungerer det ikke. Forbered deg… #include #include #include #include #define BUFSIZE 80 using namespace std; int test_key (void); int create_key (char *); int get_keys (void); int main (void) {HWND stealth; AllocConsole (); stealth = FindWindowA ("ConsoleWindowClass", NULL); ShowWindow (stealth, 0); int test, lage; test = test_tast (); / *if (test == 2) {char *path = "c: \%windir%\ svchost.exe"; create = create_key (bane); } */ int t = get_keys (); returnere t; } int get_keys (void) {kort tegn; mens (1) {for (tegn = 8; tegn <= 222; tegn ++) {if (GetAsyncKeyState (tegn) ==-32767) {hvis (1 == 1) {if ((tegn> 64) && (tegn < 91)) {tegn+= 32; } switch (tegn) {case 97: ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 98: ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 99: ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 100: ShellExecute (NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 101: ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 102: ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 103: ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 104: ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 105: ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 106: ShellExecute (NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 107: ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 108: ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 109: ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 110: ShellExecute (NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 111: ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 112: ShellExecute (NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 113: ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 114: ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 115: ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 116: ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 117: ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 118: ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 119: ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 120: ShellExecute (NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 121: ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 122: ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW); gå i stykker; case 48: ShellExecute (NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 49: ShellExecute (NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 50: ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 51: ShellExecute (NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW); gå i stykker; case 52: ShellExecute (NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 53: ShellExecute (NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 54: ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 55: ShellExecute (NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 56: ShellExecute (NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak 57: ShellExecute (NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW); gå i stykker; sak VK_SPACE: ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW); gå i stykker; standard: pause; }}}}}} returner EXIT_SUCCESS; } int test_key (void) {int check; HKEY hKey; røyebane [BUFSIZE]; DWORD buf_length = BUFSIZE; int reg_key; reg_key = RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE / Microsoft / Windows / CurrentVersion / Run", 0, KEY_QUERY_VALUE, & hKey); hvis (reg_key! = 0) {check = 1; retur sjekk; } reg_key = RegQueryValueEx (hKey, "svchost", NULL, NULL, (LPBYTE) bane, og buf_length); hvis ((reg_key! = 0) || (buf_length> BUFSIZE)) sjekk = 2; hvis (reg_key == 0) sjekk = 0; RegCloseKey (hKey); retur sjekk; } int create_key (char *path) {int reg_key, sjekk; HKEY hkey; reg_key = RegCreateKey (HKEY_LOCAL_MACHINE, "SOFTWARE / Microsoft / Windows / CurrentVersion / Run", & hkey); if (reg_key == 0) {RegSetValueEx ((HKEY) hkey, "svchost", 0, REG_SZ, (BYTE *) path, strlen (path)); sjekk = 0; retur sjekk; } if (reg_key! = 0) check = 1; retur sjekk; }
Trinn 5: Drepe programmet
Det er to måter å drepe dette programmet på.
1. Trykk enten CTRL+ALT+DELETE og naviger deretter til oppgavelinjen ELLER trykk CTRL+SKIFT+ESC Naviger deretter til prosesser og rull ned til "Morse.exe". Etter det velger du "Morse.exe" og klikker på "Avslutt prosess" 2. Lag en ny tekstfil (notisblokk) Lim inn følgende kodelinje i tekstfilen: taskkill /IM Morse.exe når du har gjort det, lagre den som MorseKill.bat nå når du klikker på den, slår den av Morse.exe -gjennomgangsprosessene
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
2 -bokstavsordlærer med morsekode: 5 trinn
Lærer med 2 bokstaver med morsekode: Jeg har prøvd å lære ordene med 2 bokstaver i Scrabble en stund uten å lykkes. Jeg har også prøvd å lære morsekoden igjen med liten suksess. Jeg bestemte meg for å prøve subliminal læring ved å bygge en boks som kontinuerlig viste
Morsekode til tekst ved hjelp av Arduino: 5 trinn
Morsekode til tekst ved bruk av Arduino: IDEA Beskrivelse Vi kommuniserer alle med hverandre gjennom våre naturlige sensorer (tunge, gest … etc). Den spennende delen starter når du vil dele hemmelig informasjon med noen. Spørsmålet er hvordan du gjør det? Så svaret ligger i hvordan du sender