- Composants requis pour Arduino RC Boat
- Modules émetteur et récepteur RF 433 MHz
- Émetteur RF 433MHZ
- Schéma de principe de l'émetteur de bateau Arduino RC
- Schéma de circuit de la télécommande Arduino RC (émetteur)
- Construction du circuit d'émetteur RC BOAT
- Construction du boîtier d'émetteur de bateau Arduino RC
- Module récepteur 433Mhz
- Schéma fonctionnel du récepteur de bateau Arduino RC
- Schéma de circuit du récepteur de bateau Arduino RC
- Construction du circuit récepteur du bateau Arduino RC
- Construire le RC-BOAT
- Moteurs et hélices pour Arduino Air Boat
- Fonctionnement du bateau Arduino RC
- Programmation Arduino du bateau RC
Dans ce projet, nous allons construire un Air-Boat Arduino télécommandé qui peut être contrôlé sans fil à l'aide des modules radio RF 433 MHz. Nous contrôlerons ce bateau à l'aide d'une télécommande maison en construisant notre propre émetteur 433 MHz et un module récepteur. Dans le cas d'appareils télécommandés ou de communication entre deux appareils, nous avons beaucoup d'options comme IR, Bluetooth, Internet, RF, etc. Par rapport à la communication IR, les communications radio présentent certains avantages comme une plus grande portée et ce n'est pas le cas nécessitent une connexion en visibilité directe entre l'émetteur et le récepteur. En outre, ces modules peuvent effectuer deux modes de communication, ce qui signifie qu'ils peuvent émettre et recevoir en même temps. Donc, en utilisant ce module RF 433 MHz, construisons un bateau Arduino RC dans ce didacticiel.
Nous avons déjà construit de nombreux projets télécommandés à l'aide de ces modules RF de 433 MHz pour contrôler un robot comme ce robot contrôlé par RF ou pour des applications domotiques afin de contrôler des appareils ménagers à l'aide de RF. Outre l'utilisation de modules RF, nous avons également construit une voiture Raspberry Pi contrôlée par Bluetooth et un robot Arduino contrôlé par téléphone portable DTMF auparavant. Vous pouvez également consulter ces projets si vous êtes intéressé.
Composants requis pour Arduino RC Boat
- Émetteur et récepteur 433 MHz
- Arduino (n'importe quel Arduino, pour réduire la taille que j'utilise promini)
- HT12E et HT12D
- Boutons poussoirs - 4Nos
- Résistances - 1 méga ohm, 47 k ohm
- Pilote de moteur L293d
- Batterie 9 V (j'utilise une batterie 7,4 volts) - 2Nos
- 7805 régulateur - 2Nos
- Moteurs à courant continu - 2Nos
- Moteur feuille ou hélices (j'utilise des hélices artisanales) - 2Nos
- Condensateur.1uf - 2Nos
- PCB commun
Modules émetteur et récepteur RF 433 MHz
Ces types de modules RF sont très populaires parmi les fabricants. En raison de leur faible coût et de leur simplicité dans les connexions. Ces modules conviennent parfaitement à toutes les formes de projets de communication à courte portée. Ces modules sont des modules RF de type ASK (Amplitude Shift Keying), la modulation par décalage d'amplitude (ASK) est une forme de modulation d'amplitude qui représente les données numériques comme des variations d'amplitude d'une onde porteuse. Dans un système ASK, le symbole binaire 1 est représenté en émettant une onde porteuse d'amplitude fixe et une fréquence fixe pendant une durée binaire de T secondes. Si la valeur du signal est 1, alors le signal de porteuse sera transmis; sinon, une valeur de signal de 0 sera transmise. Cela signifie qu'ils ne consomment généralement pas d'énergie lors de la transmission de Logic «zéro». Cette faible consommation d'énergie les rend très utiles dans les projets fonctionnant sur batterie.
Émetteur RF 433MHZ
Ce type de module est très petit et est livré avec 3 broches VCC, masse et données. Certains autres modules sont livrés avec une broche d'antenne supplémentaire. La tension de fonctionnement du module émetteur est de 3V-12V et ce module n'a aucun composant réglable. L'un des avantages majeurs de ce module est la faible consommation de courant, il ne nécessite pratiquement aucun courant pour envoyer le bit zéro.
Schéma de principe de l'émetteur de bateau Arduino RC
Dans le schéma fonctionnel ci-dessus, il y a quatre boutons poussoirs (boutons de commande), ces boutons-poussoirs servent à contrôler la direction du bateau. Nous en avons quatre pour l'avant, l'arrière, la gauche et la droite. À partir des boutons poussoirs, nous obtenons une logique de contrôle du bateau mais ne pouvons pas nous connecter directement à l'encodeur, c'est pourquoi nous avons utilisé l'Arduino. Vous pourriez penser pourquoi j'ai utilisé Arduino ici, c'est simplement parce que nous devons tirer vers le bas deux entrées de données parallèles de l'encodeur en même temps pour un mouvement en arrière et en avant qui ne peut pas être réalisé avec juste des boutons poussoirs. Ensuite, le codeur encode les données parallèles à venir en sorties série. Ensuite, nous pouvons transmettre ces données série à l'aide d'un émetteur RF.
Schéma de circuit de la télécommande Arduino RC (émetteur)
Dans le circuit ci-dessus, vous pouvez voir un côté des quatre boutons-poussoirs connectés à quatre broches numériques d'Arduino (D6-D9) et les quatre autres côtés connectés à la terre. C'est lorsque nous appuyons sur le bouton, les broches numériques correspondantes obtiennent une logique basse. Les quatre entrées parallèles de l' encodeur HT12E connectées à quatre autres broches numériques d'Arduino (D2-D5). Ainsi, avec l'aide d'Arduino, nous pouvons décider de l'entrée de l'encodeur.
Et parler du codeur HT12E est un codeur 12 bits et un codeur entrée-sortie parallèle parallèle. Sur 12 bits, 8 bits sont des bits d'adresse qui peuvent être utilisés pour contrôler plusieurs récepteurs. Les broches A0-A7 sont les broches d'entrée d'adresse. Dans ce projet, nous ne contrôlons qu'un seul récepteur, donc nous ne voulons pas changer son adresse, j'ai donc connecté toutes les broches d'adresse à la terre. Si vous souhaitez contrôler différents récepteurs avec un émetteur, vous pouvez utiliser des commutateurs DIP ici. AD8-AD11 sont les entrées de bit de contrôle. Ces entrées contrôleront les sorties D0-D3 du décodeur HT12D. Nous devons connecter un oscillateur pour la communication et la fréquence de l'oscillateur doit être de 3 KHzpour un fonctionnement 5V. Ensuite, la valeur de la résistance sera de 1,1 MΩ pour 5 V. Ensuite, j'ai connecté la sortie du HT12E au module émetteur. Nous avons déjà mentionné, le module émetteur Arduino et rf, ces deux appareils fonctionnant sur une haute tension 5V le tueront, donc pour éviter cela, j'ai ajouté le 7805, régulateur de tension. Maintenant, nous pouvons connecter (Vcc) 6-12 volts n'importe quel type de batteries à l'entrée.
Construction du circuit d'émetteur RC BOAT
J'ai soudé chaque composant sur un PCB commun. N'oubliez pas que nous travaillons sur un projet RF, il y a donc beaucoup de chances pour différents types d'interférences, alors connectez tous les composants très étroitement autant que possible. Il est préférable d'utiliser des en-têtes à broches femelles pour Arduino et le module émetteur. Essayez également de tout souder sur les pastilles de cuivre au lieu d'utiliser des fils supplémentaires. Enfin, connectez un petit fil au module émetteur qui aidera à augmenter la portée totale. Avant de connecter l'Arduino et le module émetteur, revérifiez la tension de la sortie du lm7805.
L'image ci-dessus montre la vue de dessus du circuit d'émetteur de bateau RC terminé et la vue de dessous du circuit d'émetteur de bateau RC terminé est illustrée ci-dessous.
Construction du boîtier d'émetteur de bateau Arduino RC
Un corps décent est nécessaire pour la télécommande. Cette étape concerne vos idées, vous pouvez créer un corps distant avec vos idées. J'explique comment j'ai fait ça. Pour fabriquer un corps à distance, je choisis des feuilles de MDF de 4 mm, vous pouvez également choisir du contreplaqué, une feuille de mousse ou du carton, puis j'en ai coupé deux morceaux d'une longueur de 10 cm et d'une largeur de 5 cm. Ensuite, j'ai marqué les positions des boutons. J'ai placé les boutons de direction sur le côté gauche et les boutons avant et arrière sur la droite. De l'autre côté de la feuille, j'ai connecté les boutons poussoirs au circuit principal de transmission. N'oubliez pas qu'un bouton-poussoir normal a 4 broches qui sont deux broches pour chaque côté. Connectez une broche à Arduino et l'autre broche au sol. Si vous êtes confus avec cela, veuillez le vérifier avec un multimètre ou consulter la fiche technique.
Après avoir connecté toutes ces choses, j'ai placé le circuit de commande entre les deux panneaux MDF et serré avec un long boulon (veuillez vous référer aux images ci-dessous si vous le souhaitez). Encore une fois, créer un bon corps dépend de vos idées.
Module récepteur 433Mhz
Ce récepteur est également très petit et est livré avec 4 broches VCC, la masse et les deux broches du milieu sont des données en sortie. La tension de fonctionnement de ce module est de 5v. Comme le module émetteur, il s'agit également d'un module de faible puissance. Certains modules sont livrés avec une broche d'antenne supplémentaire mais dans mon cas, ce n'est pas présent.
Schéma fonctionnel du récepteur de bateau Arduino RC
Le schéma fonctionnel ci-dessus décrit le fonctionnement du circuit récepteur RF. Tout d'abord, nous pouvons recevoir les signaux transmis à l'aide du module récepteur RF. La sortie de ce récepteur est constituée de données série. Mais nous ne pouvons rien contrôler avec ces données série, c'est pourquoi nous avons connecté la sortie au décodeur. Le décodeur décode les données série en nos données parallèles d'origine. Dans cette section, nous n'avons besoin d'aucun microcontrôleur, nous pouvons directement connecter les sorties au pilote du moteur.
Schéma de circuit du récepteur de bateau Arduino RC
Le HT12D est un décodeur 12 bits qui est un décodeur série entrée-sortie parallèle. La broche d'entrée du HT12D sera connectée à un récepteur doté d'une sortie série. Parmi les 12 bits, 8 bits (A0-A7) sont des bits d'adresse et le HT12D décodera l'entrée si seulement elle correspond à son adresse actuelle. D8-D11 sont les bits de sortie. Pour faire correspondre ce circuit au circuit de l'émetteur, j'ai connecté toutes les broches d'adresse à la terre. Les données hors du module sont de type série et le décodeur décode ces données série en données parallèles d'origine et nous sortons via D8-D11. Pour correspondre à la fréquence d'oscillation, connectez la résistance 33-56k aux broches de l'oscillateur. Led sur la 17ème broche indique la transmission valide, il ne s'allume qu'après lorsque le récepteur est connecté à un émetteur. La tension d'entrée du récepteur est également de 6 à 12 volts.
Pour contrôler les moteurs, j'ai utilisé le circuit intégré L293D, je choisis ce circuit intégré car pour diminuer la taille et le poids et ce circuit intégré est le meilleur pour contrôler deux moteurs dans deux directions. L293D a 16 broches, le schéma ci-dessous montre les brochages.
1, 9 broches sont la broche d'activation, nous la connectons à 5 v pour activer les moteurs 1A, 2A, 3A et 4A sont les broches de commande. Le moteur tournera vers la droite si la broche 1A devient basse et 2A devient haute, et le moteur tournera vers la gauche si 1A devient bas et 2A haut. Nous avons donc connecté ces broches à la sortie ps du décodeur. 1Y, 2Y, 3Y et 4Y sont les broches de connexion du moteur. Vcc2 est la broche de tension d'entraînement du moteur, si vous utilisez un moteur haute tension, vous connectez cette broche à la source de tension correspondante.
Construction du circuit récepteur du bateau Arduino RC
Avant de construire le circuit récepteur, vous devez vous rappeler certaines choses importantes. L'important est la taille et le poids car après avoir construit le circuit, nous devons le fixer sur le bateau. Donc, si le poids augmente, cela affectera la flottabilité et le mouvement.
Donc, comme dans le circuit de l'émetteur, soudez chaque composant dans un petit PCB commun et essayez d'utiliser un minimum de fils. J'ai connecté la broche 8 du pilote de moteur à 5v car j'utilise des moteurs 5V.
Construire le RC-BOAT
J'ai essayé différents matériaux pour construire le corps du bateau. Et j'ai obtenu un meilleur résultat avec la feuille thermocol. J'ai donc décidé de construire le corps avec du thermocol. J'ai d'abord pris un morceau de thermocolle de 3 cm d'épaisseur et placé le circuit récepteur dessus, puis j'ai marqué la forme du bateau en thermocol et découpé. C'est donc ma façon de construire le bateau, vous pouvez construire selon vos idées.
Moteurs et hélices pour Arduino Air Boat
Une fois de plus, le poids compte. Il est donc important de choisir le bon moteur, je choisis des moteurs à courant continu normaux de type n20 de 5 volts, petits et légers. Pour éviter les interférences RF, connectez un condensateur de 0,1 uf en parallèle aux entrées du moteur.
Dans le cas des hélices, j'ai fabriqué des hélices en utilisant des feuilles de plastique. Vous pouvez acheter des hélices dans le magasin ou construire les vôtres, les deux fonctionneront très bien. Pour construire les hélices, j'ai d'abord pris une petite feuille de plastique et j'en ai coupé deux petits morceaux et je plie les morceaux à l'aide de la chaleur d'une bougie. Enfin, j'ai mis un petit trou en son centre pour le moteur et fixé au moteur c'est tout.
Fonctionnement du bateau Arduino RC
Ce bateau a deux moteurs permet de l'appeler gauche et droite. Si le moteur se déplace également dans le sens des aiguilles d'une montre (la position de l'hélice dépend également), l'hélice aspire l'air de l'avant et s'échappe vers l'arrière. Cela génère une traînée vers l'avant.
Mouvement vers l'avant: si les moteurs gauche et droit tournent dans le sens des aiguilles d'une montre, cela fera avancer
Mouvement vers l'arrière: Si les moteurs gauche et droit tournent dans le sens antihoraire (c'est-à-dire que l'hélice aspire l'air de l'arrière et s'échappe vers l'avant), cela fera un mouvement vers l'arrière
Mouvement à gauche: Si seul le moteur droit tourne, c'est que le bateau ne traîne que du côté droit, ce qui fera bouger le bateau vers le côté gauche
Mouvement à droite: Si seul le moteur gauche tourne, c'est que le bateau ne reçoit que de la traînée du côté gauche, ce qui le fera se déplacer vers le côté droit.
Nous avons connecté l'entrée du pilote du moteur à quatre bits de sortie du décodeur (D8-D11). on peut contrôler ces 4 sorties en connectant l'AD8-AD11 à la masse que sont les boutons de la télécommande. Par exemple, si nous connectons AD8 à la terre, cela activera le D8. Ainsi, nous pouvons contrôler les deux moteurs dans deux directions en utilisant ces 4 sorties. Mais nous ne pouvons pas contrôler deux moteurs par un seul bouton (nous en avons besoin pour les mouvements vers l'avant et vers l'arrière), c'est pourquoi nous avons utilisé l'Arduino. Avec l'aide d'Arduino, nous pouvons sélectionner les broches de données d'entrée comme nous le souhaitons.
Programmation Arduino du bateau RC
La programmation de ce bateau est très simple car nous ne voulons que quelques commutations logiques. Et nous pouvons tout réaliser avec les fonctions de base Arduino. Le programme complet de ce projet se trouve au bas de cette page. L'explication de votre programme est la suivante
Nous démarrons le programme en définissant les entiers pour quatre boutons d'entrée et les broches d'entrée du décodeur.
int f_button = 9; int b_button = 8; int l_button = 7; int r_button = 6; int m1 = 2; int m2 = 3; int m3 = 4; int m4 = 5;
Dans la section de configuration, j'ai défini les modes de broche. Autrement dit, les boutons sont connectés à des broches numériques, donc ces broches doivent être définies comme une entrée et nous devons obtenir une sortie pour l'entrée du décodeur, nous devons donc définir ces broches comme une sortie.
pinMode (f_button, INPUT_PULLUP); pinMode (b_button, INPUT_PULLUP); pinMode (l_button, INPUT_PULLUP); pinMode (r_button, INPUT_PULLUP); pinMode (m1, SORTIE); pinMode (m2, SORTIE); pinMode (m3, SORTIE); pinMode (m4, SORTIE);
Ensuite, dans la fonction de boucle principale, nous lirons l'état du bouton à l'aide de la fonction de lecture numérique d'Arduino. Si l'état de la broche devient bas, cela signifie que la broche correspondante est enfoncée, nous exécuterons les conditions comme suit:
if (digitalRead (f_button) == LOW)
Cela signifie que le bouton avant est enfoncé
{ DigitalWrite (m1, LOW); DigitalWrite (m3, FAIBLE); DigitalWrite (m2, HIGH); DigitalWrite (m4, HIGH); }
Cela réduira m1 et m2 de l'encodeur, ce qui activera les deux moteurs côté récepteur. De même, pour un mouvement vers l'arrière
{ DigitalWrite (m1, HIGH); digitalWrite (m3, HIGH); DigitalWrite (m2, FAIBLE); DigitalWrite (m4, LOW); }
Pour le mouvement à gauche
{ DigitalWrite (m1, LOW); digitalWrite (m3, HIGH); DigitalWrite (m2, HIGH); DigitalWrite (m4, HIGH); }
Pour un bon mouvement
{ DigitalWrite (m1, HIGH); DigitalWrite (m3, FAIBLE); DigitalWrite (m2, HIGH); DigitalWrite (m4, HIGH); }
Après avoir compilé le code, téléchargez-le sur votre carte Arduino.
Dépannage: Placez le bateau sur la surface de l'eau et vérifiez s'il se déplace correctement sinon essayez de changer la polarité des moteurs et des hélices. Essayez également d'équilibrer le poids.
Le fonctionnement complet du projet peut être trouvé dans la vidéo liée au bas de cette page. Si vous avez des questions, laissez-les dans la section des commentaires.