Arduino R/C Lawnmower (painted) (1 / 11 étapes)

Étape 1: Configuration

1. Obtenez R/C émetteur et le récepteur (j’ai testé les systèmes FM et AM et les deux fonctionnent)
2. Télécharger code sur Arduino (c’est à la dernière page)
3. Assurez-vous que vous avez trouvé un bon signal

Vous aurez besoin d’un R/C radio transmitter(Tx) et receiver(Rx) paire, qui est la partie la plus chère du projet, mais peut être utilisée pour tous les projets futurs que vous pourriez avoir concernant R/C.  Je suis allé avec un système de FM 6 canaux, mais j’ai testé un AM 27mHz émetteur/récepteur et il fonctionne tout aussi bien. La beauté de l’Arduino est que si vous souhaitez ajuster la bande morte ou la vitesse de moteur à l’allumage, (contrairement aux commerciaux de l’ESC) il est facile a changé dans l’IDE Arduino.

Une fois que vous avez votre radio, tout ce que vous devez faire est de télécharger le code de votre Arduino, brancher les 2 canaux que vous souhaitez utiliser votre récepteur de radio en numérique les broches 2 et 3 de l’Arduino (ce sont les 2 broches d’interruption externe sur l’Arduino) et vous êtes prêt à contrôler tout ce que vous voulez. Si vous n’avez pas un paquet de pâte pour le récepteur, vous pouvez exécuter des fils de raccordement du Arduino + 5v et GND à la receiever de R/C pour le pouvoir, vous devez uniquement fournir un canal unique avec GND et + 5v (il n’est pas nécessaire alimenter tous les canaux).

Télécharger le code à l’aide de l’IDE Aruino (j’utilise la version 0016 sur Ubuntu).

J’ai commencé en contrôlant 3 LED à 1 canal sur une maquette. J’ai branché une LED rouge pour être vers l’avant (broche numérique 9), un voyant jaune pour le retour (broche numérique 5) et une LED verte pour neutre (broche numérique 12). Cela vous permet d’ajuster le code pour l’adapter aux besoins de votre système radio. Vous aurez lisse 0-100 % contrôle PWM des deux LED et le neutre voyant seront allume quand le levier de commande est centré. Si nécessaire, vous pouvez élargir la zone morte pour neutre, mais cela augmentera la rapidité à l’allumage (qui commence à 0 %, alors ce serait sans doute souhaitable). Voir les photos.

----------------------------------------

Le code a 4 sorties PWM pour contrôle moteur :

canal 1 vers l’avant = Arduino broche numérique 9
canal 1 retour = Arduino broche numérique 5
canal 2 vers l’avant = Arduino broche numérique 10
Inversion de 2 canal = Arduino broche numérique 6

2 sorties pour voyants neutre :

canal 1 = broche numérique 12
canal 2 = broche numérique 13

Les 2 entrées du récepteur R/C devraient aller à :

canal 1 = broche numérique 2
canal 2 = broche numérique 3

---------------------------------------

Si vous êtes intéressé à voir vos lectures, allumez votre Serial Monitor dans l’IDE Arduino (valeur 9600 bits/s) et vous pouvez voir les lectures de réelle impulsion en temps réel pour chaque canal, ils devraient se lire :

complètement vers l’avant = 2000 (2 millisecondes)
Centre = 1500 (1,5 ms)
inversion = 1000 (1 ms)

Ces lectures correspondent au nombre de microsecondes qui le signal d’impulsion du récepteur R/C reste élevée (ou à 5v). Le signal de Servo typique qui provient d’un récepteur R/C est une impulsion dont la longueur varie entre environ 1 ms à 2 ms avec 1,5 ms étant neutre (qui devrait être également de la position que le levier de commande retourne à lorsque vous laisser aller). L’émetteur lit la position du joystick et envoie cette longueur de pouls environ une fois chaque 20milliseconds. Donc il est constamment mise à jour pour un contrôle précis (pour plus d’informations, recherchez PPM sur wikipedia).  Si vous poussez le manche vers l’avant, la lecture doit aller jusqu'à 2000, si vous le poussez en arrière qu'il devrait descendre à 1000. Vous pouvez également utiliser un voltmètre à ce stade, de voir que le numérique broches 5, 6, 9 et 10 vont être modifiées depuis 0-5v selon la position des bâtons contrôle de l’émetteur R/C.

Si vous vous souciez de savoir, le code utilise les interruptions externes 2 de l’Arduino pour capturer lorsque la broche signal Rx change d’État (goes de haute à basse ou vice versa), quand il le fait au début de chaque signal, il appelle la fonction d’interruption qui lit l’état numérique de l’axe et si élevé, il enregistre la valeur de microsecondes sur l’Arduino système timer0. Il retourne ensuite à la boucle jusqu'à ce que la goupille se LOW, à quel point il soustrait la valeur de microseconde précédemment enregistré de la valeur nouvelle microseconde actuel pour déterminer combien de temps le pouls est resté élevé (qui nous indique la position du levier de commande de l’émetteur). Puis, elle fait cela encore et encore très rapide.

J’ai les valeurs contraints de 600-2400 dans le code de l’Arduino pour garder les choses simples. Une fois qu’il reçoit le signal et il contraint, il mappe cette valeur pour être proportionnellement entre 0 et 511, où 255 sera neutre. Le code détermine ensuite lorsque la valeur change et utilise une fonction pour déterminer l’approprié 0-255 valeur PWM dans la direction appropriée et chaque direction a broche sa propre sortie PWM pour contrôler le pont en H.

Sur une note latérale :

Pour faciliter les choses, j’ai construit une carte de dérivation axée sur l’Arduino à l’aide de Radio-Shack perf-Conseil, une prise DIP 28pin, un oscillateur 16mhz et un peu de fil. J’ai aussi ajouté un ensemble de femelle-en-têtes de telle sorte que je peux brancher mon récepteur R/C directement sur la carte de dérivation. Pour les connexions sécurisées pendant la tonte d’herbe, j’ai ajouté bornes à vis sur chaque broche de sortie et chacune des 6 canaux du récepteur. Il a également construit dans le régulateur 5v pour alimenter les deux l’Atmega168 de l’Arduino et le récepteur R/C (qui obtient le pouvoir lorsque vous le branchez sur la carte de dérivation). Si vous routez juste les fils de raccordement des canaux à utiliser sur le récepteur, à l’Atmega numériques broches 2 et 3. J’ai aussi ajouté 2 lumières de LED qui sont durs câblés aux pins numériques 12 et 13 pour les lumières neutres pour chaque canal donc je peux facilement voir quand je suis au point mort.

Étant donné que ce bot est une configuration de steer Tank avec moteur de 1 entraînement sur chaque roue, le codage est très simple, où le levier gauche commande le moteur gauche et le stick droit contrôle le moteur droit. Les deux bâtons moyens avant tondeuse va tout droit vers l’avant, deux en arrière, et il va dans le sens inverse. Si vous poussez vers l’avant gauche et la droite en arrière, elle fait un cercle de giration zéro. Comme vous pouvez l’imaginer, tondre le gazon est vraiment amusant maintenant.

Articles Liés

Flaming Lawnmower Paint Job

Flaming Lawnmower Paint Job

Over a summer or two, matteo and I repaired an old lawnmower that we found on the side of the road. Nous avons décidé de lui donner un travail de peinture douce flamme. C'était une bonne pratique pour la peinture quelque chose de plus grand comme une
Construisez votre Robot Internet sous contrôle vidéo-Streaming avec Arduino et Raspberry Pi

Construisez votre Robot Internet sous contrôle vidéo-Streaming avec Arduino et Raspberry Pi

< le Instructable et le code sont prêts. Profitez ! Laissez un commentaire avec vous vos commentaires! >Je suis (aka LiquidCrystalDisplay / Itay), un élève de 14 ans d'Israël par l'apprentissage dans l'école secondaire Junior Max Shein avancées des
Clé de Code Morse Arduino USB

Clé de Code Morse Arduino USB

Jamais eu envie de taper sur un ordinateur avec une clé de code morse ou pour apprendre/enseigner le code morse ? Vous êtes sur la bonne page !Pour mes autres projets, consultez calvinliang.meÉtape 1: Rassembler des matériaux• 1 × Arduino/Genuino Mic
Shapeoko 2, Arduino UNO R3, début 9g, 8 bit gravure Photo au Laser Diode

Shapeoko 2, Arduino UNO R3, début 9g, 8 bit gravure Photo au Laser Diode

Moi et mon fils a inventé/développe un nouveau concept de "On-The Fly" des photos de 8 bits Diode Laser gravure il y a plus de deux ans. Avec ce concept, la Diode Laser désactive jamais grâce à la photo de toute processus de gravure. Il varie to
Motorisé, Sound réagissant à-St Star Wars modèle de Bandai, avec Arduino.

Motorisé, Sound réagissant à-St Star Wars modèle de Bandai, avec Arduino.

Issus de Star Wars à-St modèle Bandai.Réagit aux sons et tourne la tête vers elle.Fait avec Arduino Nano, un composant personnalisé 3dprinted, microphones, micro servo.Cette instructable est faite pour partager les modifications nécessaires pour acqu
Créer propre clavier à Membrane Matrix (et le brancher à l’Arduino)

Créer propre clavier à Membrane Matrix (et le brancher à l’Arduino)

si vous voulez créer votre propre clavier à membrane ? Pourquoi ? bien faire votre propre clavier peut être utile pour de nombreuses raisons. Il est bon marché et facile à faire, il peut être placé dans des situations où il peut être vandalisé ou vol
VU-mètre analogique et horloge (Arduino alimenté)

VU-mètre analogique et horloge (Arduino alimenté)

ce projet ramène l'ancien temps VU-mètre analogique, avec la fonctionnalité supplémentaire d'une horloge à la recherche soignée ! Lorsque vous éteignez votre musique les compteurs balancent automatiquement en mode horloge. Derrière tout cela est l'Ar
TypeOnAir ! (Exposition longue typographie via Arduino)

TypeOnAir ! (Exposition longue typographie via Arduino)

Selon moi, il existe deux types de photographe. Premier groupe apprécieront la congélation instant avec tous ses composants. Mais l'autre moitié doit faire quelque chose. Nature elle-même n'est pas suffisant pour la satisfaction. Apparemment je suis
ServDuino - construire votre propre Arduino serveurWeb

ServDuino - construire votre propre Arduino serveurWeb

The Arduino Ethernet Shield est un jouet doux!!!  Tout le monde, du débutant qui a obtenu leur Arduino hier et n'a pas dormi depuis, le noyau dur pro qui a appris c comme langue seconde, peut apprendre à utiliser le bouclier Ethernet et ont beaucoup
Manomètre vapeur STEAMPUNK, propulsé par ARDUINO

Manomètre vapeur STEAMPUNK, propulsé par ARDUINO

cela a été créé pour être certains eye-candy pour ma cuisine. Je voulais quelque chose d'unique pour un espace spécial sur mon mur et l'ajout de mouvement, les lumières blinky et intéressantes mécaniques « guts » fait encore mieux.Finalement, ce proj
2.4" TFT LCD tactile Shield Arduino

2.4" TFT LCD tactile Shield Arduino

2.4" TFT LCD tactile Shield Arduino UNO Hello World2.4" diagonale TFT LCD tactile résistif 4 fils LED rétroéclairage de l'écranÉtape 1: Scetch#include / / bibliothèque graphique de base#include / / spécifiques au matériel bibliothèque #include#d
Arduino - écran TFT d’images bitmap depuis une carte SD

Arduino - écran TFT d’images bitmap depuis une carte SD

Suite à mes autres Instructables sur l'Arduino et TFT affichage ici est une bibliothèque mise à jour et croquis pour dessiner des images bitmap (BMP ou Raw) stockés sur une carte SD sur l'afficheur TFT.La plupart des écrans TFT disponibles ont une fe
Affichage à LED Arduino

Affichage à LED Arduino

Mon dernier projet (https://github.com/maciejmiklas/LEDDisplay) contient le pilote pour 8 x 8 LED Modules commandé par l'intermédiaire de MAX722xx. Il vous permet de construire l'affichage de la taille faite sur commande qui n'est limité que par le m
Détecteur de couleur simple « arduino »

Détecteur de couleur simple « arduino »

Ce tutoriel va vous emmener à travers comment faire détecteur de couleur simple, avec VB.net utilise pour afficher la couleur. Il est relativement simple à faire, alors que le code est de longueur moyenne. La sortie est sous la forme d'une valeur hex