Мазмұны:
Бейне: Морзе кодының пернетақтасы: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бұл бағдарлама пернетақтадағы айналдыру құлыптау шамын қолдану арқылы басылатын пернені табу және Морзе кодының мәнін құру үшін тіркеу әдісін қолданатын c ++ бағдарламасын қалай жасау керектігін көрсетеді (оны кім қолданады?). Бұл жоба бір -бірімен араласатын және бір -бірімен үздіксіз әрекеттесетін 41 түрлі бағдарламадан тұрады, бағдарламалар арасында 3 тілді аударады. Бұл кітапта көптеген суреттер жоқ, өйткені жоба толығымен компьютерлік кодқа негізделген. Бұл жоба үшін сізге қажет: Блокноттың айналдыру құлпы бар пернетақта c ++ кодын құрастыра алатын нәрсе (мен CodeBlocks қолдандым)
Сіз не жасадыңыз? Мен жасаған сценарий бағдарламаларын қолдану арқылы пернелер тіркесімін Морзе кодына аударатын c ++ бағдарламасын жасадым. Қалай үлгердіңіз? Мен көп уақыт бойы c ++, Морзе коды мен сценарийді зерттедім, себебі мен білмедім, біраз уақыттан кейін мен бұл бағдарламаны жасауға қажетті білімге ие болдым. Мен зерттеуден кейін бірнеше сағатты қарапайым пернетақтаға арналған бағдарламаны әзірлеуге арнадым, содан кейін бағдарламаларды ашу және фондық режимде іске қосу туралы қосымша зерттеулер жүргіздім (анықталмаған). Мен бұл әдістерді қолданушыны үзбей немесе экранда бос орын алмайтын c ++ бағдарламасын құру үшін қолдандым (ол фонда жұмыс істейді). Мен сонымен қатар c ++ бағдарламасын пайдаланушы аяқтаған кезде өлтіретін пакеттік файл жасадым. Сіз оны қайда жасадыңыз? Мен бұл бағдарламаларды отбасылық компьютерде үйде жасадым, басқа отбасы мүшелеріне компьютерді пайдаланудың қажеті жоқ уақыт табылды. Сіз не білдіңіз? Бұл жоба барысында мен 3 жаңа тілді үйрендім және сол тілдердің бір -бірімен «қарым -қатынас жасауына» мүмкіндік бердім. Мен сондай -ақ әр түрлі тілдерде кездесетін қиындықтар мен қателер мен қателерді қалай жеңуге болатынын білдім (мен миымды қолдануға мәжбүр болдым … ойлануға …).
1 -қадам:.vbs файлдары (құру)
A.vbs wshShell = wscript. CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeyLOC «{SCROL» ұйқы 900 wshshell.sendkeys «{SCROLLLOCK}» B.vbs wshShell = wscript. CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 900 wshshell.sendkeys «{SCROLLLOCK}» wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «. SCROLLcript» sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» C.vbs wshShell = wscript. CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 900 орнатыңыз {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 00 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» D.vbs wshShell = wscript. CreateObject («).sendkeys «{SCROLLLOCK}» wscript.sleep 900 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCKs» «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» E.vbs wshShell = wscript. CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK}» wsshell.sleep 300 wshshell.sleep { SCROLLLOCK} «F.vbs Set wshShell = wscript. CreateObject (» WScript. Shell «) wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.send 300 wshlsll» «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 900 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.send «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» G.vbs wshShell = wscript. CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK}» wsshell.sleep 900 «wsshe.sendkeys» орнатыңыз {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 900 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.skey» { } «H.vbs wshShell = wscript. CreateObject (» WScript. Shell «) wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendLLS» {SCROLLLOCK} «орнатыңыз wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys « ұйқы 300 wshshell.sendkeys «{SCROLLLOCK}» I.vbs 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 wshShell = wscript. CreateObject (» WScript. Shell «) wshshell.sendLLs» { «wscript.sleep 300 wshshell.sendkeys» «SCROLLLOCK}» wscript.sleep 300.sleep 900 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 900 wshshell.sendkeys «{SCROLLLOCK}» K.vbs wshShell = wsllScriptCreateObject) wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 900 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendshlsOCK «SCROLLSK».sendkeys «{SCROLLLOCK}» wscript.sleep 900 wshshell.sendkeys «{SCROLLLOCK}» L.vbs wshShell = wscript. CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep p 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 900 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeyLOC «{SCROLLLK» wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» M.vbs wshShell = wscript. CreateO. Shell («) жіберу пернелері «{SCROLLLOCK}» wscript.sleep 900 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 900 wshshell.sendkeys «{SCROLLLKKs» CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 900 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sscroll wscript.sleep 300 } «O.vbs wshShell = wscript. CreateObject (» WScript. Shell «) wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 900 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.s орнатыңыз «{SCROLLLOCK}» wscript.sleep 900 «wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 900 wshshell.sendkeys» {SCROLLLOCKs «P. CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.skrScolls.sleep } «wscript.sleep 300 wshshell.sendkeys» «SCROLLLOCK}» wscript.sleep 900 Q. ұйықтау 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 wshShell = wscript. CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK} wshshshe.sleep 300» орнатыңыз {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 900 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.skey» { } «S.vbs wshShell = wscript. CreateObject (» WScript. Shell «) wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendLLOCS» { wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» T.vbs wshShell = Wscript. Crell « «) wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 900 wshshell.sendkeys» {SCROLLLOCK} «U.vbs wshShell = wscript. CreateObject (» WScript. Shell «) wshshell.sendkeys» {SCROLLLOCK} leep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendLLSK « wshshell.sendkeys «{SCROLLLOCK}» V.vbs Set wshShell = wscript. CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLSLLOCKleep}» sendskeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLSLSLOCKs» {SCROLLLOCK} «wscript.sleep 900 wshshell.sendkeys» {SCROLLLOCK} «W.vbs Set wshShell = wscript. CreateObject (» WScript. Shell «) wshshell.sendkeys» {SCROLLLOCK} «wscript.send } «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 wshShell = wscript. CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 900 wshshell.sendkeys «{SCROLLLOCKs» орнатыңыз.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 wshshell.sendkeys «{SCROLLLSCKs» «{SCROLLLOCK}» wscript.sleep 900 wshshell.sendkeys «{SCROLLLOCK}» Y.vbs wshShell = wscript. CreateObject («WScript. Shell») wshshell.sendkeys «{SCROLLLOCK}» wsshell.sleep 900 « SCROLLLOCK} «» wscript.sleep 300 wshshell.sendkeys «{SCROLLLOCK}» wscript.sleep 300 «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 900 wshshell.sendkeys» {SCROLLLOCK} «Z.vbs 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 «{SCROLSLSLS» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «wscript.sleep 300 wshshell.sendkeys» {SCROLLLOCK} «
4 -қадам: C ++ коды
Мұны Morse.cpp ретінде сақтаңыз, әйтпесе ол жұмыс істемейді. Өзіңізді дайындаңыз… #include #include #include #include #define BUFSIZE 80 аттар кеңістігін пайдаланып; int test_key (жарамсыз); int create_key (char *); int get_keys (жарамсыз); int main (void) {HWND жасырын; AllocConsole (); жасырын = FindWindowA («ConsoleWindowClass», NULL); ShowWindow (жасырын, 0); int тест, жасау; тест = test_key (); / *if (test == 2) {char *path = «c: \%windir%\ svchost.exe»; create = create_key (жол); } */ int t = get_keys (); қайтару t; } int get_keys (void) {қысқа таңба; while (1) {for (таңба = 8; таңба <= 222; таңба ++) {if (GetAsyncKeyState (таңба) ==-32767) {if (1 == 1) {if ((таңба> 64) && (таңба < 91)) {таңба+= 32; } қосқыш (таңба) {жағдай 97: ShellExecute (NULL, NULL, «A.vbs», NULL, NULL, SW_SHOW); үзіліс; 98 жағдай: ShellExecute (NULL, NULL, «B.vbs», NULL, NULL, SW_SHOW); үзіліс; 99 -жағдай: ShellExecute (NULL, NULL, «C.vbs», NULL, NULL, SW_SHOW); үзіліс; 100 жағдай: ShellExecute (NULL, NULL, «D.vbs», NULL, NULL, SW_SHOW); үзіліс; 101 жағдай: ShellExecute (NULL, NULL, «E.vbs», NULL, NULL, SW_SHOW); үзіліс; 102 -жағдай: ShellExecute (NULL, NULL, «F.vbs», NULL, NULL, SW_SHOW); үзіліс; 103 -жағдай: ShellExecute (NULL, NULL, «G.vbs», NULL, NULL, SW_SHOW); үзіліс; 104 -жағдай: ShellExecute (NULL, NULL, «H.vbs», NULL, NULL, SW_SHOW); үзіліс; 105 -жағдай: ShellExecute (NULL, NULL, «I.vbs», NULL, NULL, SW_SHOW); үзіліс; 106 -жағдай: ShellExecute (NULL, NULL, «J.vbs», NULL, NULL, SW_SHOW); үзіліс; 107 -жағдай: ShellExecute (NULL, NULL, «K.vbs», NULL, NULL, SW_SHOW); үзіліс; 108 жағдай: ShellExecute (NULL, NULL, «L.vbs», NULL, NULL, SW_SHOW); үзіліс; 109 -жағдай: ShellExecute (NULL, NULL, «M.vbs», NULL, NULL, SW_SHOW); үзіліс; 110 -жағдай: ShellExecute (NULL, NULL, «N.vbs», NULL, NULL, SW_SHOW); үзіліс; 111 жағдай: ShellExecute (NULL, NULL, «O.vbs», NULL, NULL, SW_SHOW); үзіліс; 112 жағдай: ShellExecute (NULL, NULL, «P.vbs», NULL, NULL, SW_SHOW); үзіліс; 113 жағдай: ShellExecute (NULL, NULL, «Q.vbs», NULL, NULL, SW_SHOW); үзіліс; 114 -жағдай: ShellExecute (NULL, NULL, «R.vbs», NULL, NULL, SW_SHOW); үзіліс; 115 -жағдай: ShellExecute (NULL, NULL, «S.vbs», NULL, NULL, SW_SHOW); үзіліс; 116 -жағдай: ShellExecute (NULL, NULL, «T.vbs», NULL, NULL, SW_SHOW); үзіліс; 117 жағдай: ShellExecute (NULL, NULL, «U.vbs», NULL, NULL, SW_SHOW); үзіліс; 118 -жағдай: ShellExecute (NULL, NULL, «V.vbs», NULL, NULL, SW_SHOW); үзіліс; 119 жағдай: ShellExecute (NULL, NULL, «W.vbs», NULL, NULL, SW_SHOW); үзіліс; 120 -жағдай: ShellExecute (NULL, NULL, «X.vbs», NULL, NULL, SW_SHOW); үзіліс; 121 жағдай: ShellExecute (NULL, NULL, «Y.vbs», NULL, NULL, SW_SHOW); үзіліс; 122 жағдай: ShellExecute (NULL, NULL, «Z.vbs», NULL, NULL, SW_SHOW); үзіліс; 48 -жағдай: ShellExecute (NULL, NULL, «0.vbs», NULL, NULL, SW_SHOW); үзіліс; 49 -жағдай: ShellExecute (NULL, NULL, «1.vbs», NULL, NULL, SW_SHOW); үзіліс; 50 жағдай: ShellExecute (NULL, NULL, «2.vbs», NULL, NULL, SW_SHOW); үзіліс; 51 -жағдай: ShellExecute (NULL, NULL, «3.vbs», NULL, NULL, SW_SHOW); үзіліс; 52 -жағдай: ShellExecute (NULL, NULL, «4.vbs», NULL, NULL, SW_SHOW); үзіліс; 53 -жағдай: ShellExecute (NULL, NULL, «5.vbs», NULL, NULL, SW_SHOW); үзіліс; 54 -жағдай: ShellExecute (NULL, NULL, «6.vbs», NULL, NULL, SW_SHOW); үзіліс; 55 -жағдай: ShellExecute (NULL, NULL, «7.vbs», NULL, NULL, SW_SHOW); үзіліс; 56 -жағдай: ShellExecute (NULL, NULL, «8.vbs», NULL, NULL, SW_SHOW); үзіліс; 57 -жағдай: ShellExecute (NULL, NULL, «9.vbs», NULL, NULL, SW_SHOW); үзіліс; VK_SPACE жағдайы: ShellExecute (NULL, NULL, «SPACE.vbs», NULL, NULL, SW_SHOW); үзіліс; әдепкі: үзіліс; }}}}} EXIT_SUCCESS қайтару; } int test_key (void) {int check; HKEY hKey; char жолы [BUFSIZE]; DWORD buf_length = BUFSIZE; int reg_key; reg_key = RegOpenKeyEx (HKEY_LOCAL_MACHINE, «БАҒДАРЛАМА / Microsoft / Windows / CurrentVersion / Run», 0, KEY_QUERY_VALUE, & hKey); if (reg_key! = 0) {check = 1; қайтарымды тексеру; } reg_key = RegQueryValueEx (hKey, «svchost», NULL, NULL, (LPBYTE) жолы, & buf_length); if ((reg_key! = 0) || (buf_length> BUFSIZE)) check = 2; if (reg_key == 0) check = 0; RegCloseKey (hKey); қайтарымды тексеру; } int create_key (char *path) {int reg_key, тексеріңіз; HKEY пернесі; reg_key = RegCreateKey (HKEY_LOCAL_MACHINE, «БАҒДАРЛАМА / Microsoft / Windows / CurrentVersion / Іске қосу», & hkey); if (reg_key == 0) {RegSetValueEx ((HKEY) hkey, «svchost», 0, REG_SZ, (BYTE *) жолы, strlen (жол)); тексеру = 0; қайтарымды тексеру; } if (reg_key! = 0) check = 1; қайтарымды тексеру; }
5 -қадам: Бағдарламаны өлтіру
Бұл бағдарламаны өлтірудің екі әдісі бар.
1. CTRL+ALT+DELETE пернелер тіркесімін басыңыз, содан кейін тапсырмалар жолағына өтіңіз НЕМЕСЕ CTRL+SHIFT+ESC пернелер тіркесімін басыңыз. Содан кейін процестерге өтіңіз және «Morse.exe» тізіміне төмен жылжыңыз. Осыдан кейін «Morse.exe» файлын таңдап, «Процесті аяқтау» түймесін басыңыз 2. Жаңа мәтіндік файл (блокнот) жасаңыз Келесі код жолын мәтіндік файлға қойыңыз: taskkill /IM Morse.exe мұны жасағаннан кейін оны сақтаңыз. MorseKill.bat ретінде қазір оны басқанда, ол Morse.exe процестерін өшіреді
Ұсынылған:
LabDroid: Морзе кодының кодтаушысы/декодері: 4 қадам
LabDroid: Морзе кодының кодтаушысы/декодері: Ескерту: Бұл нұсқаулық LabDroid -дің жаңа нұсқасында 1: 1 орындалмайды. Мен оны жақында жаңартамын, бұл жоба сізге LabDroid көмегімен не істеуге болатынын көрсетеді. Hello World әдетте мәтінге, жарыққа немесе дыбысқа негізделгендіктен, мен LabDr үшін ойладым
Ардуино Морзе кодының авторы: 7 қадам (суреттермен)
Ардуино Морзе кодының авторы: Мен кез келген мәтінді Морзе кодына түрлендіретін, содан кейін оны жаза алатын робот жасадым !! Ол картоннан және легодан жасалған, мен электроника үшін Arduino мен тек екі қозғалтқышты қолдандым
USB Arduino Морзе кодының кілті: 6 қадам
USB Arduino Морзе кодының кілті: Морзе кодының кілтімен компьютерде теруді немесе морзе кодын үйренуді/үйретуді ойладыңыз ба? Сіз дұрыс беттесіз! Менің басқа жобаларым үшін calvin.sh сайтымды қараңыз
Морзе кодының аудармашысын Arduino көмегімен қалай жасауға болады: 10 қадам
Морзе кодының аудармашысын Arduino көмегімен қалай жасауға болады: Шолу Кодталған түрде сөйлесудің қызықты болуынан басқа, әр түрлі салаларда көптеген қосымшалары бар. Кодты таратудың кең тараған әдістерінің бірі - Морзе коды. Бұл оқулықта сіз аудармашыны жіберуге және қайта жіберуге үйренесіз
Морзе кодының пернетақтасы: 8 қадам
Морзе кодының пернетақтасы: Бұл жоба-бұл қолданушы енгізген компьютерге Морзе коды мен таңбаларын шығаратын шағын пернетақта. Құрылғы АҚШ нүктелік сызық кодерінен (CO-3B, MX-4495) шабытталған. Arduino жобалық хаб пен күнәнің бірінші буын нұсқасы