Bot humain autonome/RC (3 / 4 étapes)

Étape 3: Electronique

L’électronique, que j’ai choisi d’utiliser est tous de parallaxe. J’utilise 2 cachet de base usb Commission scolaire microcontrôleurs. L’un est un Basic Stamp bs2 et autre un timbre bs2PX de haute performance. Je suis également en utilisant un microcontrôleur de l’hélice qui se trouve dans le corps. Il y a un contrôleur de servo d’hélice, 24 LED s’allume et nombreux capteurs différents, dont un capteur de température, accéléromètre et capteur bluetooth etc..

Un BASIC Stamp est un ordinateur monocarte qui exécute l’interpréteur de langage de parallaxe PBASIC dans son microcontrôleur. Code du développeur est stocké dans une EEPROM, ce qui peut également être utilisée pour stocker les données. La langue PBASIC comporte des commandes facile à utiliser pour base i/o, comme allumer les appareils ou d’éteindre, interfaçage avec capteurs, etc.. Des commandes plus avancées permettent à l’interface de module BASIC Stamp avec d’autres circuits intégrés, communiquent entre eux et fonctionnent en réseaux.

  • Contrôler les servos est un contrôleur de servo de parallaxe hélice USB qui exploite les bras. Vous pouvez connecter jusqu'à 15 servos sur une seule carte. Le microcontrôleur basic stamp contrôle le contrôleur de servo permettant toutes les fonctions.
  • Les moteurs sont commandés par 2 contrôleurs de moteur de parallaxe HB-25 qui sont également contrôlés depuis un autre microcontrôleur Bs2.
  • J’ai beaucoup de différents capteurs que j’ai utiliser pour prendre des relevés de température, exploiter les phares automatiques avec obscurité % et de nombreuses autres applications.
  • Les microcontrôleurs sont les cerveaux de cette machine et les possibilités sont infinies en ce qui concerne les choses que vous êtes capable de faire quelques connaissances et expériences.

MODE DE RC :
Dans la mesure où à l’aide d’une télécommande RC pour conduire mon robot, cela se fait avec un 2.4GHzSpektrum DX5e système. Le récepteur est monté sur le robot et les câbles du moteur deux disques sont connectés à la boîte de culasse. Le contrôleur de moteur HB-25 est couru sur les impulsions de servo et la plupart des systèmes RC ne peut fonctionner avec certaines modifications. Avec cette technologie et ma caméra sans fil je peux s’asseoir à l’intérieur de ma maison et conduire mon robot autour du bloc et Découvre tout de mon PC. Très cool!

Il s’agit d’un code que j’ai écrit à charger dans le processeur afin de rendre ce robot à errer autour de manière autonome. Il erre et lorsqu’il rencontre un objet avec son capteur de ping qui utilisé pour être monté où la caméra est elle s’arrête et balaye la zone environnante pour un passage dégagé puis reprend sa mission. Comment programmer l’apprentissage prend du temps, mais une fois que vous l’essayez vous plaira et voulez en savoir plus. Tout cela est fait avec le logiciel éditeur de timbre de parallaxe.

Faites passer les fils de ping à top 3 port pin 13
Faites passer les fils de servo haut de la page 3 port pin 14
Faites passer les fils du HB-25 au top 3 port pin 15
HB-25 a sa propre source d’alimentation avec un interrupteur.
fils de raccordement sont courait depuis un HB-25 à l’autre connexion ensemble à être couru sur l’impulsion d’un servo.
"{$STAMP BS2}
"{$PBASIC 2,5}
'---[Object Detection et évitement]---

' -----[ I/O Definitions ]-------------------------------------------------

PingServo broche 14' PING))) Servo
Ping PIN 13' PING))) capteur
HB25 Broche 15' i/o pour HB-25

' -----[ Variables ]-------------------------------------------------------

pulseCount VAR Byte ' utilisé pour mesurer les tourne
distance de mot VAR ' Distance actuelle de l’objet
oldDistance mot VAR ' ancienne valeur de la Distance
contrer le mot VAR ' PING))) compteur de cycles
tâche VAR Nib ' tâche en cours
index mot VAR ' compteur pour rampe

' -----[ Initialization ]--------------------------------------------------

A faire : Boucle jusqu'à HB25 = 1' attente pour HB-25 Power Up
HB25 faible ' faire des broches d’e/s/faible
Attendez 5' PAUSE l’HB-25 à Initialize
PULSOUT HB25, 750' arrêter le moteur 1
PAUSE 1 ' 1 mS Delay
PULSOUT HB25, 750' Stop Motor 2

' -----[Main Code ]----------------------------------------------------

Principal :
FAIRE

Compteur = compteur + 1' Passive au compteur d’incrémentation

IF compteur > 10 puis
GOSUB Ping_Out
ENDIF

IF (distance > 40) puis ' est distace supérieure à 40 cm??
GOSUB Forward_Pulse
D’AUTRE
GOSUB Back_Up
GOSUB Ping_Around
ENDIF

BOUCLE

' -----[ Subroutines ]-----------------------------------------------------

Forward_Pulse :

POUR index = 250 à 250' rampe à la vitesse maximale
PULSOUT HB25, 750 + index ' moteur 1 avec impatience
PAUSE 1 ' 1 mS Delay pour moteur 2 Pulse
PULSOUT HB25, 750 - index ' moteur 2 inverser
PULSOUT PingServo, 750' valeur de Ping Servo impulsion vers l’avant
PAUSE DE 20
PROCHAINE
RETOUR

' *************************************************************************

Turn_Left :
POUR pulseCount = 1 à 35' tournez à gauche, sur 45 degrés
PULSOUT HB25, 750 + index ' moteur 1 avec impatience
PAUSE 1 ' 1 mS Delay pour moteur 2 Pulse
PULSOUT HB25, 750 + index ' moteur 2 inverser
PULSOUT PingServo, 750' valeur de Ping Servo impulsion vers l’avant
PAUSE DE 20
PROCHAINE
RETOUR

' *************************************************************************

Turn_Right: « tournez à droite, environ 45 degrés
POUR pulseCount = 1 à 35' nombre d’impulsions à tour
PULSOUT HB25, 750 - index "moteur 1 avec impatience
PAUSE 1 ' 1 mS Delay pour moteur 2 Pulse
PULSOUT HB25, 750 - index ' moteur 2 inverser
PULSOUT PingServo, 750' valeur de Ping Servo impulsion vers l’avant
PAUSE DE 20
PROCHAINE
RETOUR

' *************************************************************************

Back_Up: ' vers le haut
POUR pulseCount = 0 à 5' nombre d’impulsions de sauvegarde
PULSOUT HB25, 750' 1 moteur arrêté Fwd
PAUSE 1 ' 1 mS Delay pour moteur 2 Pulse
PULSOUT HB25, 750' 2 moteur arrêté Rev

PULSOUT PingServo, 750' valeur de Ping Servo impulsion vers l’avant
PAUSE DE 20
PROCHAINE
RETOUR

Ping_Out: ' PING)))
compteur = 0' Reset compteur de retard Passive
Ping faible ' Force PING))) ligne faible
PULSOUT Ping, 5' activer PING))) Pulse
PULSIN Ping, 1, distance ' recevoir les impulsions de retour
distance = distance ** 2257' calculer Distance
RETOUR

Ping_Around: « commencer à 180 degrés Pan-Scan
compteur = 0' Reset compteur de retard Passive
oldDistance = 30' vieux Distance valeurs actuelles
tâche = 0' priorité actuelle de tâche

' *************************************************************************

POUR pulseCount = 0 à 20' nombre d’impulsions à Spin
Ping faible ' Force PING))) ligne faible
PULSOUT PingServo, 1085' Ping Servo 90 gauche Pulse valeur
PULSOUT Ping, 5' activer PING)))
PULSIN Ping, 1, distance ' recevoir la valeur de Distance
PAUSE rafraîchissement retard de 20'
PROCHAINE

distance = distance ** 2257' calculer la Distance en cm
Distance de IF > oldDistance puis ' est distance > dernier passage dégagé
oldDistance = distance ' mise à jour d’oldDistance valeur
tâche = 1
ENDIF

' *************************************************************************

POUR pulseCount = 0 à 20' nombre d’impulsions à Spin
Ping faible ' Force PING))) ligne faible
PULSOUT PingServo, 850' Ping Servo 45 laissé Pulse valeur
PULSOUT Ping, 5' activer PING)))
PULSIN Ping, 1, distance ' recevoir la valeur de Distance
PAUSE rafraîchissement retard de 20'
PROCHAINE

distance = distance ** 2257' calculer la Distance en cm
Distance de IF > oldDistance puis ' est distance > dernier passage dégagé
oldDistance = distance ' mise à jour d’oldDistance valeur
tâche = 2
ENDIF

' *************************************************************************

POUR pulseCount = 0 à 20' nombre d’impulsions à Spin
Ping faible ' Force PING))) ligne faible
PULSOUT PingServo, 400' Ping Servo 45 Pulse juste valeur
PULSOUT Ping, 5' activer PING)))
PULSIN Ping, 1, distance ' recevoir la valeur de Distance
PAUSE rafraîchissement retard de 20'
PROCHAINE

distance = distance ** 2257' calculer la Distance en cm
Distance de IF > oldDistance puis ' est distance > dernier passage dégagé
oldDistance = distance ' mise à jour d’oldDistance valeur
tâche = 3
ENDIF

' *************************************************************************

POUR pulseCount = 0 à 20' nombre d’impulsions à Spin
Ping faible ' Force PING))) ligne faible
PULSOUT PingServo, 225' Ping Servo 90 pouls juste valeur
PULSOUT Ping, 5' activer PING)))
PULSIN Ping, 1, distance ' recevoir la valeur de Distance
PAUSE rafraîchissement retard de 20'
PROCHAINE

distance = distance ** 2257' calculer la Distance en cm
Distance de IF > oldDistance puis ' est distance > dernier passage dégagé
oldDistance = distance ' mise à jour d’oldDistance valeur
tâche = 4
ENDIF

ON tâche GOSUB Task0, Task1 Task2, Task3, Task4

distance = 50' empêcher Scan de bouclage

RETOUR

Task0: « vers l’avant était plus claire voie
GOSUB Turn_Right "cela pourrait signifier defile
GOSUB Turn_Right ' donc nous allons tourner autour
GOSUB Turn_Right ' vous pouvez modifier le comportement
GOSUB Turn_Right ' de l’une des tâches
RETOUR

Task1: ' gauche de 90 degrés a été plus claire
GOSUB Turn_Left
GOSUB Turn_Left
RETOUR

Task2: ' 45 ° à gauche était plus claire
GOSUB Turn_Left
RETOUR

Task3: ' 45 degrés droit était plus clair
GOSUB Turn_Right
RETOUR

Task4: ' 90 degrés droit était plus clair
GOSUB Turn_Right
GOSUB Turn_Right
RETOUR

Articles Liés

DISPOSALDRONE autonome de poubelle en plastique-le BOT-TRASH

DISPOSALDRONE autonome de poubelle en plastique-le BOT-TRASH

Pour construire unrobot poubelle automatique avec Arduino-microcontrôleur et technologies robotiques spéciales qui détecte et recueille les étoffes en plastique automatiquement et traitez-la. Ceci réduit donc l'exigence de déminage manuel des déchets
Swarmscapers : Impression 3D Mobile autonome Robots

Swarmscapers : Impression 3D Mobile autonome Robots

Swarmscapers y a un mois 2 longue recherche réalisé dans le studio Creative Architecture Machines , enseigné par Jason Kelly Johnson et Michael Shiloh au California College of the Arts en Labo numérique de Craft. C'est une collaboration entre Clayton
Robot autonome Combat Sumo avec Flipper pneumatique - comment

Robot autonome Combat Sumo avec Flipper pneumatique - comment

ce Bot de Sumo a été conçu, construit, programmé et testé sur une période de 12 semaines pour l'un de ma dernière année d'ingénierie classes. L'objectif était de concevoir et construire un sumo entièrement autonome léger combat robot pour une classe
Plex Bot

Plex Bot

J'adore les robots ! Robots humanoïdes sont mes préférés. Sine, j'étais petite, que j'ai aimé l'idée d'un jouet qui vous pourriez jouer avec alors que dans le même temps, il ressemblait à un être humain. Imitant la forme humaine est le but des robots
MultiTouch photoélectriques pour augmenter la peau humaine et les objets

MultiTouch photoélectriques pour augmenter la peau humaine et les objets

J'ai construit IR personnalisé, des solutions de détection pendant un certain temps maintenant. Il s'agit de capteurs de proximité, de capteurs de détection d'objet et de capteurs tactiles-multit. L'intention derrière cette instructable est de partag
K-9 2.0. Chien Robot contrôlé et autonome de WiFi.

K-9 2.0. Chien Robot contrôlé et autonome de WiFi.

REMARQUE :À l'étape 22, j'ai posté une mise à jour, expliquant certains changements/améliorations récentes que j'ai faite, principalement au système électrique de K-9 et les capteurs qui peuvent vous être utiles.CaractéristiquesRobuste en bois (MDF)
Arduino 4wd robot avec capteur de ping « J-Bot »

Arduino 4wd robot avec capteur de ping « J-Bot »

niveau d'expérience : intermédiaire (requière la soudure)Temps requis: 3-5 heures selon l'expérienceJ-BOT Kit JamecoQuelqu'un a dit que Jameco avait besoin d'une mascotte de robotique. J'ai toujours été un bricoleur, surtout avec l'électronique radio
Tourelle de guet autonome

Tourelle de guet autonome

La tourelle de guet autonome est un système autonome capable de détecter et de neutraliser les intrus non désirés par un déluge de mousse souple fléchettes. Construit pour l'environnement de bureau, l'AST est un morceau puissant de matériel qui a bes
Robot autonome Arduino (Land Rover / voiture) Stage1Model2

Robot autonome Arduino (Land Rover / voiture) Stage1Model2

Mi août 2014 - j'ai décidé de poursuivre la robotique et de construire un grand robot humanoïde.Ce robot serait construit en plusieurs étapes. Étape 1 consiste à construire un Land Rover. Model1 dansStage1 est le Land Rover sans microcontrôleur Model
Modèle de bras humain

Modèle de bras humain

je suis un professeur de physique, et j'ai beaucoup d'étudiants qui est intéressés à poursuivre des carrières en médecine. Je voulais vraiment ajouter certaines expériences de laboratoire liés au corps humain ou médecine alors j'ai décidé que je tien
Autonome / voix contrôlée - 3D Rig de numérisation pour impression 3D

Autonome / voix contrôlée - 3D Rig de numérisation pour impression 3D

L'idée derrière la voix contrôlée / autonome plate-forme de numérisation 3D est permettant une capture de numérisation 3D de travailler plus en douceur possible avec le minimum d'effort pour la personne comment est la numérisation comme pour la perso
HOOVER autonome (Intel IOT)

HOOVER autonome (Intel IOT)

Ce projet travaille sur unexcellente affaire de mécanisme réflexe. Il s'agit d'une idée fondamentale de mettre au point un HOOVER « autonome », qui contribue à réduire les tâches quotidiennes de travail à maisons, bureaux etc...Étape 1: idéeCe projet
Animatronic Egor V.1 : base, autonome, faible coût caractère artificiel.

Animatronic Egor V.1 : base, autonome, faible coût caractère artificiel.

Bit About MESalut!! Je suis Carl praticien animatronique et la recherche universitaire, que je termine actuellement une bourse de maîtrise en développement système animatronic au UoH. Il s'agit d'un très spécialisés et sur le terrain de la niche de l
Bot OCCU(pi)

Bot OCCU(pi)

tirer les leçons du 1 %, j'ai exposé à externaliser notre main-d'œuvre liées à occuper pour une main-d'œuvre robotique. Robots ont évidemment de nombreux avantages par rapport à leurs homologues humains. Par exemple, robots ne peut jamais se lasser,