Table des matières:

HackerBoxes 0013 : Autosport : 12 étapes
HackerBoxes 0013 : Autosport : 12 étapes

Vidéo: HackerBoxes 0013 : Autosport : 12 étapes

Vidéo: HackerBoxes 0013 : Autosport : 12 étapes
Vidéo: Hackerboxes 0013: AUTOSPORT 2024, Juillet
Anonim
HackerBoxes 0013: Autosport
HackerBoxes 0013: Autosport

AUTOSPORT: Ce mois-ci, les HackerBox Hackers explorent l'électronique automobile. Ce Instructable contient des informations pour travailler avec HackerBoxes #0013. Si vous souhaitez recevoir une box comme celle-ci directement dans votre boîte mail chaque mois, c'est le moment de vous inscrire sur HackerBoxes.com et de rejoindre la révolution !

Sujets et objectifs d'apprentissage pour cette HackerBox:

  • Adapter le NodeMCU pour Arduino
  • Assemblage d'un kit voiture 2 roues motrices
  • Câblage d'un NodeMCU pour contrôler un kit voiture 2WD
  • Contrôler un NodeMCU via WiFi à l'aide de Blynk
  • Utilisation de capteurs pour une navigation autonome
  • Travailler avec les diagnostics embarqués automobiles (OBD)

HackerBoxes est le service de box d'abonnement mensuel pour l'électronique de bricolage et la technologie informatique. Nous sommes des amateurs, des fabricants et des expérimentateurs. Piratez la planète !

Étape 1: HackerBoxes 0013: Contenu de la boîte

HackerBoxes 0013: Contenu de la boîte
HackerBoxes 0013: Contenu de la boîte
HackerBoxes 0013: Contenu de la boîte
HackerBoxes 0013: Contenu de la boîte
HackerBoxes 0013: Contenu de la boîte
HackerBoxes 0013: Contenu de la boîte
  • HackerBoxes #0013 Carte de référence à collectionner
  • Kit de châssis de voiture 2 roues motrices
  • Module de processeur Wi-Fi NodeMCU
  • Blindage moteur pour NodeMCU
  • Bloc de cavalier pour le blindage du moteur
  • Boîte à piles (4 x AA)
  • Capteur de télémétrie à ultrasons HC-SR04
  • Capteurs de réflectivité IR TCRT5000
  • Pulls DuPont femme-femme 10cm
  • Deux modules laser rouges
  • Diagnostic embarqué Mini-ELM327 (OBD)
  • Décalque de course exclusif HackerBoxes

Quelques autres choses qui seront utiles:

  • Quatre piles AA
  • Ruban mousse double face ou bandes Velcro
  • Câble microUSB
  • Téléphone intelligent ou tablette
  • Ordinateur avec IDE Arduino

Plus important encore, vous aurez besoin d'un sens de l'aventure, d'un esprit de bricolage et d'une curiosité de hacker. L'électronique amateur hardcore n'est pas toujours facile, mais lorsque vous persistez et profitez de l'aventure, une grande satisfaction peut être tirée de la persévérance et de la réussite de vos projets. Faites simplement chaque étape lentement, faites attention aux détails et n'hésitez pas à demander de l'aide.

Étape 2: Électronique automobile et voitures autonomes

Électronique automobile et voitures autonomes
Électronique automobile et voitures autonomes
Électronique automobile et voitures autonomes
Électronique automobile et voitures autonomes

L'électronique automobile est tout système électronique utilisé dans les véhicules routiers. Ceux-ci incluent les charpentiers, la télématique, les systèmes de divertissement embarqués, etc. L'électronique automobile est née du besoin de contrôler les moteurs. Les premiers étaient utilisés pour contrôler les fonctions du moteur et étaient appelés unités de commande du moteur (ECU). Au fur et à mesure que les commandes électroniques ont commencé à être utilisées pour de plus en plus d'applications automobiles, l'acronyme ECU a pris le sens plus général de "unité de commande électronique", puis des ECU spécifiques ont été développés. Désormais, les calculateurs sont modulaires. Deux types incluent les modules de commande du moteur (ECM) ou les modules de commande de transmission (TCM). Une voiture moderne peut avoir jusqu'à 100 ECU.

Les voitures radiocommandées (voitures télécommandées) sont des voitures ou des camions qui peuvent être contrôlés à distance à l'aide d'un émetteur spécialisé ou d'une télécommande. Le terme "R/C" a été utilisé pour signifier à la fois "télécommandé" et "radiocommandé", mais l'utilisation courante de "R/C" aujourd'hui fait généralement référence à des véhicules contrôlés par une liaison radiofréquence.

Une voiture autonome (voiture sans conducteur, voiture autonome, voiture robotisée) est un véhicule capable de détecter son environnement et de naviguer sans intervention humaine. Les voitures autonomes peuvent détecter l'environnement à l'aide de diverses techniques telles que le radar, le lidar, le GPS, l'odométrie et la vision par ordinateur. Les systèmes de contrôle avancés interprètent les informations sensorielles pour identifier les chemins de navigation appropriés, ainsi que les obstacles et la signalisation pertinente. Les voitures autonomes ont des systèmes de contrôle capables d'analyser les données sensorielles pour distinguer les différentes voitures sur la route, ce qui est très utile pour planifier un chemin vers la destination souhaitée.

Étape 3: Arduino pour NodeMCU

Arduino pour NodeMCU
Arduino pour NodeMCU
Arduino pour NodeMCU
Arduino pour NodeMCU

NodeMCU est une plateforme IoT open source. Il comprend un micrologiciel qui s'exécute sur le SoC Wi-Fi ESP8266 d'Espressif Systems et du matériel basé sur le module ESP-12.

L'IDE Arduino peut désormais être facilement étendu pour prendre en charge la programmation des modules NodeMCU comme s'il s'agissait de n'importe quelle autre plate-forme de développement Arduino.

Pour commencer, assurez-vous que l'IDE Arduino est installé (www.arduino.cc) ainsi que les pilotes pour la puce Serial-USB appropriée sur le module NodeMCU que vous utilisez. Actuellement, la plupart des modules NodeMCU incluent la puce CH340 Serial-USB. Le fabricant des puces CH340 (WCH.cn) propose des pilotes pour tous les systèmes d'exploitation courants. Consultez la page de traduction Google de leur site.

Exécutez l'IDE Ardino, accédez aux préférences et localisez le champ de saisie des "URL supplémentaires du gestionnaire de cartes"

Collez cette URL:

arduino.esp8266.com/stable/package_esp8266com_index.json

Pour installer le Board Manager pour ESP8266.

Après l'installation, fermez l'IDE, puis redémarrez-le.

Connectez maintenant le module NodeMCU à votre ordinateur à l'aide d'un câble microUSB (comme utilisé par la plupart des téléphones mobiles et tablettes).

Sélectionnez le type de carte dans l'IDE Arduino en tant que NodeMCU 1.0

Nous aimons toujours charger et tester la démo de clignotement sur une nouvelle carte Arduino juste pour avoir l'assurance que tout fonctionne correctement. Le NodeMCU ne fait pas exception, mais vous devez changer la broche LED de la broche 13 à la broche 16 avant de compiler et de télécharger. Assurez-vous que ce test rapide fonctionne correctement avant de passer à quelque chose de plus compliqué avec l'Arduino NodeMCU.

Voici un instructable qui passe en revue le processus d'installation pour Arduino NodeMCU avec quelques exemples d'application différents. On s'éloigne un peu de l'objectif ici, mais il peut être utile de chercher un autre point de vue si vous êtes bloqué.

Étape 4: Kit de châssis de voiture 2WD

Kit de châssis de voiture 2 roues motrices
Kit de châssis de voiture 2 roues motrices
Kit de châssis de voiture 2 roues motrices
Kit de châssis de voiture 2 roues motrices
Kit de châssis de voiture 2 roues motrices
Kit de châssis de voiture 2 roues motrices

Contenu du kit de châssis de voiture 2 roues motrices:

  • Châssis en aluminium (les couleurs varient)
  • Deux moteurs à courant continu FM90
  • Deux roues avec pneus en caoutchouc
  • Roulette à roue libre
  • Quincaillerie d'assemblage
  • Le matériel de montage

Les moteurs à courant continu FM90 ressemblent à des micro servos car ils sont construits dans le même boîtier en plastique que les micro servos courants, tels que le FS90, le FS90R ou le SG92R. Cependant, le FM90 n'est pas un servo. Le FM90 est un moteur à courant continu avec un train d'engrenages en plastique.

La vitesse du moteur FM90 est contrôlée par modulation de largeur d'impulsion (PWM) des câbles d'alimentation. La direction est contrôlée en échangeant la polarité de l'alimentation comme avec n'importe quel moteur à courant continu à balais. Le FM90 peut fonctionner sur 4-6 Volts DC. Bien que petit, il consomme suffisamment de courant pour ne pas être entraîné directement à partir d'une broche de microcontrôleur. Un pilote de moteur ou un pont en H doit être utilisé.

Spécifications du moteur à courant continu FM90:

  • Dimensions: 32,3 mm x 12,3 mm x 29,9 mm / 1,3" x 0,49" x 1,2"
  • Nombre de splines: 21
  • Poids: 8,4 g
  • Vitesse à vide: 110RPM (4.8v) / 130RPM (6v)
  • Courant de fonctionnement (à vide): 100 mA (4,8 v) / 120 mA (6 v)
  • Couple de décrochage maximal (4,8 v): 1,3 kg/cm / 18,09 oz/in
  • Couple de décrochage maximal (6 v): 1,5 kg/cm / 20,86 oz/in
  • Courant de décrochage: 550 mA (4,8 v) / 650 mA (6 v)

Étape 5: Châssis de voiture: Assemblage mécanique

Châssis de voiture: assemblage mécanique
Châssis de voiture: assemblage mécanique
Châssis de voiture: assemblage mécanique
Châssis de voiture: assemblage mécanique
Châssis de voiture: assemblage mécanique
Châssis de voiture: assemblage mécanique

Le châssis de voiture peut être facilement assemblé selon ce schéma.

Notez qu'il y a deux petits sacs de matériel. L'un comprend le matériel de montage avec six entretoises en laiton de 5 mm-M3 ainsi que des vis et des écrous assortis. Ce matériel de montage peut être utile dans les étapes ultérieures du montage de contrôleurs, de capteurs et d'autres éléments sur le châssis.

Pour cette étape, nous utiliserons le matériel d'assemblage qui comprend:

  • Quatre boulons minces M2x8 et petits écrous assortis pour la fixation des moteurs
  • Quatre boulons M3x10 plus épais et des écrous assortis plus gros pour la fixation de la roulette
  • Deux vis PB2.0x8 à gros filets pour la fixation des roues sur les moteurs

Notez que les moteurs FM90 sont orientés de telle sorte que les fils conducteurs s'étendent depuis l'arrière du châssis assemblé.

Étape 6: Châssis de voiture: ajouter un bloc d'alimentation et un contrôleur

Châssis de voiture: ajouter un bloc d'alimentation et un contrôleur
Châssis de voiture: ajouter un bloc d'alimentation et un contrôleur
Châssis de voiture: ajouter un bloc d'alimentation et un contrôleur
Châssis de voiture: ajouter un bloc d'alimentation et un contrôleur
Châssis de voiture: ajouter un bloc d'alimentation et un contrôleur
Châssis de voiture: ajouter un bloc d'alimentation et un contrôleur

La carte de blindage du moteur ESP-12E prend en charge le branchement direct du module NodeMCU. Le blindage du moteur comprend une puce de commande de moteur push-pull L293DD (fiche technique). Les fils du moteur doivent être câblés aux bornes à vis A+/A- et B+/B- sur le blindage du moteur (après avoir retiré les connecteurs). Les fils de la batterie doivent être câblés aux bornes à vis d'entrée de la batterie.

Si l'une des roues tourne dans le mauvais sens, les fils du moteur correspondant peuvent être intervertis aux bornes à vis, ou le bit de direction peut être inversé dans le code (étape suivante).

Il y a un bouton d'alimentation en plastique sur le blindage du moteur pour activer l'alimentation d'entrée de la batterie. Le bloc de cavaliers peut être utilisé pour acheminer l'alimentation vers le NodeMCU à partir du blindage du moteur. Sans le bloc de cavaliers installé, le NodeMCU peut s'alimenter à partir du câble USB. Une fois le bloc de cavaliers installé (comme illustré), l'alimentation par batterie alimente les moteurs et est également transmise au module NodeMCU.

Le blindage du moteur et le bloc-batterie peuvent être montés sur le châssis en alignant les trous de vis avec les ouvertures disponibles dans le châssis en aluminium. Cependant, nous trouvons plus simple de les fixer au châssis à l'aide de ruban mousse double face ou de bandes velcro adhésives.

Étape 7: Châssis de voiture: programmation et contrôle Wi-Fi

Châssis de voiture: programmation et contrôle Wi-Fi
Châssis de voiture: programmation et contrôle Wi-Fi

Blynk est une plate-forme avec des applications iOS et Android pour contrôler Arduino, Raspberry Pi et d'autres matériels via Internet. C'est un tableau de bord numérique où vous pouvez créer une interface graphique pour votre projet en faisant simplement glisser et déposer des widgets. C'est très simple de tout configurer et vous commencerez à bricoler tout de suite. Blynk vous mettra en ligne et vous préparera pour l'Internet de vos objets.

Le script Arduino HBcar.ino inclus ici montre comment interfacer quatre boutons (avant, arrière, droite et gauche) sur un projet Blynk pour contrôler les moteurs sur le châssis de la voiture 2WD.

Avant la compilation, trois chaînes doivent être modifiées dans le programme:

  • SSID Wi-Fi (pour votre point d'accès Wi-Fi)
  • Mot de passe Wi-Fi (pour votre point d'accès Wi-Fi)
  • Jeton d'autorisation Blynk (de votre projet Blynk)

Notez à partir de l'exemple de code que la puce L293DD sur le blindage du moteur est câblée comme suit:

  • GPIO broche 5 pour la vitesse du moteur A
  • broche GPIO 0 pour la direction A du moteur
  • broche GPIO 4 pour la vitesse du moteur B
  • GPIO broche 2 pour la direction B du moteur

Étape 8: Capteurs pour une navigation autonome: Télémètre à ultrasons

Capteurs pour la navigation autonome: Télémètre à ultrasons
Capteurs pour la navigation autonome: Télémètre à ultrasons
Capteurs pour la navigation autonome: télémètre à ultrasons
Capteurs pour la navigation autonome: télémètre à ultrasons
Capteurs pour la navigation autonome: Télémètre à ultrasons
Capteurs pour la navigation autonome: Télémètre à ultrasons
Capteurs pour la navigation autonome: Télémètre à ultrasons
Capteurs pour la navigation autonome: Télémètre à ultrasons

Le télémètre à ultrasons HC-SR04 (fiche technique) peut fournir des mesures d'environ 2 cm à 400 cm avec une précision allant jusqu'à 3 mm. Le module HC-SR04 comprend un émetteur à ultrasons, un récepteur et un circuit de commande.

Après avoir attaché quatre cavaliers femelle-femelle aux broches du HC-SR04, enrouler du ruban adhésif autour des connecteurs peut aider à isoler les connexions du court-circuit au châssis en aluminium et également fournir une masse pliable à caler dans la fente à l'avant de le châssis comme indiqué.

Dans cet exemple, les quatre broches du HC-SR04 peuvent être câblées au blindage du moteur:

  • VCC (sur HC-SR04) à VIN (sur blindage moteur)
  • Gâchette (sur HC-SR04) à D6 (sur blindage moteur)
  • Echo (sur HC-SR04) à D7 (sur blindage moteur)
  • GND (sur HC-SR04) à GND (sur blindage moteur)

VIN fournira environ 6VDC au HC-SR04, qui n'a besoin que de 5V. Cependant, cela semble bien fonctionner. L'autre rail d'alimentation disponible (3,3V) est parfois suffisant pour alimenter le module HC-SR04 (essayez-le certainement), mais parfois ce n'est pas assez de tension.

Une fois que cela est câblé, essayez l'exemple de code NodeMCUping.ino pour tester le fonctionnement du HC-SR04. La distance entre le capteur et tout objet est imprimée sur le moniteur série (carte 9600) en centimètres. Obtenez notre règle et testez la précision. Impressionnant n'est-ce pas ?

Maintenant que vous avez cet indice, essayez quelque chose comme ceci pour un véhicule autonome évitant les collisions:

  1. en avant jusqu'à une distance < 10cm
  2. arrêt
  3. inverser une petite distance (facultatif)
  4. tourner un angle aléatoire (temps)
  5. boucle à l'étape 1

Pour quelques informations générales, voici un tutoriel vidéo plein de détails sur l'utilisation du module HC-SR04.

Étape 9: Capteurs pour la navigation autonome: Réflectivité infrarouge (IR)

Capteurs pour la navigation autonome: réflectivité infrarouge (IR)
Capteurs pour la navigation autonome: réflectivité infrarouge (IR)

Le module de capteur réfléchissant IR utilise un TCRT5000 (fiche technique) pour détecter la couleur et la distance. Le module émet une lumière IR puis détecte s'il reçoit une réflexion. Grâce à sa capacité à détecter si une surface est blanche ou noire, ce capteur est souvent utilisé en ligne suivant les robots et l'enregistrement automatique des données sur les compteurs de services publics.

La plage de distance de mesure est de 1 mm à 8 mm et le point central est d'environ 2,5 mm. Il y a aussi un potentiomètre intégré pour régler la sensibilité. La diode IR émet une lumière IR en continu lorsque le module est connecté à l'alimentation. Lorsque la lumière infrarouge émise n'est pas réfléchie, la triode sera à l'état éteint, ce qui fera que la sortie numérique (D0) indiquera un niveau logique BAS.

Étape 10: faisceaux laser

Rayons lasers
Rayons lasers
Rayons lasers
Rayons lasers

Ces modules laser 5mW 5V courants peuvent être utilisés pour ajouter des faisceaux laser rouges à à peu près tout ce qui a une alimentation 5V disponible.

Notez que ces modules peuvent être facilement endommagés, donc HackerBox #0013 inclut un couple pour fournir une sauvegarde. Prenez soin de vos modules laser !

Étape 11: Diagnostic embarqué automobile (OBD)

Diagnostic embarqué automobile (OBD)
Diagnostic embarqué automobile (OBD)
Diagnostic embarqué automobile (OBD)
Diagnostic embarqué automobile (OBD)

Le diagnostic embarqué (OBD) est un terme automobile faisant référence à la capacité d'autodiagnostic et de rapport d'un véhicule. Les systèmes OBD permettent au propriétaire du véhicule ou au technicien de réparation d'accéder à l'état des différents sous-systèmes du véhicule. La quantité d'informations de diagnostic disponibles via OBD a considérablement varié depuis son introduction au début des années 1980 dans les versions des ordinateurs de bord des véhicules. Les premières versions d'OBD allumaient simplement un voyant de dysfonctionnement si un problème était détecté, mais ne fournissaient aucune information sur la nature du problème. Les implémentations OBD modernes utilisent un port de communication numérique standardisé pour fournir des données en temps réel en plus d'une série standardisée de codes d'anomalie de diagnostic, ou DTC, qui permettent d'identifier et de remédier rapidement aux dysfonctionnements dans le véhicule.

OBD-II est une amélioration à la fois de la capacité et de la normalisation. La norme OBD-II spécifie le type de connecteur de diagnostic et son brochage, les protocoles de signalisation électrique disponibles et le format de messagerie. Il fournit également une liste de candidats de paramètres de véhicule à surveiller ainsi que la façon d'encoder les données pour chacun. Il y a une broche dans le connecteur qui alimente l'outil d'analyse à partir de la batterie du véhicule, ce qui élimine le besoin de connecter un outil d'analyse à une source d'alimentation séparément. Les codes de diagnostic OBD-II sont à 4 chiffres, précédés d'une lettre: P pour le moteur et la transmission (groupe motopropulseur), B pour la carrosserie, C pour le châssis et U pour le réseau. Les fabricants peuvent également ajouter des paramètres de données personnalisés à leur implémentation OBD-II spécifique, y compris des demandes de données en temps réel ainsi que des codes de panne.

L'ELM327 est un microcontrôleur programmé pour l'interfaçage avec l'interface de diagnostic embarqué (OBD) que l'on trouve dans la plupart des voitures modernes. Le protocole de commande ELM327 est l'une des normes d'interface PC vers OBD les plus populaires et est également implémenté par d'autres fournisseurs. L'ELM327 d'origine est implémenté sur le microcontrôleur PIC18F2480 de Microchip Technology. L'ELM327 résume le protocole de bas niveau et présente une interface simple qui peut être appelée via un UART, généralement par un outil de diagnostic portable ou un programme informatique connecté par USB, RS-232, Bluetooth ou Wi-Fi. La fonction d'un tel logiciel peut inclure une instrumentation supplémentaire du véhicule, le signalement des codes d'erreur et l'effacement des codes d'erreur.

Bien que Torque soit probablement la plus connue, de nombreuses applications peuvent être utilisées avec l'ELM327.

Étape 12: pirater la planète

Pirater la planète
Pirater la planète

Merci de partager notre aventure dans l'électronique automobile. Si vous avez apprécié cet Instructable et souhaitez recevoir une boîte de projets électroniques comme celui-ci directement dans votre boîte aux lettres chaque mois, veuillez nous rejoindre en vous abonnant ICI.

Contactez-nous et partagez votre succès dans les commentaires ci-dessous et/ou sur la page Facebook de HackerBoxes. N'hésitez pas à nous faire savoir si vous avez des questions ou si vous avez besoin d'aide pour quoi que ce soit. Merci de faire partie de HackerBoxes. Veuillez garder vos suggestions et commentaires à venir. Les HackerBox sont VOS boîtes. Faisons quelque chose de grand !

Conseillé: