Robot d’assemblage Jansen (4 / 9 étapes)

Étape 4: Téléchargez le croquis de l’arduino

Télécharger l’esquisse fournie à l’arduino.

Cette esquisse est est définie jusqu'à mettre l’arduino pour dormir si le pavé tactile n’a pas été enfoncé, et l’axe des y de chacun du joysticks remappés pour contrôler les servos de rotation opérer en conséquence.

But : Pour l’exploitation de deux servos à l’aide de deux manettes de jeu, qui seront utilisés pour exploiter les deux jambes pour un robot. En liaison faire cours, offert par l’Université de Floride du Sud.
Créé par : Brian Cantler / / Date : 01/12/2014

#include #include //this AVR bibliothèque contient des méthodes que la broche de //since sommeil modes #define interruptNumber 0 2 est utilisée pour l’interruption externe, à des contrôles est attaché pour interrompre le nombre 0 #define TouchPadPin 2 //connect touch sortie du capteur (aiguille « S ») à la D2 (et broche « G » au GND et la broche « V » à 5V)

volatils octets TouchPadEventFlag ; //all les variables qui sont modifiés dans un rapport de recherche internationale doivent être dimensionnées comme « volatile » //this variable sera alors utilisée pour dire la boucle principale qu’un événement d’interruption s’est produite.

const int servo1 = 3 ; identifie le premier servo comme étant connecté à la broche numérique 3 const int servo2 = 10 ; identifie le second servo comme étant connecté à la broche numérique 10 const int joy1 = 3 ; identifie le premier joystick comme étant connecté à la broche analogique 3 const int joy2 = 4 ; identifie le deuxième joystick comme étant relié à la broche analogique 4

int servoVal ; variable utilisée pour lire les valeurs de la broche analogique

Servo myservo1 ; crée l’objet de servo pour contrôler le premier servo Servo myservo2 ; crée l’objet de servo pour contrôler le second servo

void setup() {}

Servos myservo1.attach(servo1) ; attache le premier myservo2.attach(servo2) de servo ; attache le second servo

Initialiser le Serial Serial.begin(9600) ; pinMode(13,OUTPUT) ; ensembles broche 13 comme une sortie, donc nous pouvons utiliser le bâti en conduit sur l’arduino à surveiller lors de l’arduino est alimenté sur digitalWrite(13,LOW) ; tourne broche 13, un de la construction à LEDs sur l’arduino, hors pinMode (entrée, TouchPadPin) ; définit l’axe de l’interruption comme un digitalWrite(2,HIGH) d’entrée ; active la résistance de pull-up interne pour tirer à haute quand la tablette tactile n’a pas été enfoncée

}

void loop() {}

Affiche les valeurs de la manette à l’aide de la série monitor outputJoystick() ;

Lire sa manette de jeu (valeur comprise entre 0 et 1023) servoVal = analogRead(joy1) ; servoVal = carte (servoVal, 0, 2500, 70, 180) ; met à l’échelle des valeurs de manette de jeu pour pouvoir l’utiliser avec le servo (résultat entre 90 et 180)

myservo2.Write(servoVal) ; règle la vitesse des 360 servos selon la valeur à l’échelle

Lire la manette de jeu de deux (valeur comprise entre 0 et 1023) servoVal = analogRead(joy2) ; servoVal = carte (servoVal, 0, 2500, 70, 180) ; met à l’échelle des valeurs de manette de jeu pour pouvoir l’utiliser avec le servo (résultat entre 90 et 180)

myservo1.Write(servoVal) ; règle la vitesse des 360 servos selon la valeur à l’échelle

Delay(15) ; attend que le servo d’accélérer à l’échelle de valeur sleepSetup() ; reste à 27 ~ mA jusqu'à ce que la touche est enfoncée sur la broche 2

}

/ ** * Affiche les valeurs de joystick dans le moniteur de la série * / void outputJoystick() {}

Serial.Print(analogRead(joy1)) ; affiche les valeurs de manette de jeu pour le premier joystick dans le moniteur série Serial.print (« - joystick_one---") ; identifie les valeurs affichées sont pour le premier joystick Serial.print(analogRead(joy2)) ; affiche les valeurs de manette de jeu pour le deuxième manche à balai dans la série surveiller Serial.println (« - joystick_two---") ; identifie les valeurs affichées sont pour le deuxième joystick}

void sleepSetup() {sleep_enable() ; attachInterrupt (0, pinInterrupt, LOW); //Sets broche 2 comme une interruption et attache Interrupt Service Routine (ISR) set_sleep_mode(SLEEP_MODE_PWR_DOWN) ; //define éteignez digitalWrite(13,LOW) mode sommeil ; //turns la LED off pour indiquer le sommeil mode sleep_cpu() ; le bit //Set sommeil enable (SE), ce qui place l’ATmega sommeil Serial.println ("strandbot est sous tension"); //When il se réveille en raison de l’interruption du programme se poursuit avec l’instruction suivant sleep_cpu() digitalWrite (13 ÉLEVÉ) ; tourne le construit dans la LED sur l’arduino pour indiquer que l’arduino a réveillé}

void pinInterrupt() //ISR {sleep_disable() ; //this est important. Il est possible que l’interruption est appelée entre l’exécution de « attachInterrupt(...) » et sleep_CPU() dans la boucle principale //if qui survient sans la sleep_disable() dans l’ISR, l’ISR s’appellerait, l’interruption détaché et le dispositif mis en sommeil. puisque l’interruption serait handicapée à ce moment-là, il n’y aurait aucun moyen de se réveiller plus l’appareil. en mettant sleep_disable() dans l’ISR, sleep_cpu() ne serait pas efficace au cours de cette boucle, c'est-à-dire la boucle principale serait courir un plus temps //and puis attacher correctement l’interruption avant de frapper le sleep_cpu() une seconde fois. À ce moment que l’appareil serait aller dormir, mais //the interruption serait maintenant activé, c'est-à-dire réveil peut être induit. detachInterrupt (0); //disable l’interruption. Effectivement, cela debounces le mécanisme d’interruption pour éviter les appels multiples d’interruption.

}

Articles Liés

Valerobot assemblage robot tuturial

Valerobot assemblage robot tuturial

joyeux nouvel an! maintenant, vous pouvez aussi faire votre propre robot d'assemblage avec des éléments en plastique trouvés partout dans votre maison. le ciel est la limite. Utilisez n'importe quel type de plastique ou trouvé des éléments. legos son
Robot Wheely

Robot Wheely

Il s'agit d'un Robot Wheely faite par une équipe de 2e année à Ottawa, en Ontario.Ils ont utilisé le travail d'équipe pour développer et exécuter la construction du robot.Leur chef d'équipe a écrit les instructions et a appelé le tirage de bleus.Équi
Smart bras robotique télécommandé

Smart bras robotique télécommandé

L'objectif de ce projet était de construire un simple bras robotisé qui peut être contrôlé à distance. Ce bras robotisé sera attaché à mon robot mobile. En outre, cette conception a été équipée avec un écran OLED qui donne des informations sur le con
Theo Jansen inspiré walking robot insecte

Theo Jansen inspiré walking robot insecte

J'ai construit cet insecte marche, inspirée par les créations de Theo Jansen , qui a utilisé un algorithme génétique pour trouver un ensemble de liens pour former une jambe où le pied se déplace dans un lieu approprié pour la marche. Ce qu'il est ven
Bras robotisé avec convoyeur, capable de travail d’assemblage des pièces en cours

Bras robotisé avec convoyeur, capable de travail d’assemblage des pièces en cours

Bonjour à tous,Il s'agit d'un projet où j'ai conçu et construit une station de travail pour un six degrés du bras robotique de la liberté. C'est un exemple courant d'une ligne de production, que la pièce se déplace sur un tapis roulant ou de la palet
Robot Photovore Strandbeest

Robot Photovore Strandbeest

J'ai été fasciné par les créatures de la plage à pied de Theo Jansen pendant un certain temps. Alors j'ai lu avec intérêt l'avril 2014 article de Magazine de Servo sur la conversion du kit modèle en plastique pour être alimenté par servo. L'idée de l
Quadroped Robot - (montage NIOSII)

Quadroped Robot - (montage NIOSII)

d'abord, Merci à mon partenaire dans ce projet ; Yerusha Nuh. Nous devions travailler quelques longues nuits, mais nous l'avons eu fait:)Avant d'entrer dans cette instructable, un mot d'avertissement. La partie de construction lego de cette instructa
Conception de Robot jambes

Conception de Robot jambes

Si votre robot ont ennuyé du mouvement de la roue, cette instructables vous montrer comment concevoir et fabriquer des jambes Strandbeest de Theo Jansen (sans imprimante 3D) pour vous robot.Ref. :https://www.google.com/search?q=strandbeest&TBM=is...É
Robot Arduino Arm mixologue

Robot Arduino Arm mixologue

« Mais attendez, » vous dites, « je pensais que RobotGeek déjà publié une instructable sur l'utilisation d'un bras robot pour livrer des boissons! » À qui nous disons: «Oui, mais pas comme ça." Le dernier projet pourrait à plat une boisson à plusieur
Fraise de mousse robot

Fraise de mousse robot

Dans le cadre des choses pour moi et mes clients, j'ai effectuer fréquemment des tâches fastidieuses qui pourraient être automatisées. L'une d'entre elles est la coupe de feuilles de mousse en gros rouleau. Dans la photo, vous voyez le rouleau de mou
Une main robotique modulaire & bras (avec la gamme étendue de mouvement) (3D imprimés)

Une main robotique modulaire & bras (avec la gamme étendue de mouvement) (3D imprimés)

Bonjour à tous ! Il s'agit de ma prothèse de bras et des mains de prototype que j'ai été la conception depuis plusieurs mois maintenant. C'est encore un peu d'un work in progress, et depuis que je suis en finir avec les classes de collège pour le sem
Comment faire des petits robots avec nRover Conseil

Comment faire des petits robots avec nRover Conseil

Le nRover, est une petite planche conçue pour construire des petits robots comme UGV (véhicules sans pilote au sol), suiveur de ligne ou à la domotique, il peut être contrôlé par wifi, Bluetooth ou radio de contrôle. L'objectif principal est le dével
Enhanced Robot Spider

Enhanced Robot Spider

Je suis toujours à la recherche d'un nouveau projet de le faire à mon atelier robotique pour les enfants. Alors que les araignées robots sont intrigantes, la quasi-totalité d'entre eux sont soit trop complexes impliquant 10 + servos ou budget de mani
Système de caméra robotisée Dolly

Système de caméra robotisée Dolly

Récemment, j'ai reçu la possibilité d'essayer le système de génération de Actobotics de la ville de Servo. Alors que j'aurais pu utiliser il à construire beaucoup de choses, j'ai finalement décidé de faire un interphone programmable de dolly. Cet app