Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino Spybot

Componenten en benodigdheden

Arduino UNO
× 1
Arduino Proto Shield
Je kunt elk ander soldeerbaar breadboard met pin-headers gebruiken
× 1
Adafruit Motor/Stepper/Servo shield V2
× 1
SM-S4306R continue rotatieservo
× 1
DC-motor (generiek)
× 4
Motorband
× 4
Jumperdraden (algemeen)
Deze heb je nodig voor de motoren
× 8
4xAA-batterijhouder
× 2
AA-batterijen
× 8
Mobiele telefoon
Ik heb een Nokia Lumia 520 gebruikt voor het project
× 1
Mobiele telefoonhouder
× 1
Aangepast chassis
Ik heb een eenvoudig houten bord gebruikt
× 1

Apps en online services

Johnny-Five

Over dit project

Korte introductie

Dit is een eenvoudige vierwielige auto die bestuurbaar is via een bluetooth-verbinding. De auto kan elke mobiele telefoon bevatten die als IP-camera kan worden gebruikt. Ik besloot om deze robot met javascript te maken met behulp van een node-webserver waar ik kan volgen waar de robot naartoe gaat.

Je kunt het circuit van de belangrijkste onderdelen zien in figuur 1.

Na het draaien van de server krijg ik een scherm met een introductie over het besturen en een venster voor cameraweergave (figuur 2).

En ja, deze lay-out is responsive.

Het onderstel

In deze versie van de bot besloot ik het chassis zelf te maken. Als u geen boormachine heeft of gewoon een eenvoudigere oplossing wilt, kunt u bij een breed scala aan kunststof carrosserieën kopen.

Ik ging de weg op om mijn eigen chassis te maken en dat was niet zo makkelijk bij lijkt. De belangrijkste regel is dat je de banden zo dicht mogelijk bij elkaar moet zetten als je differentieel wilt kiezen voor het keren. Je kunt de belangrijkste fouten en basisregels voor natuurkunde lezen in de volgende link:

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

Een andere uitdaging was het bevestigen van de gelijkstroommotoren aan het chassis. In mijn geval heb ik hier geen speciaal onderdeel voor, dus besloot ik een aantal kabelbinders (150/3,5) voor de taak te kiezen. Voor een goede bevestiging van de banden moest ik de gaten zo nauwkeurig mogelijk boren en 2 kabelbinders gebruiken voor één gelijkstroommotor. Helaas bestaat de kans dat de motoren niet recht genoeg passen en dat je auto een beetje naar links of rechts beweegt als je vooruit en achteruit stuurt.

De batterijen

Voor het voeden van de borden en de motoren besloot ik om een ​​enkele gelijkstroomvoeding voor de taak te kiezen. Het chassis heeft geen ruimte voor een 8 x AA-batterijhouder, dus ik moest wat aanpassingen maken, dus bevestigde ik twee 4 x AA-houders met 2 schroeven aan elkaar. Hiervoor moest ik ook in het plastic boren.

Aanzetten

In mijn geval voed ik het Arduino Uno-bord met 8 x AA oplaadbare batterijen. Dit is voldoende vermogen om ook het motorschild te dienen. Er zit een jumper op dit schild die verwijderbaar is, zodat je motorschild geen stroom krijgt van de Arduino. In dit geval kunt u uw schild afzonderlijk van stroom voorzien met behulp van de stroompinnen erop. U kunt meer lezen over de verschillende voedingsopties in de volgende link:

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

Draadloze verbinding

Ik heb een HC-06 bluetooth-module gebruikt om verbinding te maken tussen de auto en mijn computer. Ik wilde zo min mogelijk kabels gebruiken, dus besloot ik een aangepast Arduino-schild te bouwen door de bluetooth-module op het prototype-schild te plaatsen en leeg te maken, de bedrading onder het schild te doen en enkele pin-headers te solderen voor het juiste bevestigingsmechanisme. U kunt het resultaat snel bekijken in figuur 3 en figuur 4.

Het goede ding is dat je de Bluetooth-module op elk moment van het schild kunt loskoppelen, omdat deze niet aan het bord is gesoldeerd.

Volg de instructies van deze site om de Bluetooth-module in te stellen:

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

Beweging

De robot kan met differentieelbesturing vooruit, achteruit en draaien. De camerahouder is bevestigd aan een continu draaiende servo zodat je rond kunt kijken met de telefoon zonder de auto zelf te verplaatsen. U kunt een korte demonstratie bekijken in de volgende video.

Mobiele telefoon

Ik heb een Nokia Lumia 520 gebruikt voor het project en de Win IP Camera-applicatie die je in de winkel kunt vinden:

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

Over de code

Als javascript-ontwikkelaar heb ik besloten om een ​​node-webserver voor de controlepagina te maken en een paar mooie bibliotheken te gebruiken voor het uiterlijk en de verbetering van de codesyntaxis. Je kunt de volledige lijst zien op mijn github-pagina en in het volgende gedeelte.

Ik besloot te kiezen voor modularisatie zowel in de frontend als in de backend. Hier is het startpunt van de applicatie:

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

Aan de voorkant gebruik ik ook scheiding voor elke module:

importeer {moveWheels, stopWheels} uit './wheelsControl'; importeer {moveServo, stopServo} uit './servoControl'; document.onkeydown =checkKeyDown;document.onkeyup =checkKeyUp; functie checkKeyDown(e) { moveWheels(e.keyCode); moveServo(e.keyCode);} functie checkKeyUp(e) {stopWheels(e.keyCode); stopServo(e.keyCode);} 

Kijk voor de volledige codebase in mijn github-repository hierboven.

Sortware-bibliotheken

  • express.js - om onze Nodejs-toepassing te verbeteren
  • johnny-five - voor het gebruik van Arduino Javascript-besturings-API
  • socket.io- voor het gebruik van websockets om communicatie tussen back-end en front-end tot stand te brengen
  • susy - voor het maken van de lay-out en het responsieve ontwerp
  • google material design - voor het gebruik van materiële elementen
  • gulpJS - voor taakautomatisering
  • BabelJS - voor transpileren van EcmaScript 6
  • Browserify - voor moduleondersteuning

Laatste woorden

Ik ben een beginner in deze IoT-wereld en dit is mijn eerste project. Ik wil niet zeggen dat ik optimale oplossingen heb gebruikt, maar hopelijk kun je wat nuttige informatie vinden in deze gids.

Code

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

Schema's

arduino-spybot.fzz

Productieproces

  1. Bitmap-animatie op ILI9341 TFT Touchscreen Display Shield
  2. Web-gestuurde DMX-controller
  3. FlickMote
  4. Zelfgemaakte tv B-Gone
  5. Hoofdklok
  6. HSVClock
  7. Android bestuurd speelgoed met Raspberry Motor Shield
  8. Vind mij
  9. Arduino Power
  10. Tech-TicTacToe
  11. Arduino Quadruped