Table des matières:

OmniBoard : Skateboard et Hoverboard hybride avec contrôle Bluetooth : 19 étapes (avec photos)
OmniBoard : Skateboard et Hoverboard hybride avec contrôle Bluetooth : 19 étapes (avec photos)

Vidéo: OmniBoard : Skateboard et Hoverboard hybride avec contrôle Bluetooth : 19 étapes (avec photos)

Vidéo: OmniBoard : Skateboard et Hoverboard hybride avec contrôle Bluetooth : 19 étapes (avec photos)
Vidéo: Tony Hawk Rides World's First Real Hoverboard - Hendo Hover 2024, Juillet
Anonim
OmniBoard: Skateboard et Hoverboard hybride avec contrôle Bluetooth
OmniBoard: Skateboard et Hoverboard hybride avec contrôle Bluetooth

L'OmniBoard est un nouvel hybride électrique Skateboard-Hoverboard contrôlable via une application Bluetooth pour smartphone. Il est capable de se déplacer avec les trois degrés de liberté réalisables par les deux planches combinées, d'avancer, de tourner autour de son axe et de mitrailler latéralement.

Cela vous permet de vous déplacer dans la direction que vous désirez ainsi que de faire des trucs astucieux que vous ne pourriez pas faire autrement avec votre mode de transport typique comme les planches à roulettes (électriques), les hoverboards, les voitures, les vélos, etc.

Mon ami et moi avons décidé de construire l'OmniBoard comme exercice et défi amusant, ainsi que de participer à certains concours Instructables, à savoir le défi des roues. Nous voulions faire quelque chose qui n'a jamais été fait auparavant, qui soit cool et qui serait utile. Comme le système de transport en commun n'est souvent pas fiable et que la circulation urbaine est affreuse le matin et l'après-midi en voiture pour se rendre au travail et en revenir, un mode de transport alternatif tel que le vélo ou la planche à roulettes est utile. Les skateboards et vélos électriques sont utiles pour les trajets longue distance, mais il existe déjà de nombreuses solutions grand public et DIY pour ce sujet. Nous avons donc décidé de réinventer la roue, littéralement, et de créer une nouvelle OmniBoard amusante.

Étape 1: Outils et matériaux

Outils et matériaux
Outils et matériaux
Outils et matériaux
Outils et matériaux
Outils et matériaux
Outils et matériaux

Système de conduite

  • (4) roues Omni
  • (4) poulie 60 dents
  • (4) poulie 20 dents
  • (4) Courroie de distribution GT2 (nous avons utilisé 140 dents)
  • (8) 7mm ID, 19mm OD roulement*
  • (20) vis à métaux M5 (ou de taille similaire), d'environ 25 mm de long*
  • (28) Écrous de la même taille que les vis à métaux*
  • (32) vis à bois n° 2, 3/8" de long*
  • (16) Les équerres, de préférence quatre trous, doivent être à au moins 1/2" du coin au trou de vis*
  • Feuille de contreplaqué 1'x2'*
  • Surface de planche à roulettes

Électronique:

Système de conduite

  • (4) moteurs à courant continu
  • (4) Contrôleurs de vitesse électroniques (ESC)
  • Tableau de distribution électrique (PDB)
  • Fil de silicone 16AWG - Rouge et noir
  • Répartiteur parallèle de connecteur XT90
  • Connecteur XT90 Mâle avec Queue
  • (8 paires) connecteur de balle de 4 mm
  • (4 paires) Connecteurs XT60
  • (2) Batteries LiPo

Télécommande

  • Planche de perforation recto-verso*
  • Régulateur de tension LM7805*
  • Fils à âme pleine 24AWG - Couleurs assorties*
  • Module Bluetooth HC-05*
  • Arduino Uno v3*
  • (32 broches) Embases à broches mâles double face*
  • (12 broches) En-têtes de broche de bière simple face *

Outils:

  • Station de soudure et soudure
  • Pinces coupantes
  • Pince à dénuder
  • Pinces
  • Ciseaux
  • Forets:1-3/8", 3/4", 1/4"

Équipement

  • Imprimante 3D
  • Découpeur laser
  • Scie à ruban
  • Perceuse

* Obtenu dans le magasin d'électronique ou la quincaillerie local.

Étape 2: Comment ça marche

Comment ça fonctionne
Comment ça fonctionne

L'Omniboard est à la fois un skateboard électrique et un hoverboard ! Il est capable d'avancer et de reculer, d'un côté à l'autre et de tourner, le tout contrôlé par un joystick sur votre téléphone.

L'Omniboard est alimenté par quatre moteurs chacun attaché à une roue omnidirectionnelle. Étant donné que les roues omni sont autorisées à glisser latéralement, la variation de la vitesse et de la direction de chaque moteur permet à la planche de se déplacer dans la direction choisie par l'utilisateur, comme illustré dans l'image ci-dessus.

Étape 3: Assemblage des essieux de roue Omni

Assemblage des axes de roues Omni
Assemblage des axes de roues Omni
Assemblage des axes de roues Omni
Assemblage des axes de roues Omni
Assemblage des axes de roues Omni
Assemblage des axes de roues Omni
Assemblage des axes de roues Omni
Assemblage des axes de roues Omni

Les pièces dont vous aurez besoin pour assembler les essieux sont:

  • (8) entretoise de roulement imprimée en 3D
  • (4) grande entretoise de poulie imprimée en 3D
  • (8) Roulement
  • (4) roue Omni
  • (4) Grande poulie
  • (4) clé 3x3x80mm

Tout d'abord, vous voulez mettre une entretoise de roulement sur l'extrémité de l'arbre comme indiqué. L'entretoise est conçue pour être très ajustée, je recommande donc d'utiliser un étau ou un maillet pour l'enfiler. S'il est trop ample, déplacez-le un peu plus haut sur la clé et attachez un collier. Vous n'avez pas à vous soucier d'un collier pour l'autre extrémité.

Ensuite, vous faites glisser la roue omni suivie d'une entretoise de roulement dans la direction opposée. Vous pouvez enfiler les roulements maintenant (cela n'a pas d'importance car ils ne sont pas bien ajustés) et cela devrait ressembler à l'image. Enfin, vous pouvez glisser les longues entretoises de poulie fines dans les poulies. À ce stade, ne serrez pas les vis de réglage de la poulie et ne les placez pas sur la clé. Ceux-là viennent plus tard.

Étape 4: Couper et percer les camions Omni Wheel

Image
Image
Découpe et perçage des camions à roues Omni
Découpe et perçage des camions à roues Omni
Découpe et perçage des camions à roues Omni
Découpe et perçage des camions à roues Omni
Découpe et perçage des camions à roues Omni
Découpe et perçage des camions à roues Omni

C'est là que votre découpeuse laser et votre contreplaqué de 3/8 d'épaisseur sont utiles ! Le CAO pour la découpe laser du cadre est attaché au format.dxf.

Ensuite, vous percez deux trous sur les petites croix que le cutter laser laissera sur le contreplaqué. La croix légèrement plus petite sera percée avec le foret de 3/4" à seulement 1/4" du chemin, tandis que la plus grande croix sera percée avec le foret de 1-3/8" sur toute sa longueur. C'est très important dont vous vous souvenez pour la moitié des pièces de couper les trous de 3/4" d'un côté et l'autre moitié de l'autre côté. Ensuite, percez un trou plus petit de 3/8" au milieu des trous de 3/4", tout au long de la couche que vous n'avez pas coupée auparavant.

Enfin, vissez les équerres sur les côtés les plus courts des pièces rectangulaires. Vous avez maintenant presque tout ce dont vous avez besoin pour assembler les camions à roues omnidirectionnelles.

Étape 5: Assemblage des camions Omni Wheel

Assemblage des camions Omni Wheel
Assemblage des camions Omni Wheel
Assemblage des camions Omni Wheel
Assemblage des camions Omni Wheel
Assemblage des camions Omni Wheel
Assemblage des camions Omni Wheel

Nous pouvons maintenant terminer l'assemblage du camion ! Vous aurez besoin des pièces des deux dernières étapes plus:

  • (4) Courroie de distribution
  • (4) petite entretoise de poulie imprimée en 3D
  • (4) Petite poulie
  • (4) Moteur

Glissez chaque côté de contreplaqué sur les roulements. Si les trous de 3/4 ne s'adaptent pas facilement sur les roulements, utilisez un Dremel pour les poncer un peu plus large. Une fois qu'ils sont en place, placez la poulie sur la clé en saillie et serrez les vis de réglage. Vissez la pièce rectangulaire dans le encoche au-dessus de la roue omni.

À ce stade, vérifiez que votre roue omni tourne librement. Si ce n'est pas le cas, votre poulie pourrait serrer le contreplaqué. Soulevez-le un peu plus haut sur la clé.

Ensuite, nous allons installer les moteurs. Les trous de 1-3/8 sont un peu trop petits, alors poncez lentement le cercle intérieur avec un Dremel jusqu'à ce que le moteur s'adapte parfaitement à l'intérieur. Veillez à ne pas forcer le moteur et à ne pas déformer le Une fois le moteur en place, glissez la courroie sur les petites poulies, puis les petites poulies sur leurs entretoises et sur l'arbre moteur de 3,175 mm. Serrez les vis de réglage.

Par souci de compacité et de symétrie, vous voudrez mettre les poulies et les courroies d'un côté du camion pour deux d'entre eux et de l'autre côté pour les deux autres.

Étape 6: Montage sur la plate-forme de skateboard

Montage sur la plate-forme de skateboard
Montage sur la plate-forme de skateboard
Montage sur la plate-forme de skateboard
Montage sur la plate-forme de skateboard
Montage sur la plate-forme de skateboard
Montage sur la plate-forme de skateboard

Maintenant, nous allons attacher les camions à la plate-forme de skateboard. Vous pouvez fabriquer le vôtre à partir de contreplaqué et de ruban adhésif; le nôtre a été pris d'un vieux skateboard.

Tout d'abord, vous devrez percer des trous de 1/4 des deux côtés du contreplaqué, comme indiqué sur l'image. Dans chaque trou, fixez un support d'angle avec une vis M5 et double écrou sur le côté intérieur pour l'empêcher de venir desserré à cause des vibrations. Mesurez et percez les trous qui vous permettent de monter les camions aussi près des extrémités et à un angle de conicité aussi raide que possible tout en restant dans l'empreinte de la plate-forme. Maintenant, retournez-le et faites-lui un test de charge !

Étape 7: Souder les moteurs

Image
Image
Souder les moteurs
Souder les moteurs

Soudez les connecteurs bullet mâles de 4 mm à un fil qui se connectera aux moteurs, puis soudez ce fil sur les bornes du moteur. Pour l'organisation des câbles, chaque fil est coupé à 6 cm et dénudé des deux extrémités

Astuce: il est plus facile de souder d'abord les fils sur les connecteurs bullet, puis de les souder au moteur que l'inverse.

Pour souder le connecteur bullet sur le fil, placez-le sur une pince crocodile isolée de la main secourable (car la chaleur se dissipe rapidement du corps du connecteur bullet au corps métallique de la main secourable conductrice de chaleur). Ensuite, mettez de la soudure sur le connecteur bullet, à mi-chemin environ et tout en gardant le fer dans le connecteur, plongez le fil sur le pool de soudure, comme indiqué dans la vidéo. Puis thermorétractez le fil et le connecteur de balle.

Ensuite, placez le fil à côté de la borne du moteur et maintenez-le en position verticale à l'aide de la main secourable. J'ai utilisé le rouleau de soudure pour maintenir le moteur à l'envers. Puis soudez le fil sur la borne du moteur. L'ordre et la couleur des fils sont ambigus et n'ont pas d'importance, car l'ordre peut être inversé pour inverser la rotation, ce qui sera fait dans les prochaines étapes si nécessaire.

Étape 8: Souder les connecteurs de batterie ESC

Connecteurs de batterie ESC à souder
Connecteurs de batterie ESC à souder
Connecteurs de batterie ESC à souder
Connecteurs de batterie ESC à souder

Avant de souder, coupez un peu de thermorétractable pour chacun des fils qui seront utilisés pour isoler les extrémités soudées exposées.

Coupez l'un des fils du connecteur de la batterie, dénudez-le, glissez le thermorétractable et soudez-le au connecteur XT60 avec le rouge se connectant à la borne positive du XT60 et le noir à la borne négative du XT60.

Attention: ne coupez les fils ESC qu'un à la fois, car il y a un condensateur qui peut être chargé entre les bornes positive et négative qui court-circuitera si les ciseaux ou les coupe-fils coupent les deux à la fois.

Pour souder le fil sur le connecteur XT60, utilisez les mains secourables pour tenir le corps du connecteur XT60. Ensuite, déposez un peu de soudure sur la borne XT60 à mi-chemin et tout en gardant le fer à souder sur le connecteur XT60, plongez le fil dans le pool de soudure liquide, comme indiqué dans la vidéo de l'étape précédente. Une fois refroidi, faites glisser le thermorétractable vers le bas pour isoler l'extrémité exposée et chauffez-le avec les côtés du fer à souder.

Répétez cette opération pour le reste des fils des connecteurs de batterie des ESC.

Étape 9: Soudage de la carte de distribution électrique (PDB)

Souder la carte de distribution d'énergie (PDB)
Souder la carte de distribution d'énergie (PDB)
Souder la carte de distribution d'énergie (PDB)
Souder la carte de distribution d'énergie (PDB)
Souder la carte de distribution d'énergie (PDB)
Souder la carte de distribution d'énergie (PDB)
Souder la carte de distribution d'énergie (PDB)
Souder la carte de distribution d'énergie (PDB)

Le PDB recevra l'entrée des deux batteries au lithium polymère (LiPo) avec une tension et un courant combinés de 11,1 V et 250 A, respectivement, et la distribuera aux quatre ESC.

Astuce: il est plus facile de souder d'abord les fils du connecteur XT90 mâle aux pastilles PDB, puis les fils 16 AWG aux ESC, suivis des connecteurs XT60 sur ces fils.

Avant de souder les fils, coupez le thermorétractable pour qu'il s'adapte à chacun des fils, afin qu'il puisse être glissé sur l'extrémité soudée exposée plus tard pour éviter les courts-circuits.

Pour souder les fils sur les plots du PDB, j'ai trouvé plus simple d'utiliser les mains secourables pour tenir les fils à la verticale (en particulier le gros câble XT90) et de le placer sur le PDB posé sur la table. Puis soudez le fil autour du plot PDB. Ensuite, faites glisser le thermorétractable vers le bas et chauffez-le pour isoler les circuits.

Répétez cette opération pour le reste des fils ESC.

Pour souder le XT60, suivez l'étape précédente sur la façon dont la borne de batterie ESC a été remplacée par des XT60.

Étape 10: Connecter les fils

Connecter les fils
Connecter les fils

Connectez les fils du moteur aux bornes du connecteur à balles de l'ESC. Ensuite, branchez la broche de signal blanche de l'ESC à la broche 9 et la broche de terre noire à la broche GND sur l'Arduino. Des bandes à double verrouillage ont été utilisées pour fixer tous les ESC et les fils à la carte.

Pour vérifier si la rotation des moteurs est correcte (tournant vers l'avant), exécutez l'exemple de code sur l'Arduino ci-dessous.

#comprendre

Servomoteur;

octet dans le sens des aiguilles d'une montreVitesse = 110; intervalle long non signé = 1500; int motorPin = 9;

void setup()

{ Serial.begin(9600); motor.attach(motorPin); Serial.println("Début du test"); }

boucle vide()

{ motor.write (vitesse des aiguilles d'une montre); Serial.println("Arrêter le moteur de tourner"); Intervalle de retard); }

L'ordre des fils connectés de l'ESC au moteur détermine la rotation du moteur. Si le moteur tourne dans le sens inverse des aiguilles d'une montre, notez le moteur et modifiez le booléen dans le code du contrôleur à l'étape « Programmation du contrôleur Omniboard ». S'il tourne dans le sens des aiguilles d'une montre vers l'avant, alors la rotation est correcte. Faites cela pour chacun des quatre moteurs. Si le moteur ne tourne pas, vérifiez tous vos connecteurs s'il y a de la soudure froide entraînant une connexion lâche.

Étape 11: Modification du mode ESC

Modification du mode ESC
Modification du mode ESC

Par défaut, les ESC brossés sont en mode entraînement. Ceci est indiqué par la lumière LED clignotante. Afin de contrôler par programmation un moteur dans le sens inverse, le mode ascension est nécessaire.

Pour accéder à ce mode, connectez l'ESC à l'Arduino en branchant la broche de signal blanche de l'ESC à la broche 9 et la broche de terre noire à la broche GND de l'Arduino. Ensuite, téléchargez et exécutez le programme suivant sur la carte Arduino:

#comprendre

Servomoteur;

octet stopSpeed = 90; intervalle long non signé = 1500; int motorPin = 9;

void setup()

{ Serial.begin(9600); motor.attach(motorPin); Serial.println("Début du test"); }

boucle vide()

{ motor.write(stopSpeed); Serial.println("Arrêter le moteur de tourner"); Intervalle de retard); }

Allumez l'ESC, puis appuyez et maintenez enfoncé le bouton de programmation pendant deux secondes. L'indicateur LED sera désormais fixe au lieu de clignoter, ce qui signifie que le mode a été passé avec succès en mode escalade.

Étape 12: Interfaçage avec le module Bluetooth et le téléphone

Interfaçage avec le module Bluetooth et le téléphone
Interfaçage avec le module Bluetooth et le téléphone
Interfaçage avec le module Bluetooth et le téléphone
Interfaçage avec le module Bluetooth et le téléphone
Interfaçage avec le module Bluetooth et le téléphone
Interfaçage avec le module Bluetooth et le téléphone

Le module Bluetooth HC-05 permet à l'Arduino de se connecter à un téléphone pour permettre le contrôle sans fil du skateboard via une application. Comme j'ai trouvé des problèmes certains défectueux dans les interfaces du module Bluetooth, il serait préférable de le tester d'abord avant de souder le circuit final, Nous utiliserons 4 des 6 broches du module Bluetooth. Ce sont: Tx (Transmission), Rx (Réception), 5V et GND (Masse). Connectez les broches Tx et Rx du module Bluetooth HC-05 aux broches 10 et 11 de l'Arduino, respectivement. Ensuite, connectez la broche 5V et les broches GND aux broches avec la même étiquette sur l'Arduino.

Sur l'application Blynk, ajoutez les widgets Bluetooth et bouton, comme indiqué dans les images ci-dessus. Ensuite, attribuez la broche numérique D13, qui est connectée à la LED intégrée de l'Arduino Uno, au bouton.

Téléchargez et exécutez le code suivant sur l'Arduino avec le module Bluetooth branché et ouvrez le moniteur série pour voir si le module Bluetooth s'est connecté. Ensuite, basculez le bouton On/Off et observez la LED intégrée sur l'Arduino changer.

#define BLYNK_PRINT Série

#comprendre

#comprendre

// Vous devriez obtenir le jeton d'authentification dans l'application Blynk.

// Allez dans les paramètres du projet (icône en forme d'écrou). char auth = "Votre jeton d'authentification";

LogicielSerial SerialBLE(10, 11); // Réception, Émission

BLYNK_WRITE(V1)

{ int pinValue = param.asInt(); // affectation de la valeur entrante de la broche V1 à une variable }

void setup()

{ Serial.begin(9600); // console de débogage SerialBLE.begin(9600); Blynk.begin(SerialBLE, auth); Serial.println("En attente de connexions…"); }

boucle vide()

{ Blynk.run(); }

Étape 13: Souder le blindage Arduino

Souder le bouclier Arduino
Souder le bouclier Arduino
Souder le bouclier Arduino
Souder le bouclier Arduino
Souder le bouclier Arduino
Souder le bouclier Arduino
Souder le bouclier Arduino
Souder le bouclier Arduino

Afin de nettoyer les circuits et les cavaliers desserrés du prototype, nous souderons un blindage Arduino qui se connecte à chacun des ESC et du module Bluetooth, ainsi qu'une alimentation à l'Arduino.

Soudez le schéma suivant ci-dessus sur une planche perforée double face.

J'ai d'abord dimensionné et branché les en-têtes mâles double face sur les en-têtes femelles Arduino, puis je les ai soudés sur le dessus de la carte de perforation pour les deux côtés. Une fois qu'ils ont été soudés, je l'ai retiré de la carte Arduino pour souder la partie inférieure de la carte. Ensuite, j'ai soudé les embases à broches mâles à simple face ESC en 4 ensembles de 3 sur la face inférieure de la carte de perforation. Après quoi, j'ai placé le module Bluetooth HC-05 à la verticale et j'ai également soudé les connecteurs sur la face inférieure de la carte de perforation.

Étant donné que le module Bluetooth nécessite une entrée de tension de 5 V et que le PDB n'est régulé qu'à 12 V, j'ai utilisé un LM7805 pour réduire le courant afin de limiter la consommation de courant de l'Arduino. Cette même alimentation 5V est également connectée à la broche 5V de l'Arduino de sorte que l'Arduino puisse être alimenté via le blindage par opposition à un adaptateur jack supplémentaire.

Les broches du LM7805 ont été soudées au bas de la carte de perforation avec le composant régulateur de tension assis au sommet de la carte de perforation, comme indiqué dans l'image ci-dessus. J'ai soudé toutes les connexions d'alimentation à chacun des composants et aux en-têtes de broche ESC et au module Bluetooth HC-05 comme décrit dans le schéma. La sortie 12V du PDB a ensuite été soudée à la broche d'entrée VCC (la plus à gauche) et à la broche de masse (au milieu) du régulateur de tension LM7805. Enfin, chacun des en-têtes de broche de signal ESC et les broches Tx et Rx du module Bluetooth HC-05 vers les broches numériques Arduino via les en-têtes de broche mâles double face, comme indiqué dans le schéma.

Étape 14: Création de l'application via Blynk

Création de l'application via Blynk
Création de l'application via Blynk

L'Omniboard sera contrôlé via Bluetooth à l'aide de n'importe quel smartphone via l'application Blynk. Blynk est une application Android et iOS qui permet d'utiliser des modules et des widgets pouvant s'interfacer avec plusieurs microcontrôleurs dotés de capacités Bluetooth ou sans fil ou des modules Bluetooth / sans fil, comme le HC-05.

1. Installez Blynk sur votre téléphone.

2. Créez un compte et connectez-vous

3. Créez un nouveau projet et nommez-le. J'ai nommé le mien "Contrôleur Omniboard", sélectionnez Arduino Uno comme microcontrôleur et sélectionnez Bluetooth comme type d'interface.

4. Faites glisser et déposez les widgets suivants à l'écran: Bluetooth, Carte, 2 boutons et Joystick

Étape 15: interfacer des widgets avec Arduino

Interfacer des widgets avec Arduino
Interfacer des widgets avec Arduino
Interfacer des widgets avec Arduino
Interfacer des widgets avec Arduino
Interfacer des widgets avec Arduino
Interfacer des widgets avec Arduino

Le bouton sera utilisé pour basculer entre le mode Hoverboard et le mode Skateboard. Le mode Hoverboard permet un contrôle précis de la rotation et du strafe tout en maintenant une vitesse de croisière. Tandis que le mode skateboard donne un contrôle précis de la vitesse d'avancement et de la rotation. Le joystick contrôlera le skateboard avec deux degrés de liberté qui sont intervertis par le bouton bascule. La carte affichera votre position actuelle ainsi que les points de cheminement pour d'autres endroits où aller. Le bluetooth permet à l'interface de se connecter avec un module Bluetooth.

Paramètres du joystick:

Sélectionnez "Fusionner" pour le type de sortie et attribuez-le à la broche virtuelle V1

Réglage des boutons:

  • Nommez le premier bouton "Hover Mode" et le deuxième bouton "Cruise Control".
  • Attribuez la sortie du premier bouton à la broche virtuelle V2 et changez le mode en « Switch ».
  • Attribuez la sortie du deuxième bouton à la broche virtuelle V3 et changez le mode en « Switch ».
  • Renommez les noms de bascule des premiers boutons en "Hover" et "Skate" et conservez "ON" et "OFF".

Paramètres de la carte:

Attribuez à l'entrée la valeur V4

Paramètres Bluetooth:

Sélectionnez le widget Bluetooth sur l'application Blynk et connectez-vous avec votre module. Le mot de passe par défaut du module Bluetooth est '1234'

Étape 16: Programmation du contrôleur Omniboard

Programmation du contrôleur Omniboard
Programmation du contrôleur Omniboard
Programmation du contrôleur Omniboard
Programmation du contrôleur Omniboard
Programmation du contrôleur Omniboard
Programmation du contrôleur Omniboard

La dynamique de l'Omniboard a été programmée sur la base de l'algorithme de dynamique dérivé de la section "Comment ça marche". Chacun des 3 degrés de liberté, avant, strafe et spin sont calculés indépendamment et sont superposés les uns aux autres pour donner une gamme complète de contrôle de mouvement de l'Omniboard. La commande de chacun des moteurs est linéairement proportionnelle au mouvement du joystick. Téléchargez et exécutez le code suivant sur l'Arduino.

#define BLYNK_PRINT Série

#comprendre

#comprendre

#comprendre

ServomoteurFR; ServomoteurFL; ServomoteurBR; ServomoteurBL;

bool motorFRrev = vrai;

bool motorFLrev = vrai; bool motorBRrev = vrai; bool motorBLrev = vrai;

float motorFRang = 330,0*PI/180,0;

float motorFLang = 30,0*PI/180,0; moteur à flotteurBRang = 210,0*PI/180,0; moteur à flotteurBLang = 150,0*PI/180,0;

float motorFRspeedT;

moteur à flotteurFLspeedT; float motorBRspeedT; moteur à flotteurBLspeedT;

float motorFRspeedR;

moteur à flotteurFLspeedR; moteur à flotteurBRvitesseR; moteur à flotteurBLspeedR;

float maxAccel = 10;

octet avantVitesse = 110;

octet backSpeed = 70; octet stopSpeed = 90; // passage au nombre déterminé expérimentalement

int cruiseControl;

int yawMode;

// Vous devriez obtenir le jeton d'authentification dans l'application Blynk.

// Allez dans les paramètres du projet (icône en forme d'écrou). char auth = "8523d5e902804a8690e61caba69446a2";

LogicielSerial SerialBLE(10, 11); // Réception, Émission

BLYNK_WRITE(V2) {cruiseControl = param.asInt();}

BLYNK_WRITE(V3) {yawMode = param.asInt();} WidgetMap maMap(V4);

BLYNK_WRITE(V1)

{ int x = param[0].asInt(); int y = param[1].asInt();

if (!cruiseControl) calcTranslation(x, y);

if (yawMode) calcRotation(x, y); else { motorFRspeedR = 0; motorFLspeedR = 0; moteurBRvitesseR = 0; motorBLspeedR = 0; } writeToMotors(); }

void setup()

{ motorFR.attach(9); motorFL.attach(6); motorBR.attach(5); motorBL.attach(3); retard(1500); // attend que les moteurs s'initialisent // Debug console Serial.begin(9600);

SerialBLE.begin(9600);

Blynk.begin(SerialBLE, auth);

Serial.println("En attente de connexions…");

// Si vous souhaitez supprimer tous les points:

//maCarte.clear();

indice entier = 1;

lat flottante = 43,653172; flottant lon = -79,384042; myMap.location(index, lat, lon, "valeur"); }

boucle vide()

{ Blynk.run(); }

void calcTranslation(int joyX, int joyY)

{ float normX = (joyX - 127.0)/128.0; float normY = (joyY - 127.0)/128.0; motorFRspeedT = (normY*cos(motorFRang) + normX*sin(motorFRang))*(1 - 2*motorFRrev); motorFLspeedT = (normY*cos(motorFLang) + normX*sin(motorFLang))*(1 - 2*motorFLrev); motorBRspeedT = (normY*cos(motorBRang) + normX*sin(motorBRang))*(1 - 2*motorBRrev); motorBLspeedT = (normY*cos(motorBLang) + normX*sin(motorBLang))*(1 - 2*motorBLrev); }

void calcRotation(int joyX, int joyY)

{ float normX = (joyX - 127.0)/128.0; float normY = (joyY - 127.0)/128.0; motorFRspeedR = joyX*(1 - 2*motorFRrev); motorFLspeedR = -joyX*(1 - 2*motorFLrev); motorBRspeedR = -joyX*(1 - 2*motorBRrev); motorBLspeedR = joyX*(1 - 2*motorBLrev); }

void writeToMotors()

{ float motorFRspeed = motorFRspeedT + motorFRspeedR; float motorFLspeed = motorFLspeedT + motorFLspeedR; float motorBRspeed = motorBRspeedT + motorBRspeedR; float motorBLspeed = motorBLspeedT + motorBLspeedR;

long motorFRmapped = map((long) (100*motorFRspeed), -100, 100, backSpeed, forwardSpeed);

long motorFLmapped = map((long) (100*motorFLspeed), -100, 100, backSpeed, forwardSpeed); long motorBRmapped = map((long) (100*motorBRspeed), -100, 100, backSpeed, forwardSpeed); long motorBLmapped = map((long) (100*motorBLspeed), -100, 100, backSpeed, forwardSpeed); motorFR.write(motorFRmapped); motorFL.write(motorFLmapped); motorBR.write(motorBRmapped); motorBL.write(motorBLmapped); }

Étape 17: Installation du boîtier électronique

Installation du boîtier électronique
Installation du boîtier électronique
Installation du boîtier électronique
Installation du boîtier électronique
Installation du boîtier électronique
Installation du boîtier électronique
Installation du boîtier électronique
Installation du boîtier électronique

Afin d'éviter que tous les fils et pièces ne pendent du bas, imprimez en 3D le boîtier attaché, puis vissez-le sur le skateboard à l'aide de vis M5.

Étape 18: Peindre

Peinture
Peinture
Peinture
Peinture
Peinture
Peinture

L'inspiration pour la conception du pont supérieur sont les circuits et les modèles de PCB. Pour ce faire, d'abord le bas de la planche à roulettes est recouvert de mon ruban de peintre enveloppant. Ensuite, tout le pont supérieur est recouvert de peinture blanche. Une fois sec, il est masqué avec le négatif du motif du circuit, puis repeint d'une couche noire. Ensuite, décollez soigneusement les masquages de la couche supérieure et le tour est joué, une planche à roulettes au look cool.

Je vous encourage à personnaliser le design de votre propre Omniboard et à exercer votre liberté de création.

Étape 19: Test et démo

Image
Image

Deuxième Prix du Concours Roues 2017

Concours Télécommande 2017
Concours Télécommande 2017

Premier Prix du Concours Télécommande 2017

Conseillé: