• Home »
  • searx1996 »

    3 Schritt:Schritt 1: Der Python-Programm Schritt 2: Der Raw-Code Schritt 3: Bearbeiten des Codes

    Sehen Sie dieses Video in HD! Diese instructable zeigen Ihnen, wie man die instructables Roboter starten Sie das Harlem Shake (mit Musik), und, wenn die Bass-Tropfen, machen die ganze Anblick verrückt. Internet Explorer und Firefox-Versionen Demnächst. Dies ist nur für Chrome für jetzt. Was haben Sie zu machen? Ich habe ein Python-Programm, das 914 Zeilen lang, der automatisch an die Website, die Sie es zu programmieren ist (es geht direkt auf instructables.com, wenn Sie sich nicht an meine Schritte, um den Code zu bearbeiten) und macht die Website mach den Harlem Shake. Im instructables Version, ist sie die instructables Roboter starten Sie den Tanz und dann alles andere schließt sich. Wie haben Sie es geschafft? Ich machte es, indem sie jeden Tag ein wenig Zeit, um über das Programm zu arbeiten. Ich bin nur zu lernen, java, so verbrachte ich stundenlang auf der Suche durch python-Handbücher und Code-Verzeichnisse. Meine Pläne entwickelt, wie ich daran gearbeitet und es zu einer 914 Linie langes Programm (ich fand ein paar Abkürzungen) ging von einer 12.000 Linie Kür. Woher hast du es? Ich habe diese ganze Projekt zu Hause, ein paar Stunden aus meiner Hausaufgaben Zeit darauf (schlechte Idee). Ich musste außerschulische Aktivitäten, Hausaufgaben und das Projekt auszugleichen, in der Tat, ich wahrscheinlich werden jetzt tue mein AP Informatik Hausaufgaben ... Was haben Sie gelernt? Im Laufe dieses Projektes, ich ziemlich viel gelernt, eine ganze neue Sprache (abgesehen von Ähnlichkeiten zu Java). Ich lernte auch eine Menge aus, dass ihr meinem Programm zu debuggen. Als eine neue Python-Programmierer, hatte ich viele Fehler, die ich hatte, um zu arbeiten und zu lernen. Ich bin sehr stolz, dass ich dieses Programm durchgeführt, bevor die Harlem Schütteln wurde ein Ding der Vergangenheit. Wenn ich es wieder tun hätte, würde ich versuchen, den Code zu komprimieren, so dass es wäre einfacher zu programmieren. Schritt 1: Der Python-Programm Dies dauerte viele Stunden in Anspruch, aber konstruktive Kritik wäre toll, besonders wenn Sie ein Python-Programmierer, die helfen können, um den Code zu kondensieren sind. Im Folgenden ist der Python-Code: Import ctypes Importzeit Import-Webbrowser webbrowser.open ('http://www.instructables.com') LONG = ctypes.c_long DWORD = ctypes.c_ulong ULONG_PTR = ctypes.POINTER (DWORD) WORD = ctypes.c_ushort Klasse MOUSEINPUT (ctypes.Structure): _fields_ = (("dx", LONG) ('dy', LONG) ('mouseData', DWORD), ('dwFlags', DWORD), ("Zeit", DWORD), ('dwExtraInfo', ULONG_PTR)) Klasse KEYBDINPUT (ctypes.Structure): _fields_ = (("WVK ', WORD), ('wScan', WORD), ('dwFlags', DWORD), ("Zeit", DWORD), ('dwExtraInfo', ULONG_PTR)) Klasse HARDWAREINPUT (ctypes.Structure): _fields_ = (('uMsg', DWORD), ('wParamL', WORD), ('wParamH', WORD)) Klasse _INPUTunion (ctypes.Union): _fields_ = (('mi', MOUSEINPUT) ('ki', KEYBDINPUT) ('hallo', HARDWAREINPUT)) Klasse INPUT (ctypes.Structure): _fields_ = (("Typ", DWORD), ("Union", _INPUTunion)) def Sendinput (* Eingänge): nInputs = len (Eingänge) LPINPUT = INPUT * nInputs pInputs = LPINPUT (* Eingänge) cbSize = ctypes.c_int (ctypes.sizeof (INPUT)) Rück ctypes.windll.user32.SendInput (nInputs, pInputs, cbSize) INPUT_MOUSE = 0 INPUT_KEYBOARD = 1 INPUT_HARDWARD = 2 def Input (Struktur): wenn isinstance (Struktur, MOUSEINPUT): Rück INPUT (INPUT_MOUSE, _INPUTunion (mi = Struktur)) wenn isinstance (Struktur, KEYBDINPUT): Rück INPUT (INPUT_KEYBOARD, _INPUTunion (ki = Struktur)) wenn isinstance (Struktur, HARDWAREINPUT): Rück INPUT (INPUT_HARDWARE, _INPUTunion (hallo = Struktur)) erhöhen Typeerror ("Kann-Input-Struktur nicht zu schaffen! ') WHEEL_DELTA = 120 XButton1 = 0x0001 XButton2 = 0x0002 MOUSEEVENTF_ABSOLUTE = 0x8000 MOUSEEVENTF_HWHEEL = 0x01000 MOUSEEVENTF_MOVE = 0x0001 MOUSEEVENTF_MOVE_NOCOALESCE = 0x2000 MOUSEEVENTF_LEFTDOWN = 0x0002 MOUSEEVENTF_LEFTUP = 0x0004 MOUSEEVENTF_RIGHTDOWN = 0x0008 MOUSEEVENTF_RIGHTUP = 0x0010 MOUSEEVENTF_MIDDLEDOWN = 0x0020 MOUSEEVENTF_MIDDLEUP = 0x0040 MOUSEEVENTF_VIRTUALDESK = 0x4000 MOUSEEVENTF_WHEEL = 0x0800 MOUSEEVENTF_XDOWN = 0x0080 MOUSEEVENTF_XUP = 0x0100 def MouseInput (Fahnen, x, y, Daten): Rück MOUSEINPUT (x, y, Daten, Merker, 0, None) VK_LBUTTON = 0x01 # Linke Maustaste VK_RBUTTON = 0x02 # Rechte Maustaste VK_CANCEL = 0x03 # Control-Break-Verarbeitung VK_MBUTTON = 0x04 # Mittlere Maustaste (Drei-Tasten-Maus) VK_XBUTTON1 = 0x05 # X1 Maustaste VK_XBUTTON2 = 0x06 # X2 Maustaste VK_BACK = 0x08 # RÜCKTASTE VK_TAB = 0x09 # TAB-Taste VK_CLEAR = 0x0C # CLEAR-Taste VK_RETURN = 0x0D # ENTER-Taste VK_SHIFT = 0x10 # SHIFT-Taste VK_CONTROL = 0x11 # STRG-Taste VK_MENU = 0x12 # ALT-Taste VK_PAUSE = 0x13 # PAUSE-Taste VK_CAPITAL = 0x14 # Feststelltaste VK_KANA = 0x15 # IME Kana-Modus VK_HANGUL = 0x15 # IME Hangul-Modus VK_JUNJA = 0x17 # IME Junja Modus VK_FINAL = 0x18 # IME endgültigen Modus VK_HANJA = 0x19 # IME Hanja-Modus VK_KANJI = 0x19 # IME Kanji-Modus VK_ESCAPE = 0x1B # ESC-Taste VK_CONVERT = 0x1C # IME convert VK_NONCONVERT = 0x1D # IME nonconvert VK_ACCEPT = 0x1E # IME akzeptieren VK_MODECHANGE = 0x1F # IME-Modus Änderungsanforderung VK_SPACE = 0x20 # LEER VK_PRIOR = 0x21 # PAGE UP-Taste VK_NEXT = 0x22 #-ab-Taste VK_END = 0x23 # END-Taste VK_HOME = 0x24 # HOME-Taste VK_LEFT = 0x25 # links-Taste VK_UP = 0x26 # OBEN-TASTE VK_RIGHT = 0x27 #-rechts-Taste VK_DOWN = 0x28 #-unten-Taste VK_SELECT = 0x29 # SELECT-Taste VK_PRINT = 0x2A # Taste PRINT VK_EXECUTE = 0x2B # EXECUTE-Taste VK_SNAPSHOT = 0x2C # Druck-Taste VK_INSERT = 0x2D # INS-Taste VK_DELETE = 0x2E # DEL-Taste VK_HELP = 0x2F # HELP-Taste VK_LWIN = 0x5B # Linke Windows-Taste (Natural Keyboard) VK_RWIN = 0x5C # rechten Windows-Taste (Natural Keyboard) VK_APPS = 0x5D # Taste Anwendungen (Natural Keyboard) VK_SLEEP = 0x5F # Computer-Sleep-Taste VK_NUMPAD0 = 0x60 # Numerische Tastatur Taste 0 VK_NUMPAD1 = 0x61 # Numerische Tastatur Taste 1 VK_NUMPAD2 = 0x62 # Numerische Tastatur Taste 2 VK_NUMPAD3 = 0x63 # Ziffernblock 3 Schlüssel VK_NUMPAD4 = 0x64 # Numerische Tastatur Taste 4 VK_NUMPAD5 = 0x65 # Numerische Tastatur Taste 5 VK_NUMPAD6 = 0x66 # Numerische Tastatur 6 Schlüssel VK_NUMPAD7 = 0x67 # Numerische Tastatur Taste 7 VK_NUMPAD8 = 0x68 # Numerische Tastatur Taste 8 VK_NUMPAD9 = 0x69 # Numerische Tastatur Taste 9 VK_MULTIPLY = 0x6A # Multiply Schlüssel VK_ADD = 0x6B Taste # hinzufügen VK_SEPARATOR = 0x6C # Separator Schlüssel VK_SUBTRACT = 0x6D # Subtrahieren Schlüssel VK_DECIMAL = 0x6E # Dezimaltaste VK_DIVIDE = 0x6F # Dividieren Schlüssel VK_F1 = 0x70 # Taste F1 VK_F2 = 0x71 # Taste F2 VK_F3 = 0x72 # Taste F3 VK_F4 = 0x73 # Taste F4 VK_F5 = 0x74 # Taste F5, VK_F6 = 0x75 # Taste F6 VK_F7 = 0x76 # Taste F7 VK_F8 = 0x77 # Taste F8 VK_F9 = 0x78 # Taste F9 VK_F10 = 0x79 # F10-Taste VK_F11 = 0x7A # F11-Taste VK_F12 = 0x7B # F12-Taste VK_F13 = 0x7C # F13-Taste VK_F14 = 0x7D # F14-Taste VK_F15 = 0x7E # F15-Taste VK_F16 = 0x7F # F16-Taste VK_F17 = 0x80 # F17-Taste VK_F18 = 0x81 # F18-Taste VK_F19 = 0x82 # F19-Taste VK_F20 = 0x83 # F20-Taste VK_F21 = 0x84 # F21-Taste VK_F22 = 0x85 # F22-Taste VK_F23 = 0x86 # F23-Taste VK_F24 = 0x87 # F24-Taste VK_NUMLOCK = 0x90 # NUM-Taste VK_SCROLL = 0x91 # Rollen-Taste VK_LSHIFT = 0xA0 # linke Shift-Taste VK_RSHIFT = 0xA1 # rechte Shift-Taste VK_LCONTROL = 0xA2 # linke Steuerungstaste VK_RCONTROL = 0xA3 # rechte Steuerungstaste VK_LMENU = 0xA4 # linke Menütaste VK_RMENU = 0xA5 # rechte Menütaste VK_BROWSER_BACK = 0xA6 # Browser Zurück-Taste VK_BROWSER_FORWARD = 0xA7 # Browser Vorwärts-Taste VK_BROWSER_REFRESH = 0xA8 # Browser Refresh-Taste VK_BROWSER_STOP = 0xA9 # Browser Stop-Taste VK_BROWSER_SEARCH = 0xAA # Browser Suchschlüssel VK_BROWSER_FAVORITES = 0xAB # Browser Favoriten Schlüssel VK_BROWSER_HOME = 0xac # Browser starten und die Home-Taste VK_VOLUME_MUTE = 0xAD # Volume Mute-Taste VK_VOLUME_DOWN = 0xAE # Taste Lautstärke verringern VK_VOLUME_UP = 0xAF # Taste Lautstärke erhöhen VK_MEDIA_NEXT_TRACK = 0xB0 # Next Track-Taste VK_MEDIA_PREV_TRACK = 0xB1 # Vorherige Titelschlüssel VK_MEDIA_STOP = 0xB2 # Stopp Medienschlüssel VK_MEDIA_PLAY_PAUSE = 0xB3 # Play / Pause-Taste Medien VK_LAUNCH_MAIL = 0xB4 # Starten Sie Mail-Taste VK_LAUNCH_MEDIA_SELECT = 0xB5 # Wählen Sie die Medientaste VK_LAUNCH_APP1 = 0xB6 # Anwendung starten 1 Taste VK_LAUNCH_APP2 = 0xB7 # Anwendung starten 2 Schlüssel VK_OEM_1 = 0xBA # Wird für sonstige Zeichen; sie kann durch Tastatur variieren. # Für die US-Standardtastatur, die ';:' drücken VK_OEM_PLUS = 0xBB # Für jedes Land / die Region, die '+' Taste VK_OEM_COMMA = 0xBC # Für jedes Land / die Region, die "," Schlüssel VK_OEM_MINUS = 0xBD # Für jedes Land / die Region, die "-" Taste VK_OEM_PERIOD = 0xBE # Für jedes Land / die Region, die '.' Schlüssel VK_OEM_2 = 0xBF # Wird für sonstige Zeichen; sie kann durch Tastatur variieren. # Für die US-Standardtastatur, die "/?" Schlüssel VK_OEM_3 = 0xC0 # Wird für sonstige Zeichen; sie kann durch Tastatur variieren. # Für die US-Standardtastatur, die '`~' drücken VK_OEM_4 = 0xDB # Wird für sonstige Zeichen; sie kann durch Tastatur variieren. # Für die US-Standardtastatur, die "[{'key VK_OEM_5 = 0xDC # Wird für sonstige Zeichen; sie kann durch Tastatur variieren. # Für die US-Standardtastatur, die '\ |' drücken VK_OEM_6 = 0xDD # Wird für sonstige Zeichen; sie kann durch Tastatur variieren. # Für die US-Standardtastatur, die ']}' Schlüssel VK_OEM_7 = 0xDE # Wird für sonstige Zeichen; sie kann durch Tastatur variieren. # Für die US-Standardtastatur, die "einfachen Anführungszeichen / doppelten Anführungszeichen 'Schlüssel VK_OEM_8 = 0xDF # Wird für sonstige Zeichen; sie kann durch Tastatur variieren. VK_OEM_102 = 0xE2 # Entweder die spitze Klammer-Taste oder der Backslash-Taste auf der RT-102-Tasten-Tastatur VK_PROCESSKEY = 0xE5 # IME PROCESS Schlüssel VK_PACKET = 0xE7 # verwendet, um Unicode-Zeichen übergeben, als ob sie Tastatureingaben waren. Die VK_PACKET Schlüssel ist das Low-Wort eines 32-Bit-Virtual Key-Wert für nicht-Tastatureingabemethoden verwendet. Für weitere Informationen siehe Anmerkung in KEYBDINPUT, Sendinput, WM_KEYDOWN und WM_KEYUP VK_ATTN = 0xF6 # Attn Schlüssel VK_CRSEL = 0xF7 # CrSel Schlüssel VK_EXSEL = 0xF8 # EXSEL Schlüssel VK_EREOF = 0xF9 # Erase EOF Schlüssel VK_PLAY = 0xFA # Play-Taste VK_ZOOM = 0xFB # Zoom-Taste VK_PA1 = 0xFD # PA1 Schlüssel VK_OEM_CLEAR = 0xFE # Löschen-Taste KEYEVENTF_EXTENDEDKEY = 0x0001 KEYEVENTF_KEYUP = 0x0002 KEYEVENTF_SCANCODE = 0x0008 KEYEVENTF_UNICODE = 0x0004 KEY_0 = 0x30 KEY_1 = 0x31 KEY_2 = 0x32 Taster 3 = 0x33 KEY_4 = 0x34 KEY_5 = 0x35 KEY_6 = 0x36 KEY_7 = 0x37 KEY_8 = 0x38 KEY_9 = 0x39 KEY_A = 0x41 KEY_B = 0x42 KEY_C = 0x43 KEY_D = 0x44 KEY_E = 0x45 KEY_F = 0x46 KEY_G = 0x47 KEY_H = 0x48 KEY_I = 0x49 KEY_J = 0x4A KEY_K = 0x4B KEY_L = 0x4C KEY_M = 0x4D KEY_N = 0x4E KEY_O = 0x4F KEY_P = 0x50 KEY_Q = 0x51 KEY_R = 0x52 KEY_S = 0x53 KEY_T = 0x54 KEY_U = 0x55 KEY_V = 0x56 KEY_W = 0x57 KEY_X = 0x58 KEY_Y = 0x59 KEY_Z = 0x5A Importserien Import-Codecs Import ctypes Importzeit von Zeit import Schlaf Send = ctypes.windll.user32.SendInput PUL = ctypes.POINTER (ctypes.c_ulong) Klasse KeyBdInput (ctypes.Structure): _fields_ = [("WVK", ctypes.c_ushort) ("wScan", ctypes.c_ushort) ("dwFlags", ctypes.c_ulong) ("Zeit", ctypes.c_ulong) ("dwExtraInfo", PUL)] Klasse HardwareInput (ctypes.Structure): _fields_ = [("uMsg" ctypes.c_ulong) ("wParamL", ctypes.c_short) ("wParamH", ctypes.c_ushort)] Klasse MouseInput (ctypes.Structure): _fields_ = [("dx", ctypes.c_long) ("dy" ctypes.c_long) ("mouseData", ctypes.c_ulong) ("dwFlags", ctypes.c_ulong) ("Zeit", ctypes.c_ulong) ("dwExtraInfo", PUL)] Klasse Input_I (ctypes.Union): _fields_ = [("ki", KeyBdInput) ("mi", MouseInput) ("Hallo", HardwareInput)] Klasse Input (ctypes.Structure): _fields_ = [("Typ", ctypes.c_ulong) ("ii", Input_I)] def PressKey (hexKeyCode): Extra = ctypes.c_ulong (0) II_ = Input_I () ii_.ki = KeyBdInput (hexKeyCode, 0x48, 0, 0, ctypes.pointer (extra)) x = Input (ctypes.c_ulong (1), II_) ctypes.windll.user32.SendInput (1, ctypes.pointer (x), ctypes.sizeof (x)) def ReleaseKey (hexKeyCode): Extra = ctypes.c_ulong (0) II_ = Input_I () ii_.ki = KeyBdInput (hexKeyCode, 0x48, 0x0002, 0, ctypes.pointer (extra)) x = Input (ctypes.c_ulong (1), II_) ctypes.windll.user32.SendInput (1, ctypes.pointer (x), ctypes.sizeof (x)) def KeybdInput (Code, Fahnen): Rück KEYBDINPUT (Code, Code, Fahnen, 0, None) def HardwareInput (Nachricht, Parameter): Rück HARDWAREINPUT (Nachricht & 0xFFFFFFFF, Parameter & 0xFFFF, Parameter >> 16 & 0xFFFF) def Mouse (Fahnen, x = 0, y = 0, Daten = 0): Rück Input (MouseInput (Fahnen, x, y, Daten)) def Keyboard (Code, Flaggen = 0): Rück Input (KeybdInput (Code, Fahnen)) def Hardware (Nachricht, Parameter = 0): Rück Input (HardwareInput (Nachricht, Parameter)) #pressFunctions ################## def PA (): PressKey (KEY_A) def PB (): PressKey (KEY_B) def PC (): PressKey (KEY_C) def PD (): PressKey (KEY_D) def PE (): PressKey (KEY_E) def PF (): PressKey (KEY_F) def PG (): PressKey (KEY_G) def PH (): PressKey (KEY_H) def PI (): PressKey (KEY_I) def PJ (): PressKey (KEY_J) def PK (): PressKey (KEY_K) def PL (): PressKey (KEY_L) def PM (): PressKey (KEY_M) def PN (): PressKey (KEY_N) def PO (): PressKey (KEY_O) def PP (): PressKey (KEY_P) def PQ (): PressKey (KEY_Q) def PR (): PressKey (KEY_R) def PS (): PressKey (KEY_S) def PT (): PressKey (KEY_T) def PU (): PressKey (KEY_U) def PV (): PressKey (KEY_V) def PW (): PressKey (KEY_W) def PX (): PressKey (KEY_X) def PY (): PressKey (KEY_Y) def PZ (): PressKey (KEY_Z) def PCTRL (): PressKey (VK_CONTROL) def Pshift (): PressKey (VK_SHIFT) def PCOLON (): PressKey (VK_OEM_1) def PQUOTE (): PressKey (VK_OEM_7) def POPENBRACKET (): PressKey (VK_OEM_4) def PCLOSEBRACKET (): PressKey (VK_OEM_6) def PBACKSLASH (): PressKey (VK_OEM_2) def PPLUS (): PressKey (VK_OEM_PLUS) def PMINUS (): PressKey (VK_OEM_MINUS) def P0 (): PressKey (KEY_0) def P1 (): PressKey (KEY_1) def P2 (): PressKey (KEY_2) def P3 (): PressKey (Taster 3) def P4 (): PressKey (KEY_4) def P5 (): PressKey (KEY_5) def P6 (): PressKey (KEY_6) def P7 (): PressKey (KEY_7) def P8 (): PressKey (KEY_8) def P9 (): PressKey (KEY_9) def PSPACE (): PressKey (VK_SPACE) def PENTER (): PressKey (VK_RETURN) def PPERIOD (): PressKey (VK_OEM_PERIOD) def PCOMMA (): PressKey (VK_OEM_COMMA) def PFOREWARDSLASH (): PressKey (VK_OEM_5) def PF12 (): PressKey (VK_F12) ################################ #releaseFunctions ################# def RA (): ReleaseKey (KEY_A) def RB (): ReleaseKey (KEY_B) def RC (): ReleaseKey (KEY_C) def RD (): ReleaseKey (KEY_D) def RE (): ReleaseKey (KEY_E) def RF (): ReleaseKey (KEY_F) def RG (): ReleaseKey (KEY_G) def RH (): ReleaseKey (KEY_H) def RI (): ReleaseKey (KEY_I) def RJ (): ReleaseKey (KEY_J) def RK (): ReleaseKey (KEY_K) def RL (): ReleaseKey (KEY_L) def RM (): ReleaseKey (KEY_M) def RN (): ReleaseKey (KEY_N) def RO (): ReleaseKey (KEY_O) def RP (): ReleaseKey (KEY_P) def RQ (): ReleaseKey (KEY_Q) def RR (): ReleaseKey (KEY_R) def RS (): ReleaseKey (KEY_S) def RT (): ReleaseKey (KEY_T) def RU (): ReleaseKey (KEY_U) def RV (): ReleaseKey (KEY_V) def RW (): ReleaseKey (KEY_W) def RX (): ReleaseKey (KEY_X) def RY (): ReleaseKey (KEY_Y) def RZ (): ReleaseKey (KEY_Z) def RCTRL (): ReleaseKey (VK_CONTROL) def RSHIFT (): ReleaseKey (VK_SHIFT) def RCOLON (): ReleaseKey (VK_OEM_1) def rquote (): ReleaseKey (VK_OEM_7) def RCOLON (): ReleaseKey (VK_OEM_1) def rquote (): ReleaseKey (VK_OEM_7) def ROPENBRACKET (): ReleaseKey (VK_OEM_4) def RCLOSEBRACKET (): ReleaseKey (VK_OEM_6) def RBACKSLASH (): ReleaseKey (VK_OEM_2) def RPLUS (): ReleaseKey (VK_OEM_PLUS) def RMINUS (): ReleaseKey (VK_OEM_MINUS) def R0 (): ReleaseKey (KEY_0) def R1 (): ReleaseKey (KEY_1) def R2 (): ReleaseKey (KEY_2) def R3 (): ReleaseKey (Taster 3) def R4 (): ReleaseKey (KEY_4) def R5 (): ReleaseKey (KEY_5) def R6 (): ReleaseKey (KEY_6) def R7 (): ReleaseKey (KEY_7) def R8 (): ReleaseKey (KEY_8) def R9 (): ReleaseKey (KEY_9) def RSPACE (): ReleaseKey (VK_SPACE) def MIETER (): ReleaseKey (VK_RETURN) def RPERIOD (): ReleaseKey (VK_OEM_PERIOD) def RCOMMA (): ReleaseKey (VK_OEM_COMMA) def RFOREWARDSLASH (): ReleaseKey (VK_OEM_5) def RF12 (): ReleaseKey (VK_F12) ################################## time.sleep (3) #Open Konsole ################################# PCTRL () Pshift () PJ () RCTRL () RSHIFT () RJ () ############################################# String = "javascript: (function () {Funktion c () {var e=document.createElement("link");e.setAttribute("type","text/css");e.setAttribute("rel","stylesheet");e.setAttribute("href",f);e.setAttribute("class",l);document.body.appendChild(e)}function h () {var e = document.getElementsByClassName (l); for (var t = 0; t <e.length; t ++) {document.body.removeChild (e [t])}} p () {var e=document.createElement("div");e.setAttribute("class",a);document.body.appendChild(e);setTimeout(function(){document.body.removeChild(e)},100)}function d (e) {return {height: e.offsetHeight, Breite: e.offsetWidth}} Funktion v (i) {var s = d (i); s.height zurückkehren> e && s.height <n && s.width> t && s.width <r} Funktion m (e) {var t = e; var n = 0; while (!! t) {n + = t.offsetTop; t = t.offsetParent} return n} Funktion g () {var e = Dokument .documentElement; if (!! window.innerWidth) {return window.innerHeight} else if {return e.clientHeight} return 0} Funktion y () {if (window.pageYOffset) {(e && isNaN (e.clientHeight)!) Rück window.pageYOffset} return Math.max (document.documentElement.scrollTop, document.body.scrollTop)} function E (e) {var t = m (e); Rückkehr t> = w && t <= b + w} Funktion S () {var e=document.createElement("audio");e.setAttribute("class",l);e.src=i;e.loop=false;e.addEventListener("canplay",function(){setTimeout(function(){x(k)},500);setTimeout(function(){N();p();for(var e=0;e<O.length;e++){T(O[e])}},15500)},true);e.addEventListener("ended",function(){N();h()},true);e.innerHTML=" <p> Wenn Sie dies lesen, ist es, weil Ihr Browser nicht über die Audio-Element unterstützen Wir empfehlen Ihnen, sich ein neues Browser bekommen </ p> <p> ";.. document.body.appendChild (e); e. play ()} x (e) {e.className + = "" + s + "" + o} function T (e) {e.className + = "" + s + "" + u [Math.floor (Math.random ( ) * u.length)]} Funktion N () {var e = document.getElementsByClassName (e); var t = new RegExp ("\\\\ b" + s + "\\\\ b"); for (var n = 0; n <e.length;) {e [n] .classname = e [n] .className.replace (t "")}} var e = 30; var t = 30; var n = 350; var r = 350; var i = "// s3.amazonaws.com/moovweb-marketing/playground/harlem-shake.mp3";var s =" mw-harlem_shake_me "; var o =" im_first "; var u = [ "im_drunk", "im_baked", "im_trippin", "im_blown"]; var a = "mw-strobe_light"; var f = "// s3.amazonaws.com/moovweb-marketing/playground/harlem-shake-style. CSS "; var l =" mw_added_css "; var b = g (); var w = y (); var C = document.getElementsByTagName (" * "); var k = null; for (var L = 0; L < C.length; L ++) {var A = C [L], und wenn (v (A)) {if (E (A)) {k = A; Pause}}} if (A === null) {Konsole. warnen ("einen Knoten in der richtigen Größe nicht gefunden Bitte versuchen Sie eine andere Seite..");} Rück c (); S (); var O = []; for (var L = 0; L <C.length ; L ++) {var A = C [L], und wenn (v (A)) {O.push (A)}}}) () ' time.sleep (3) für Buchstabe in STRING: #check Briefe if (Brief == 'a'): PA () RA () if (Brief == 'A'): Pshift () PA () RA () RSHIFT () if (Brief == 'b'): PB () RB () if (Brief == 'B'): Pshift () PB () RB () RSHIFT () if (Brief == 'c'): PC () RC () if (Brief == 'C'): Pshift () PC () RC () RSHIFT () if (Brief == 'D'): PD () RD () if (Brief == 'D'): Pshift () PD () RD () RSHIFT () if (letter == 'e'): PE () RE () if (letter == 'E'): Pshift () PE () RE () RSHIFT () if (Brief == 'f'): PF () RF () if (Brief == 'F'): Pshift () PF () RF () RSHIFT () if (Brief == 'g'): PG () RG () if (Brief == 'G'): Pshift () PG () RG () RSHIFT () if (Brief == 'h'): PH () RH () if (Brief == 'H'): Pshift () PH () RH () RSHIFT () if (Brief == 'i'): PI () RI () if (Brief == 'I'): Pshift () PI () RI () RSHIFT () if (Brief == 'j'): PJ () RJ () if (Brief == 'J'): Pshift () PJ () RJ () RSHIFT () if (Brief == 'k'): PK () RK () if (Brief == 'K'): Pshift () PK () RK () RSHIFT () if (Brief == 'l'): PL () RL () if (Brief == 'L'): Pshift () PL () RL () RSHIFT () if (Brief == "m"): PM () RM () if (Brief == 'M'): Pshift () PM () RM () RSHIFT () if (Brief == 'n'): PN () RN () if (Brief == 'N'): Pshift () PN () RN () RSHIFT () if (Brief == 'o'): PO () RO () if (Brief == 'O'): Pshift () PO () RO () RSHIFT () if (Brief == 'p'): PP () RP () if (Brief == 'P'): Pshift () PP () RP () RSHIFT () if (Brief == 'q'): PQ () RQ () if (Brief == 'Q'): Pshift () PQ () RQ () RSHIFT () if (Brief == 'r'): PR () RR () if (Brief == 'R'): Pshift () PR () RR () RSHIFT () if (Brief == 's'): PS () RS () if (Brief == 'S'): Pshift () PS () RS () RSHIFT () if (Brief == 't'): PT () RT () if (Brief == 'T'): Pshift () PT () RT () RSHIFT () if (Brief == 'u'): PU () RU () if (Brief == 'U'): Pshift () PU () RU () RSHIFT () if (Brief == 'v'): PV () RV () if (Brief == 'V'): Pshift () PV () RV () RSHIFT () if (Brief == 'w'): PW () RW () if (Brief == 'W'): Pshift () PW () RW () RSHIFT () if (Brief == 'X'): PX () RX () if (letter == 'X'): Pshift () PX () RX () RSHIFT () if (Brief == 'y'): PY () RY () if (Brief == 'Y'): Pshift () PY () RY () RSHIFT () if (Brief == 'z'): PZ () RZ () if (Brief == 'Z'): Pshift () PZ () RZ () RSHIFT () ################################## #Special Charaktere ############### if (Brief == '\\'): PFOREWARDSLASH () RFOREWARDSLASH () if (Brief == '*'): Pshift () P8 () R8 () RSHIFT () if (Brief == ':'): Pshift () PCOLON () RCOLON () RSHIFT () if (Brief == '' "): Pshift () PQUOTE () Rquote () RSHIFT () if (Brief == '('): Pshift () P9 () R9 () RSHIFT () if (Brief == ')'): Pshift () P0 () R0 () RSHIFT () if (Brief == '{'): Pshift () POPENBRACKET () ROPENBRACKET () RSHIFT () if (Brief == '}'): Pshift () PCLOSEBRACKET () RCLOSEBRACKET () RSHIFT () if (Brief == "" "): PQUOTE () Rquote () if (Brief == '/'): PBACKSLASH () RBACKSLASH () if (Brief == ';'): PCOLON () RCOLON () if (Brief == '='): PPLUS () RPLUS () if (Brief == '+'): Pshift () PPLUS () RPLUS () RSHIFT () if (Brief == '_'): Pshift () PMINUS () RMINUS () RSHIFT () if (Brief == '-'): PMINUS () RMINUS () if (Brief == '['): POPENBRACKET () ROPENBRACKET () if (Brief == ']'): PCLOSEBRACKET () RCLOSEBRACKET () if (Brief == '&'): Pshift () P7 () R7 () RSHIFT () if (Brief == '<'): Pshift () PCOMMA () RCOMMA () RSHIFT () if (Brief == '>'): Pshift () PPERIOD () RPERIOD () RSHIFT () if (Brief == ''): Pshift () P1 () R1 () RSHIFT () if (Brief == ","): PCOMMA () RCOMMA () if (Brief == '.'): PPERIOD () RPERIOD () ################################# #Numbers ######################### if (Brief == '0'): P0 () R0 () if (Brief == '1'): P1 () R1 () if (Brief == "2"): P2 () R2 () if (letter == '3'): P3 () R3 () if (Brief == '4'): P4 () R4 () if (Brief == '5'): P5 () R5 () if (Brief == '6'): P6 () R6 () if (Brief == '7'): P7 () R7 () if (Brief == '8'): P8 () R8 () if (Brief == '9'): P9 () R9 () ################################# #space ########################### if (Brief == ''): PSPACE () RSPACE () ################################# #Sumbit ########################## PENTER () MIETER () PF12 () RF12 () ################################# Schritt 2: Der Raw-Code Dies ist der Roh-Code zum direkten Einfügen. Um es auf diese Weise offen Chrom, drücken Sie "Strg" + "SHIFT" + 'J' Dann fügen Sie folgenden Code in die Konsole: javascript: (function () {Funktion c () {var e=document.createElement("link");e.setAttribute("type","text/css");e.setAttribute("rel","stylesheet");e.setAttribute("href",f);e.setAttribute("class",l);document.body.appendChild(e)}function h () {var e = document.getElementsByClassName (l); for (var t = 0; t <e.length; t ++) {document.body.removeChild (e [t])}} p () {var e=document.createElement("div");e.setAttribute("class",a);document.body.appendChild(e);setTimeout(function(){document.body.removeChild(e)},100)}function d (e) {return {height: e.offsetHeight, Breite: e.offsetWidth}} Funktion v (i) {var s = d (i); s.height zurückkehren> e && s.height <n && s.width> t && s.width <r} Funktion m (e) {var t = e; var n = 0; while (!! t) {n + = t.offsetTop; t = t.offsetParent} return n} Funktion g () {var e = Dokument .documentElement; if (!! window.innerWidth) {return window.innerHeight} else if {return e.clientHeight} return 0} Funktion y () {if (window.pageYOffset) {(e && isNaN (e.clientHeight)!) Rück window.pageYOffset} return Math.max (document.documentElement.scrollTop, document.body.scrollTop)} function E (e) {var t = m (e); Rückkehr t> = w && t <= b + w} Funktion S () {var e=document.createElement("audio");e.setAttribute("class",l);e.src=i;e.loop=false;e.addEventListener("canplay",function(){setTimeout(function(){x(k)},500);setTimeout(function(){N();p();for(var e=0;e<O.length;e++){T(O[e])}},15500)},true);e.addEventListener("ended",function(){N();h()},true);e.innerHTML=" <p> Wenn Sie dies lesen, ist es, weil Ihr Browser nicht über die Audio-Element unterstützen Wir empfehlen Ihnen, sich ein neues Browser bekommen </ p> <p> ";.. document.body.appendChild (e); e. play ()} x (e) {e.className + = "" + s + "" + o} function T (e) {e.className + = "" + s + "" + u [Math.floor (Math.random ( ) * u.length)]} Funktion N () {var e = document.getElementsByClassName (s); var t = new RegExp ("\\ b" + s + "\\ b"); for (var n = 0; n <e.length;) {e [n] .classname = e [n] .className.replace (t "")}} var e = 30; var t = 30; var n = 350; var r = 350 ; var i = "// s3.amazonaws.com/moovweb-marketing/playground/harlem-shake.mp3";var s =" mw-harlem_shake_me "; var o =" im_first "; var u = [" im_drunk ", "im_baked", "im_trippin", "im_blown"]; var a = "mw-strobe_light"; var f = "// s3.amazonaws.com/moovweb-marketing/playground/harlem-shake-style.css";var l = "mw_added_css"; var b = g (); var w = y (); var C = document.getElementsByTagName ("*"); var k = null; for (var L = 0; L <C.length; L ++) {var A = C [L], und wenn (v (A)) {if (E (A)) {k = A; Pause}}} if (A === null) {console.warn ("Could nicht finden, einen Knoten in der richtigen Größe Bitte versuchen Sie eine andere Seite ");.. Rück} c (); S (); var O = []; for (var L = 0; L <C.length; L ++) { var A = C [L], und wenn (v (A)) {O.push (A)}}}) () Schritt 3: Bearbeiten des Codes Um die Website geht es zu, drücken Sie "Strg" + "F" und geben Sie "http://www.instructables.com 'bearbeiten Nachdem Sie das tun, finden es und ändern Sie die URL Um die Musik, die spielt, drücken Sie "Strg" + "F" und geben Sie "s3.amazonaws.com/moovweb-marketing/playground/harlem-shake.mp3 'ändern Nachdem Sie das tun, finden es und ändern Sie die URL zu dem bevorzugten Songs. $(function() {$("a.lightbox").lightBox();});

      15 Schritt:Schritt 1: Teileliste Schritt 2: Erstellen Sie das NXT-Gerät (Teil 1) Schritt 3: Erstellen Sie das NXT-Gerät (Teil 2) Schritt 4: Erstellen Sie das NXT-Gerät (Teil 3) Schritt 5: Erstellen Sie das NXT-Gerät (Teil 4) Schritt 6: Bluetooth-Konfiguration Schritt 7: Computerprogramme Schritt 8: Konfigurieren des Programs (Bluestacks) Schritt 9: Konfigurieren des Programs (NXT-Fernbedienung) Schritt 10: Konfigurieren des Programs (GlovePIE) Schritt 11: Erstellen Sie die Hardware (Goggles) Schritt 12: Erstellen Sie die Hardware (Mikrofon) Schritt 13: Schließen Sie das Intruder auf den PC Schritt 14: Anreise Alles erfolgreich angelaufen Schritt 15: Steuerung des Auto

      Diese instructable zeigt Ihnen, wie Sie eine Bewegung und Sprache gesteuert Auto mit einem Wi-Fi-Kamera und Bluetooth-Kontrollen zu schaffen. Fahren Sie mit dem nächsten Schritt für eine Stückliste. Ich wurde von einem Produkt gesehen inspiriert hier Schritt 1: Teileliste Wispi Intruder Mindstorms NXT Wiimote Schutzbrille Infrarot-LEDs X3 One Regular LED (grün) Kabelcomputerprogramme (Mehr Informationen zu späteren Schritten) Wifi Mikrofon (Ich werde Ihnen zeigen, wie man einen zu bauen) und Kopfhörer Bluetooth Dongle 15-Ohm-Widerstand (Braun, Grün Schwarz) 9V Batterie Schritt 2: Erstellen Sie das NXT-Gerät (Teil 1) Alle 45 Artikel anzeigen Befolgen Sie die Bilder und bauen die NXT-Treiber. Dies dauert etwa 2 hours.Step 3: Erstellen Sie das NXT-Gerät (Teil 2) Alle 32 Artikel anzeigen Weiter BuildingStep 4: Erstellen Sie das NXT-Gerät (Teil 3) Alle 41 Artikel anzeigen Fast fertig, fahren Sie mit Schritt 5: Erstellen Sie das NXT-Gerät (Teil 4) Alle 19 Artikel anzeigen FERTIG !!!!! Schritt 6: Bluetooth-Konfiguration Schalten Sie Bluetooth und eine Verbindung mit dem Wiimote. Der Name sollte Nintendo RVL-CNT-01 sein. Danach auf den NXT anschließen, indem du bluetooth auf dem NXT. Dann müssen Sie in den Eigenschaften des NXT einmal auf dem Computer verbunden und finden Sie die Serial Port es angeschlossen ist. In meinem Fall bin ich auf COM5 verbunden. Minimieren Sie die Bluetooth-Einstellungen und gehen Sie zum nächsten step.Step 7: Computerprogramme Wenn Sie Schwierigkeiten haben Erschließung oder Nutzung eines dieser Programme SENDEN SIE MIR UND Ich schicke Ihnen alle Dateien, die Sie benötigen ordentlich in einer ZIP-Datei gepackt Sie müssen die folgenden Programme: Bluestacks (Die neueste Version kann heruntergeladen werden hier ) GlovePIE (Die neueste Version kann heruntergeladen werden hier ) NXT-Fernbedienung für PC Schritt 8: Konfigurieren des Programs (Bluestacks) Zuerst müssen Sie Bluestacks installieren. Dies ist ein Android-Emulator, die wir verwenden werden, um die WiFi-Kamera zu sehen. Einmal installiert, geöffnet und die Suche nach der Anwendung aufgerufen Eindringling Controller und downloaden Sie die Applikation. Bluestacks zu minimieren und weiter zum nächsten step.Step 9: Konfiguration der Programme (NXT-Fernbedienung) Öffnen NXT-Remote und stellen Sie alle Einstellungen die selben wie die Abbildung. Wenn Sie eine Verbindung zu Ihrem Serial Port (in der oberen linken Ecke des Bildes zu sehen) zu beenden klicken Sie auf "aktivieren keyboard" (unten rechts). Nachdem Sie all das getan haben, zu minimieren das Programm und gehen Sie zum nächsten step.Step 10: Konfiguration der Programme (GlovePIE) GlovePIE ist, wo wir sein werden, um die Programmierung des NXT Sprachbefehle zu tun und mit dem NXT-remote zu interagieren. Öffnen GlovePIE und kopieren Sie das folgende Skript in sie, speichern Sie es als, was Sie wollen (Minimieren, wenn fertig): wiimote.Led1 = 1 var.DotDist = .14 var.DotDepth = 0,045 var.startZ = var.DotDist / Tan (Abs (var.pright-var.pleft) * 45) FakeTrackIR.z = glatt (var.pos [3], 50) FakeTrackIR.yaw = smooth (var.yaw, 50) * 30 FakeTrackIR.roll = glatt (var.roll, 50) FakeTrackIR.pitch = smooth ((var.pitch - 30), 50) * 10 var.scenter = [1024,768,0] / 2/1024 var.p1 = [wiimote.dot1x / 1024 wiimote.dot1y / 1024,0] var.p2 = [wiimote.dot2x / 1024 wiimote.dot2y / 1024,0] var.p3 = [wiimote.dot3x / 1024 wiimote.dot3y / 1024,0] wenn wiimote.dot1x <wiimote.dot2x dann wenn wiimote.dot1x <wiimote.dot3x dann var.pleft = var.p1 var.pmid = 0 sonst var.pleft = var.p3 var.pmid = var.p1 endif wenn wiimote.dot2x <wiimote.dot3x dann var.pright = var.p3 var.pmid = var.p2 sonst var.pright = var.p2 wenn var.pmid = 0 dann var.pmid = var.p3 endif sonst wenn wiimote.dot2x <wiimote.dot3x dann var.pleft = var.p2 var.pmid = 0 sonst var.pleft = var.p3 var.pmid = var.p2 endif wenn wiimote.dot1x <wiimote.dot3x dann var.pright = var.p3 var.pmid = var.p1 sonst var.pright = var.p1 wenn var.pmid = 0 dann var.pmid = var.p3 endif endif wenn wiimote.dot1vis und wiimote.dot2vis und dann wiimote.dot3vis var.posZ = var.DotDist / Tan (Abs (var.pright-var.pleft) * 45) var.pmidoff = Abs ((var.pright-var.pleft) Kreuz (var.pmid-var.pleft)) / Abs (var.pright-var.pleft) ^ 2 var.pmidcent = ((var.pright-var.pleft) dot (var.pmid-var.pleft)) / Abs (var.pright-var.pleft) ^ 2 var.turn = atan ((0,5-var.pmidcent) / (var.DotDepth * Cos (var.pitch) /var.DotDist)) debug = var.turn if (var.turn <(-2)), dann key.D = true end if if (var.turn> 5) dann Schlüssels = true end if if (var.turn> -2) && (var.turn <5), dann Schlüssels = false key.D = false end if endif wenn der ("hören", 5), dann var.listen = true sagen ("Spracherkennung aktiviert") end if wenn der ("Auf Wiedersehen", 5) oder der ("Stop-Hören"), dann var.listen = false sagen ("Spracherkennung deaktiviert") end if wenn var.listen = true wenn der ("close") oder der ("exit") Presse Keyboard.Alt Presse Keyboard.F4 warten 100ms frei Keyboard.F4 Release Keyboard.Alt sagen ("Closing") end if wenn der ("Vorwärts", 5) oder der ("vorwärts zu bewegen", 5) ("walk" 5) sagte ("move", 5) oder dann gesagt oder key.W = true key.S = false sagen ("weitere Fortschritte") end if wenn der ("Zurück", 5) oder der ("rückwärts", 5) oder der ("rückwärts", 5) oder der ("zurück zu bewegen", 5) oder der ("rückwärts bewegen", 5) oder der ( "rückwärts bewegen", 5), dann key.S = true key.W = false sagen ("rückwärts") end if wenn der ("Stopp", 5), dann key.W = false key.S = false sagen ("Stoppen") end if end if Weiter zur nächsten STEPStep 11: Erstellen Sie die Hardware (Goggles) Alle 8 Artikel anzeigen Halterung zwei LEDs auf beiden Seiten der Brille und eine in der Mitte. Folgen Sie dem Schaltplan, um sicherzustellen, dass Sie nicht über-Power LEDs zu tun. Vergessen Sie nicht, einen 15-Ohm-resistor.Step 12 verwenden: Erstellen Sie die Hardware (Mikrofon) Vorbereiten der Kopfhörer kann ein wenig schwierig sein. Sie benötigen ein Paar Kopfhörer, die es Ihnen nichts ausmacht ersten Zerstörung zu finden. Danach schneiden Sie die Ohrhörer zu entfernen und etwa 1 Zoll von der Kunststoffabdeckung von den Enden. Sie sollten über zwei Drähte von jeder Seite hervorsteht. Auf der einen Draht, haben Sie eine kupferfarbene Draht und ein blau / grünen Draht. Zum anderen haben Sie eine kupferfarbene Draht und ein rotes Kabel. Drehen Sie die Kupferdrähten zusammen und drehen Sie das rote Kabel mit dem blau / grün ein. Verbrennen die Enden zu enthüllen den inneren Draht und löten Sie die Twisted-Gruppen zusammen. Siehe das Bild. Dann verbinden Sie die beiden Drähte an beiden Seiten des Mikrofons. Jetzt müssen Sie sicherstellen, dass Ihr Computer erkennt das Mikrofon. Suchen und finden Sie das Programm in der Systemsteuerung als "ein Mikrofon eingestellt" und folgen Sie den Schritten, die es Sie, um das Gerät als microphone.Step 13 einzurichten: Schließen Sie den Eindringling an den PC Schalten Sie zunächst den Eindringling. Dann in Ihre WiFi-Einstellungen zu gehen und finden, die Eindringling darauf aufgelistet worden. Schließen Sie zu diesem Netz und gehen Sie zum nächsten step.Step 14: Getting Alles erfolgreich angelaufen Öffnen Sie jede Datei, die Sie minimiert hatten. Am Bluestacks, laufen der Eindringling Controller App und drücken Sie verbinden. Nach ein paar Sekunden sollten Sie sehen eine Live-Video-Feed von der Kamera auf dem Auto. Als nächstes müssen Sie über die Schutzbrille setzen und die Position der Wiimote in einem 45-Grad-Winkel nach rechts an Ihnen gegenüber. Nun halten Sie Ihren Kopf ganz still und Blick geradeaus, offen und führen Sie das Programm GlovePIE. jetzt, noch halten Sie Ihren Kopf immer noch, wählen Sie den NXT-Remote-Programm und aktivieren Sie die Tastatureingabe. Dieses Programm wird immer müssen dafür ausgewählt werden, um zu arbeiten, so haben Bluestacks läuft bei einer kleineren Größe, so dass der NXT-Fernbedienung kann direkt daneben ausgewählt werden. Zum nächsten Schritt für den Unterricht auf die Steuerung der car.Step 15: Steuerung des Auto Aktivieren Sie die Sprachsteuerung: sagen Sie "hören" Deaktivieren Sie die Sprachsteuerung: sagen "nicht weiter Musik hören" oder "Auf Wiedersehen" Schließen Sie das Programm: sagen, "exit" oder "close" Bewegen Sie das Fahrzeug nach vorne: sagen, "vorwärts", "vorwärts", "Fuß" oder "move" Bewegen Sie das Fahrzeug nach hinten: sagen, "Zurück", "hinten", "hinten", "zurück zu bewegen", "rückwärts bewegen" oder "rückwärts zu bewegen" Halten Sie das Fahrzeug an einer Bewegung: sagen Sie "Stopp" Drehen Sie das Auto nach links: links schauen Drehen Sie das Auto direkt: richtig aus SPASS HABEN!!!!!!!!

        18 Schritt:Schritt 1: Bevor Sie beginnen ... Schritt 2: Montage x-Achsen-Bewegung Teil 1 Schritt 3: Montage x-Achsen-Bewegung Teil 2 Schritt 4: Montage x-Achsen-Bewegung Teil 3 Schritt 5: Montage y-Achsen-Bewegung Teil 1 Schritt 6: Assembly y-Achsen-Bewegung Teil 2 Schritt 7: Montage z-Achse Struktur Teil 1 Schritt 8: Montage z-Achse Struktur Teil 2 Schritt 9: Montage z-Achsen-Struktur Teil 3 Schritt 10: Montage z-Achsen-Struktur Teil 4 Schritt 11: Montage z-Achsen-Struktur Teil 5 Schritt 12: Montage z-Achsen-Struktur Teil 6 Schritt 13: Montage z-Achsen-Struktur Teil 7 Schritt 14: Montage z-Achsen-Strukturteil 8 Schritt 15: Montage z-Achsen-Struktur Teil 9 Schritt 16: Methoden der Druck Schritt 17: Programmierung Schritt 18: Starten Sie den Druck!

        Wenn Sie meine Interessen lesen, werden Sie wahrscheinlich wissen, dass ich liebe das Studium der 3D-Drucker haben wir in der Schule, um zu sehen, wie es funktioniert. Wenn jemand mehr über den 3D-Druck wissen will, gibt es eine wirklich coole Artikel hier . Wie auch immer, etwa einen Monat verbrachte ich (als Ingenieurstudent weiß ich, wie wichtig Forschung ist) skizzieren Entwürfe und Bau von Prototypen. Danach fand ich endlich ein Design, das meine Bedürfnisse angepasst. Dieser Drucker ist auf das Gehirn eines mindstorm NXT basiert, weil es einfach zu programmieren und zu meinem Arduino-Chip durchgebrannt ist, und ich bin immer noch versuchen, sparen Sie bis zu einen neuen zu kaufen. Dieser Drucker druckt nur so genau, wie Sie es programmieren, aber ich werde Ihnen zeigen, die beste Methode der Programmierung. Der Entwurf umfaßt x-Achse und y-Achsen-Bewegung sowie z-Achsen-Bewegung verwendet werden, um das Druckmaterial abzupumpen. Zeit, um: ca. 4 Stunden, wenn Sie vor Ihnen haben alle Stücke Parts: Lego Mindstorms-Kit und verschiedene lego-Box sowie eine Heißklebepistole, Alufolie, Schnur, ein Drucker, Tinte für den Drucker, einem Computer, und Macht, dich zu Hause. Was haben Sie zu machen: Ich habe die oben genannten Teile und etwa ein Monate im Wert von Forschung, um mein Design für ein 3D-Drucker, der eine glühende Material ausdruckt so genau wie Sie es Programm zu entwickeln. Nicht annähernd so gut wie im industriellen, aber ein großes Projekt dennoch. Wie haben Sie es: Ich arbeitete allein und verwendet die 3D-Drucker in meiner Schule als Hinweis auf, wie man bauen. Ich hatte etwa 50 verschiedene Design-Skizzen, bevor ich zum Prototyp und dann musste ich 3 Prototypen. Wo haben Sie es: Ich schuf dieses in Teil in der Schule (Skizzen), aber meistens zu Hause. Ich habe auch immer mehr Zeit ich frei von Hausaufgaben, an diesem Projekt zu arbeiten. Was haben Sie gelernt: Ich habe gelernt, wie wichtig eine gute und gründliche Forschung sowie Raffination meine Fähigkeiten als engineer.Step 1: Bevor Sie beginnen ... Die Art der 3D-Druck in diesem instructable gezeigt wird als Extrusionsdruck. Dies ist, wenn eine heiße Material wird so programmiert, dass durch die Schicht auf eine Oberfläche, um ein 3D-Objekt zu erstellen brachte Schicht sein. Bei diesem Verfahren verwendet man Heißkleber als Material. Dieser Vorgang kann mehrere Farben zu verwenden! Wenn Sie einen Blick auf haben diesen Link können Sie sehen, wie Sie Ihre eigenen oder Sie Farbe Heißkleber Sticks kaufen. Motor Verwendet: zwei Motoren zum x-Achsen- und y-Achsen-Bewegung, einen Motor zum Aufbringen der Heißkleber. So funktioniert es: Die beiden Motoren bewegen eine Grundplatte jede Richtung und dann Heißkleber wird durch Verwendung der dritten Motor gestreamt. Klebepistole Vorbereitung: Damit dies funktioniert, müssen Sie öffnen Sie Ihren Heißklebepistole, und entfernen Sie den Auslöser. SICHERSTELLEN, DASS DIESE UNPLUGGED FIRST. Dadurch kann der Heißkleber sein frei nach unten gedrückt. Achten Sie darauf, keine Verdrahtung innerhalb stören und daran erinnern, wie diese Unternehmen die Demontage Schrauben unter stickers.Step 2 verstecken: Assembly x-Achsen-Bewegung Teil 1 Alle 7 Artikel anzeigen Teil 1 behandelt die Grundlagen x-Achsen-Bewegung. Es gibt einige Teile, die nicht in dieser Stufe enthalten sind, die Sie entweder zu finden oder Sie alternativesStep 3 finden: Assembly x-Achsen-Bewegung Teil 2 Alle 12 Artikel anzeigen Eine Fortsetzung der Grund x-Achse movementStep 4: Baugruppen x-Achsen-Bewegung Teil 3 Vorbereitung auf die y-Achse movementStep 5: Montage y-Achsen-Bewegung Teil 1 Dieser Teil wird in den Grundgangstrukturen gehen und wie sie interagieren, um y-Achse movement.Step 6 erreichen: Assembly y-Achsen-Bewegung Teil 2 Alle 8 Artikel anzeigen Dies zeigt, wie Sie die Basis-Plattform und die Platten, die es in placeStep 7 halten bauen: Assembly z-Achse Struktur Teil 1 Alle 16 Artikel anzeigen Der Beginn einer sehr großen 3D-Drucker ... Schritt 8: Montage z-Achse Struktur Teil 2 Alle 7 Artikel anzeigen Verbinden der Struktur, um die x-Achse movementStep 9: Montage z-Achse Strukturteil 3 Alle 7 Artikel anzeigen Bau des ruhenden Plattform für die z-Achse Klebstoffauftrag mechanicsStep 10: Assembly z-Achse Strukturteil 4 Alle 10 Artikel anzeigen Machen den Kleber-gun Halteplattform und zur Ergänzung der Höhe des printerStep 11: Assembly z-Achse Strukturteil 5 Alle 16 Artikel anzeigen Dies fügt dringend benötigte Unterstützung und das Gewicht auf die Rückseite des Druckers. Es enthält auch zwei Berührungssensoren, die Sie in Ihre Programmierung implementieren können, wenn Sie wishStep 12: Assembly z-Achsen-Struktur Teil 6 Alle 8 Artikel anzeigen Vorbereiten der Klebepistole connectionsStep 13: Assembly z-Achse Struktur Teil 7 Alle 16 Artikel anzeigen Dies ist ein sehr wichtiger Getriebezug zu Verzögerungen bei den Motordrehzahl und erhöht die Ausgangsleistung. Dies sorgt für eine sehr präzise z-Achse linear motorStep 14: Assembly z-Achsen-Strukturteil 8 Alle 15 Artikel anzeigen Dies ist eine Plattform, um die z-Achse Drücker auf Linie zu halten und sicherzustellen, dass es nicht zu weit der einen oder anotherStep 15 bewegen: Assembly z-Achsen-Struktur Teil 9 Alle 8 Artikel anzeigen Dies zeigt Teile erforderlich, die z-Achsen-Schieber, um den Rest des printerStep 16 befestigen: Methoden der Druck Dinge, die Sie auf drucken können: Ich würde empfehlen, den Druck auf Alufolie als die Heißkleber nicht wirklich dabei zu bleiben, vor allem, wenn Sie es einfrieren. Ich habe gefunden, dass die Zugabe von Öl oder anderen nicht polaren Substanzen, so daß der Klebstoff eine geringe Gefahr von Verkleben mit der Folie. Ich empfehle das Drucken direkt auf den Kunststoff für ein paar Gründe: Wenn die Kunststoffschmelzen, werden schlimme Dinge passieren; wenn schlimme Dinge passieren, ich übernehmen keine Verantwortung. Nur nicht gerade drucken auf die Plattform. Seien Sie sicher zu it.Step 17: Programmierung Da die Programmierung braucht viel Motor Nutzung, die auf der Software verlangsamt, würde ich die Verwendung von MYBLOCKS empfehlen. Wenn Sie nicht wissen, wie sie zu benutzen, die Sie sehen können, wie hier . Schritte der Programmierung: 1. Drucken Sie ein Bild von, was auch immer Sie drucken. Wenn Sie etwas mit mehreren Schichten Druck, machen dieses eine Schicht zu einer Zeit und machen Sie sich in Ordnung zu halten. Ich würde vorschlagen, dass eine separate MYBLOCK für jede Schicht des Druck. 2. Gehen Sie in das NXT und zu bewegen, um "Ansicht". Wählen Sie dann den Motor und verschieben. Anschließend können Sie programmieren die Motoren in Grad. Ich würde die Motordrehzahl zwischen 20 und 40 Prozent zu halten. Wenn Sie Kurven programmieren wollen, können Sie deaktivieren 'warten für die Fertigstellung "auf dem ersten Motorblock und halten Sie auf den nächsten. Dann werden sie zur gleichen Zeit ausgeführt werden, und wenn Sie haben x und y-Achse Bewegung können Sie eine geschwungene Bewegung zu erzeugen. Während des gesamten Build wurden Funktionen hinzugefügt, die für eine einfachere Datenerfassung zu machen. 3. Verwenden Sie klingt zu sagen, wenn es fertig ist, oder wenn die Klebepistole wurde von Klebstoff ausgeführt. Diese sind sehr helpful.Step 18: Starten Sie den Druck! Sie können eine große Menge von Dingen, die mit diesem Drucker drucken. Ich begann durch Drucken ein paar Schichten (5, glaube ich), eine 3D 'S' für Searx machen. Sobald Sie mit der Programmierung Schichten, können Sie für etwas größer, wie eine 3D-Kopf oder etwas zu gehen. Wenn Sie etwas von diesem Drucker zu machen, schreiben Sie einen Kommentar mit einem Bild! Nach dem Druck, gehen Sie vor und schalten Sie das Licht aus und ziehen Sie ein UV-Licht, um Ihre Erstellung glühen!

        Seiten: