Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino Spybot

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Arduino Proto Shield
Sie können jedes andere lötfähige Steckbrett mit Stiftleisten verwenden
× 1
Adafruit Motor/Stepper/Servo Shield V2
× 1
SM-S4306R Kontinuierlicher Rotationsservo
× 1
DC-Motor (generisch)
× 4
Motorreifen
× 4
Jumper (generisch)
Diese brauchst du für die Motoren
× 8
4xAA Batteriehalter
× 2
AA-Batterien
× 8
Mobiltelefon
Ich habe ein Nokia Lumia 520 für das Projekt verwendet
× 1
Handyhalterung
× 1
Benutzerdefiniertes Chassis
Ich habe ein einfaches Holzbrett verwendet
× 1

Apps und Onlinedienste

Johnny-Five

Über dieses Projekt

Kurze Einführung

Dies ist ein einfaches vierrädriges Auto, das über eine Bluetooth-Verbindung gesteuert werden kann. Das Auto kann jedes Mobiltelefon aufnehmen, das als IP-Kamera verwendet werden kann. Ich habe mich entschieden, diesen Roboter mit Javascript zu erstellen, indem ich einen Knoten-Webserver verwende, auf dem ich überwachen kann, wohin der Roboter geht.

Sie können die Schaltung der Hauptteile in Abbildung 1 sehen.

Nach dem Ausführen des Servers erhalte ich einen Bildschirm mit einer Einführung in die Steuerung und einem Fenster für die Kameraansicht (Abbildung 2).

Und ja, dieses Layout ist responsiv.

Das Chassis

In dieser Version des Bots habe ich beschlossen, das Chassis selbst zu bauen. Wenn Sie keine Bohrmaschine haben oder einfach nur eine einfachere Lösung suchen, können Sie aus einer Vielzahl von Kunststoffkarosserien kaufen.

Ich ging den Weg, mein eigenes Chassis zu bauen, und es war nicht so einfach, wie es schien. Die wichtigste Regel ist, dass Sie die Reifen so nah wie möglich aneinander legen müssen, wenn Sie zum Wenden eine Differenziallenkung wählen möchten. Die wichtigsten Fehler und grundlegenden physikalischen Regeln können Sie unter folgendem Link nachlesen:

http://www.rakeshmondal.info/4-Wheel-Drive-Robot-Design

Eine weitere Herausforderung war die Befestigung der Gleichstrommotoren am Chassis. In meinem Fall habe ich dafür kein spezielles Teil, also habe ich mich für einige Kabelbinder (150/3,5) entschieden. Für die richtige Befestigung der Reifen musste ich die Löcher so genau wie möglich bohren und 2 Kabelbinder für einen Gleichstrommotor verwenden. Leider besteht die Möglichkeit, dass die Motoren nicht so gerade wie genug sitzen und sich Ihr Auto ein wenig nach links oder rechts bewegt, wenn Sie vorwärts und rückwärts steuern.

Die Batterien

Für die Stromversorgung der Boards und der Motoren habe ich mich für ein einzelnes DC-Netzteil entschieden. Das Chassis hat keinen Platz für einen 8 x AA-Batteriehalter, also musste ich einige Anpassungen vornehmen, also befestigte ich zwei 4 x AA-Halter mit 2 Schrauben aneinander. Dafür musste ich auch den Kunststoff bohren.

Stromversorgung

In meinem Fall betreibe ich das Arduino Uno-Board mit 8 x AA-Akkus. Dies ist genug Leistung, um auch die Motorabschirmung zu versorgen. Es gibt einen Jumper auf diesem Schild, der abnehmbar ist, damit Ihr Motorschild keinen Strom vom Arduino erhält. In diesem Fall können Sie Ihren Shield separat mit den Power-Pins darauf versorgen. Unter folgendem Link können Sie sich über verschiedene Energieoptionen informieren:

https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/powering-motors

Drahtlose Verbindung

Ich habe ein HC-06 Bluetooth-Modul verwendet, um eine Verbindung zwischen dem Auto und meinem Computer herzustellen. Ich wollte so wenig Kabel wie möglich verwenden, also beschloss ich, ein benutzerdefiniertes Arduino-Shield zu bauen, indem ich das Bluetooth-Modul auf ein leeres Prototyp-Shield legte, die Verkabelung unter dem Shield vornahm und einige Stiftleisten für den richtigen Befestigungsmechanismus lötete. In Abbildung 3 und Abbildung 4 können Sie sich das Ergebnis schnell ansehen.

Das Gute ist, dass Sie das Bluetooth-Modul jederzeit vom Shield abdocken können, da es nicht mit der Platine verlötet ist.

Um das Bluetooth-Modul einzurichten, folgen Sie bitte den Anweisungen auf dieser Seite:

https://github.com/rwaldron/johnny-five/wiki/Getting-Started-with-Johnny-Five-and-JY-MCU-Bluetooth-Serial-Port-Module

Bewegung

Der Roboter kann sich mit Differentiallenkung vorwärts, rückwärts und drehen bewegen. Der Kamerahalter ist an einem Servo mit kontinuierlicher Rotation befestigt, sodass Sie sich mit dem Telefon umsehen können, ohne das Auto selbst zu bewegen. Eine kurze Demonstration können Sie im folgenden Video sehen.

Mobiltelefon

Ich habe ein Nokia Lumia 520 für das Projekt und die Win IP Camera-Anwendung verwendet, die Sie im Store finden können:

https://www.microsoft.com/en-us/store/p/win-ip-camera/9nblgggz4xb1

Über den Code

Als Javascript-Entwickler beschloss ich, einen Node-Webserver für die Kontrollseite zu erstellen und einige ausgefallene Bibliotheken für das Aussehen und Verhalten und die Verbesserung der Code-Syntax zu verwenden. Sie können die vollständige Liste auf meiner Github-Seite und im nächsten Abschnitt sehen.

Ich habe mich für die Modularisierung sowohl im Frontend als auch im Backend entschieden. Hier ist der Einstiegspunkt der Anwendung:

var boardModule =require('./src/boardModule'), servoModule =require('./src/servoModule'), motorModule =require('./src/motorModule'); boardModule.initBoard().then(function() { motorModule.initMotors(); servoModule.initServo();}); 

In der Frontend-Seite verwende ich auch die Trennung für jedes Modul:

importieren Sie {moveWheels, stopWheels} von './wheelsControl';importieren Sie {moveServo, stopServo} von './servoControl'; document.onkeydown =checkKeyDown;document.onkeyup =checkKeyUp; Funktion checkKeyDown(e) { moveWheels(e.keyCode); moveServo(e.keyCode);} Funktion checkKeyUp(e) { stopWheels(e.keyCode); stopServo(e.keyCode);} 

Die vollständige Codebasis finden Sie in meinem obigen Github-Repository.

Sortware-Bibliotheken

  • express.js - um unsere Nodejs-Anwendung zu verbessern
  • johnny-five - für die Verwendung der Arduino Javascript-Steuerungs-API
  • socket.io- für die Verwendung von Web-Sockets, um die Kommunikation zwischen Back-End und Front-End herzustellen
  • susy - zur Erstellung des Layouts und des Responsive Designs
  • Google Material Design – um materielle Elemente zu verwenden
  • gulpJS - zur Aufgabenautomatisierung
  • BabelJS - zum Transpilieren von EcmaScript 6
  • Browserify - für Modulunterstützung

Letzte Worte

Ich bin ein Anfänger in dieser IoT-Welt und dies ist mein erstes Projekt. Ich möchte nicht sagen, dass ich optimale Lösungen verwendet habe, aber hoffentlich finden Sie in diesem Handbuch einige nützliche Informationen.

Code

Github
https://github.com/dominikfilkus/arduino-spybot-V2

Schaltpläne

arduino-spybot.fzz

Herstellungsprozess

  1. Bitmap-Animation auf dem ILI9341 TFT-Touchscreen-Displayschild
  2. Webbetriebener DMX-Controller
  3. FlickMote
  4. Selbstgemachter Fernseher B-Gone
  5. Hauptuhr
  6. HSVClock
  7. Android-gesteuertes Spielzeug mit Raspberry Motor Shield
  8. Finde mich
  9. Arduino-Power
  10. Tech-TicTacToe