OmniWorm : un Omni-directional Robot Inchworm (5 / 5 étapes)

Étape 5: Programme, alors profitez de votre nouveau Robot !

/*

Voici le code en évitant les obstacles pour OmniWorm ! N’hésitez pas à adapter en conséquence.
------------------------------------------------------------------------------------

Ce qu’il faut changer :
------------------------

CODE du SERVO : Deux servos peuvent tourner des directions différentes pour chaque angle
envoyé à elle. Par conséquent, testez chaque servo séparement. Mettez-les la
angle Max avant de monter afin de s’assurer que le robot se replient en
une boîte et que les servos ne poussera pas sépareront les directions. En outre,
vous devrez peut-être utiliser le sixième servo (servoFront2) selon la
poids de votre conception. Le mien est seulement 3lbs totales donc je n’avez pas besoin: P

SERVOS : 313WP servos vont de 20 à 160 degrés sans avoir à éditer le
bibliothèque de servo. 140 degrés est assez bon pour cette application
Cependant. Si vous utilisez différents servos, vous pourriez avoir plus ou moins que
140 degrés. Si le servo est évalué à 180 degrés et vous obtenez un
beaucoup moins, soit utiliser pwm ou essayez de changer la pulsewidths min et max
dans la bibliothèque de servo (servo.h). Pour modifier le fichier, Télécharger Notepad ++

CODE moteur : J’utilise un moitié-broken robuste moteur pilote accidenté
circuits. La broche labled EM est soudée au dos2 sur le bouclier comme le
tige normale changeait pas de direction. Si vous utilisez le même
Bouclier, puis effacer EM et continuer ! Si vous utilisez un pont en h,
alors n’hésitez pas à utiliser les broches 3, 11-13 ou choisir votre propre. Fais attention
ne pas à dominer le circuit bien ! Voici les liens vers des tutoriels.
Le dernier lien est où vous pouvez acheter le bouclier que j’utilise !

http://ITP.nyu.edu/physcomp/Labs/DCMotorControl

http://www.ECS.umass.edu/ECE/M5/Tutorials/H-Bridge_tutorial.html

http://www.societyofrobots.com/schematics_h-bridgedes.shtml

http://www.ruggedcircuits.com/Motor-Control/Rugged-Motor-Driver

MOTEURS : Faites votre portefeuille une grande faveur et ne déchirent namebrand
Servos Parallex exécuter en tant que moteurs à courant continu (sauf s’ils étaient cassés
comme la mienne ont été). Si vous avez pirater eux, Dévissez simplement le dos,
tirer sur les trois fils au large, replacer les vis à tenir la
(certains hotglue pourrait aider), ensemble de boîte de vitesses et Soudez soigneusement un
fil à chaque extrémité du moteur DC seulement. Soudure excès pourrait souche le programme d’installation.
Mais je voudrais simplement acheter robot jaune roues/gearboxs en dehors d’ebay.
Recherche pour « robot volant » et elles sautera vers le haut. Autre possibilité, utilisation
le 360 degrés servos sous... Eh bien... servos ! Vous pouvez ajouter ou
soustraire des angles pour le mouvement avant/arrière.

FONCTIONS : Vous devrez modifier les fonctions (ou jouer avec des fils)
pour qu’il puisse travailler avec votre design. Quelques bons vieux essais et Erreurs
fera l’affaire !

Quelques mots de conseils :
----------------------

Si vous utilisez une alimentation externe pour vos servos, connecter
le terrestre de la terre à l’arduino. En outre, veillez à ne pas à brancher
votre batterie en inverse ou essayez-le... bref il peut facilement tuer
vos servos. En outre, si vous dominer un servo il peut mourir. Début
vos servos off à faible puissance et travaillent votre chemin vers le haut. Ma configuration est
poussant it... >:)

Je suggère que vous trouvez (ou prendre!) votre propre pont en h à contol
vos moteurs. En outre, connecter le sol à l’arduino. Veillez à
pas surcharger votre configuration ! Enfin, une fonction de reset conserve la configuration
de provoquer un court-circuit.

N’oubliez pas que vous devez incliner capteurs si vous voulez arrêter le côté
roues de déplacement lors du dessin courant !

Ne vous sentez pas limité aux broches que j’utilise. Choisissez votre propre numérique
épingles!!!

Mon code est adapté de :
------------------------

http://www.ruggedcircuits.com/Rugged-Motor-Driver

http://Arduino.cc/en/Reference/ServoWrite

http://arduinobasics.blogspot.com/2012/11/arduinobasics-hc-sr04-Ultrasonic-Sensor.html

*/

#include < Servo.h >
Inclure la bibliothèque de Servo, donc il ne faut pas utiliser de PWM

Servo servoFront ;
Servo servoFront2 ;
Servo servoTail ;
Servo servoTail2 ;
Servo servoBack ;
Servo servoBack2 ;

Ceci définit nos noms de servo (servoFront etc..)

Activer les sorties (PWM) (bouclier robuste)
#define EN1_PIN 3
#define EN2_PIN 11

Sorties de direction (bouclier robuste)
#define DIR1_PIN 12
#define DIR2_PIN 13
#define EM 10 //Cause 13 ne veulent pas travailler. Nombre malchanceux ! =/

#define echoPin 8 / / Echo Pin (pour capteur à ultrasons)
#define trigPin 9 / / l’ergot (pour capteur à ultrasons)

int maximumRange = 200 ; Portée maximale nécessaire (peut changer)
int minimumRange = 0 ; Portée minimale nécessaire (peut changer)
longue durée, distance ; Durée utilisée pour calculer la distance

void setup() {}

servoFront.attach(6) ;
servoTail.attach(1) ;
servoTail2.attach(2) ;
servoBack.attach(4) ;
servoBack2.attach(5) ;

pinMode (EN1_PIN, sortie) ;
digitalWrite (EN1_PIN, basse) ;
pinMode (EN2_PIN, sortie) ;
digitalWrite (EN2_PIN, basse) ;
pinMode (DIR1_PIN, sortie) ;
digitalWrite (DIR1_PIN, basse) ;
pinMode (DIR2_PIN, sortie) ;
digitalWrite (DIR2_PIN, basse) ;

pinMode (trigPin, sortie) ;
pinMode (echoPin, entrée) ;

Configuration des entrées/sorties pour moteurs/servos/capteur

Closed() ;
retarder (1000) ;

Maintient le robot plié avant le début de la boucle.
}

void loop() {}
remise à zéro ;
Delay(50) ;
Closed() ;
Scan() ; mesures de distance par l’intermédiaire de capteur à ultrasons
Delay(90) ;

Si (distance < = 20 & & distance > = 0) {//if la distance est inférieure à 15 cm
Opened() ;
Delay(1000) ;
Reset() ;
Delay(50) ;
spin_right() ;
Opened() ;
Delay(1500) ;
Closed() ;
Delay(1000) ;
Scan() ;
Delay(800) ;
Si (distance < = 15 & & distance > = 0) {}
Opened() ;
Delay(1000) ;
Reset() ;
Delay(50) ;
spin_left() ;
Opened() ;
Delay(2200) ;
}
else {}
Reset() ;
Delay(50) ;
inch() ;
inch() ;
inch() ;
inch() ;
inch() ;
}
}

else {//if la distance est supérieure à 15 cm
Reset() ;
Delay(50) ;
Closed() ;
mémoire ;
Delay(1000) ;
}
}

/*
Voici les fonctions qui que nous interpellent dans notre boucle. Il rend la vie beaucoup
plus facile, car vous pouvez contrôler plusieurs broches et servos en même temps !
*/

closed() Sub {}
servoFront.write(20) ;
servoTail.write(20) ;
servoTail2.write(160) ;
servoBack.write(20) ;
servoBack2.write(160) ;
}

void opened() {}
servoFront.write(140) ;
servoTail.write(20) ;
servoTail2.write(160) ;
servoBack.write(100) ;
servoBack2.write(80) ;
}

void inch() {}
Closed() ;
Delay(1000) ;
servoTail.write(160) ;
servoTail2.write(20) ;
Delay(1000) ;
servoTail.write(160) ;
servoTail2.write(20) ;
servoBack.write(160) ;
servoBack2.write(20) ;
Delay(1000) ;
servoTail.write(20) ;
servoTail2.write(160) ;
servoBack.write(160) ;
servoBack2.write(20) ;
Delay(1000) ;
servoFront.write(140) ;
Delay(1000) ;
}

void spin_right() {}
digitalWrite (DIR1_PIN, élevé) ;
analogWrite (EN1_PIN, 255) ;
digitalWrite (DIR2_PIN, élevé) ;
analogWrite (EN2_PIN, 255) ;
digitalWrite (EM, élevé) ;
}

void spin_left() {}
digitalWrite (DIR1_PIN, basse) ;
analogWrite (EN1_PIN, 255) ;
digitalWrite (DIR2_PIN, élevé) ;
analogWrite (EN2_PIN, 255) ;
digitalWrite (EM, faible) ;
}

void backward() {}
digitalWrite (DIR1_PIN, élevé) ;
analogWrite (EN1_PIN, 255) ;
digitalWrite (DIR2_PIN, basse) ;
digitalWrite (EM, élevé) ;
analogWrite (EN2_PIN, 255) ;
}

mémoire Sub {}
digitalWrite (DIR2_PIN, élevé) ;
analogWrite (EN2_PIN, 255) ;
digitalWrite (DIR1_PIN, basse) ;
analogWrite (EN1_PIN, 255) ;
digitalWrite (EM, élevé) ;
}

void reset() {}
analogWrite (EN2_PIN, 0) ;
analogWrite (EN1_PIN, 0) ;
Delay(15) ;
}

scan() Sub {}
digitalWrite (trigPin, basse) ;
delayMicroseconds(2) ;

digitalWrite (trigPin, HIGH) ;
delayMicroseconds(10) ;

digitalWrite (trigPin, basse) ;
durée = pulseIn (echoPin, HIGH) ;

Calculer la distance (en cm) basée sur la vitesse du son.
distance = durée/58,2 ;

Delay(50) ;
}

Articles Liés

Arduino Omni roue Robot Rover - cours MAKE

Arduino Omni roue Robot Rover - cours MAKE

Cet Instructable a été créé dans l'accomplissement de l'exigence de projet de la Makecourse à l'Université de Floride du Sud (www.makecourse.com)Comme robot Rover ? Vous êtes un gourou DIY ? Je suis Larsha Johnson un étudiant en génie électrique à l'
InchWorm Robot

InchWorm Robot

Cette instructable a été créée dans l'accomplissement de l'exigence de projet de la Makecourse à l'Université de Floride du Sud (www.makecourse.com)Il s'agit d'une Instructable sur la construction d'un robot inchworm. Ce modèle a été construit pour f
Omni robot mobile de la roue - IoT

Omni robot mobile de la roue - IoT

Dans cette instruction, que je vais vous présenter, vous concevez d'omni roue mobile robot contrôlé via le wi-fi. La différence essentielle par rapport au contrôle conventionnel comme bluetooth ou radiocommande est que le robot est connecté au réseau
Le Robot 4Omni CHAMPION de Soccer roue !

Le Robot 4Omni CHAMPION de Soccer roue !

Ses un Bluetooth contrôlée 4 Wheel drive omni roue robot basé sur Arduino Mega 2560 (vous pouvez utiliser n'importe quel arduino UNO ou régulière ou tout autre, vous voulez), ce n'est pas un robot ordinaire c'est un Robot de Soccer et il a participé
Comment faire une boule d’équilibrage Robot

Comment faire une boule d’équilibrage Robot

l'année dernière, j'ai fait cette boule robot d'équilibrage. Il peut se tenir sur un ballon stable du système d'équilibre par lui-même.Il y a une connexion point entre le robot et le sol, n'est plus souple que le robot à roues traditionnel. Il peut s
Comment faire un Robot Mecanum avec Suspension

Comment faire un Robot Mecanum avec Suspension

Mecanum roues sont souvent utilisés pour construire un robot de la concurrence, qui peut faire omni-directional mouvement. Lorsque le nombre de roues mecanum est supérieur à 3, les roues peuvent être non coplanaires. C'est pourquoi le système de susp
Omni-voiture

Omni-voiture

ma voiture maison omni-directional holonomes. le corps a été conçu avec autodesk inventor et ensuite imprimé sur une imprimante 3d. le système de contrôle est une conception unique de la mine qui ne nécessite aucun processeurs spécialisés entre le mo
Ft Inchworm

Ft Inchworm

piles rechargeables SANYO utilisation afin d'exploiter une arpenteuse de fischertechnik programmé à l'aide d'éléments de fischertechnik !J'ai jouer avec différents matériel éducatif concret pour gagner sa vie. (Visitez www.weirdrichard.com). J'ai été
Mode d’emploi : Moteurs

Mode d’emploi : Moteurs

Servos et Steppers et engrenages ! Oh mon !Certains de nos appareils électroniques préférés amateur utilisent des moteurs à mobiliser, ce qui les rend amusant et impressionnant ! Y compris un moteur dans votre projet pourraient être difficile, surtou
J’ai marque Arc réacteur Prop

J’ai marque Arc réacteur Prop

Bonjour à tous!Merci de vérifier sur ma tentative de recréer la marque j'ai réacteur Arc de Iron Man. J'ai eu beaucoup de plaisir ce bâtiment (tant et si bien que j'ai fait deux), et si tout va bien, qui vient ici. J'ai divisé les étapes par quelle p
Construire votre propre Scooter handicapé de Rehab de mobilité pour moins de 500 $

Construire votre propre Scooter handicapé de Rehab de mobilité pour moins de 500 $

Je peux vous montrer comment faire pour convertir un Razor E300 Scooter, je vous suggère d'acheter chez Amazon.com devrait être d'environ 250 $, dans votre propre scooter handicapé Rehab. La trottinette E300 que vous recevrez n'a qu'une seule vitesse
Signalisation omnidirectionnelle avec fil EL

Signalisation omnidirectionnelle avec fil EL

L'objectif de ce Instructable consiste à créer une balise EL Wire / indicateur. EL, ou fils électroluminescents est un fil de cuivre mince enrobé dans un phosphore qui s'allume lorsque le courant alternatif est appliqué.Outils requis-Pinces-Couteau o
Mon expérience dans la construction d’une antenne dipôle Vertical

Mon expérience dans la construction d’une antenne dipôle Vertical

Ce projet est survenu quand j'ai décidé de sortir une vieille cb Corba 148 GTL, que j'ai eu dans le stockage pendant de nombreuses années. Je ne pas vraiment l'utiliser beaucoup sauf pour les projets comme celui-ci parce que les bandes de CB ont est
Mesures d’ampoule de LED, vous le savez, pour les enfants

Mesures d’ampoule de LED, vous le savez, pour les enfants

comme LED Ampoules descendent dans le prix et de performance, la viabilité des LEDs en remplacement des incandescentes, halogènes et fluorescentes aborde un point de basculement. J'ai été dans la LED pendant un certain temps et ont fait beaucoup de m