Desktop Pal complété

Desktop Pal complété

Desktop Pal est un ami animatronique, propulsé par un microcontrôleur compatible avec Arduino et un petit assortiment de capteurs de base. La tête de emoji du Pal réagit aux objets se trouvant à proximité de lui en s’inclinant et en se tournant, grâce à deux petits servos peu coûteux. Ceci est la sixième et dernière leçon de la série Desktop Pal. Si vous en êtes au début de ce projet, vous pouvez commencer avec la Leçon 1, Montage, et de travailler à votre rythme à travers le projet. Au cours de cette leçon, vous découvrirez les façons d’améliorer votre Desktop Pal en ajoutant plus de capteurs et d’autres matériels. En bonus, vous apprendrez également comment implémenter un lecteur MP3 compact pour faire jouer de la musique enregistrée et des effets sonores. Vous pouvez télécharger le programme Arduino (« croquis  ») correspondant à cette leçon à partir du lien suivant ainsi que des extraits sonores et les fichiers de bibliothèque requis pour cette leçon.

DesktopPal_Lecon6_Croquis

DesktopPal_Lecon6_Sons.zip

DesktopPal_TousFichiers.zip

Obtenez les fichiers à télécharger

Téléchargez les croquis pour ce montage, et extrayez les dossiers individuels pour votre carnet de croquis Arduino.

Important !

Vous devez téléchargez et installez les fichiers de bibliothèque Arduino (voir lien ci-dessus) requis par ces croquis pour ce montage. Toutes les fichiers de bibliothèque nécessaires pour exécuter les croquis pour les séries Desktop Pal sont fournis dans ce seul téléchargement.

À se rappeler

Lorsque vous ajouter de nouvelles bibliothèques, vous devez quitter l’IDE d’Arduino s’il est ouvert. Une fois que vous avez copié les fichiers de bibliothèque dans le dossier des bibliothèques du carnet de croquis Arduino, vous pouvez redémarrer l’IDE Arduino.

Si vous souhaitez ajouter le lecteur MP3 en option à votre Pal Desktop, télécharger l’archive de sons, et extraire le contenu dans une carte micro SD (formaté pour systèmes de fichiers FAT). Veuillez lire ci-dessous pour plus d’informations.

Espace pour Grandir

Le Desktop Pal inclut déjà de multiples matériels externes :

Le cœur du Pal Desktop est le Itead Leonardo, un microcontrôleur compatible Arduino qui arbore des embases d’empilage à 3 broches sur l’ensemble de ses broches d’entrées/sorties (E/S). Ces embases d’empilage facilitent la connexion de périphériques à la carte, sans exiger quelque chose de plus, comme un servomoteur ou un blindage avec carte d’essais. Même avec tout le matériel relié au Itead Leonardo, il vous reste encore des broches de signalement pour ajouter d’autres goodies.

Augmenter l’extensibilité de votre Desktop Pal, le logiciel de contrôle développé pour le robot – et décrit dans la leçon 5, Programmation d’une réponse interactive sur un Desktop Pal fonctionnant avec Arduino est conçu pour être coopératif avec l’ensemble de son matériel. Plutôt que d’utiliser de multiples énoncés de retardement pour rythmer le mouvement des servomoteurs panoramiques et d’inclinaison, le robot utilise des minuteries de logiciel et des interrupteurs de matériel. Ces techniques, décrites dans les précédentes leçons de cette série, permettent au Desktop Pal d’être plus réactif, parce qu’il n’est pas embourbé par des retards artificiels.

Tout cela signifie : on peut améliorer encore plus le Desktop Pal avec d’autres pièces de matériel, aussi longtemps que vous respectez certaines normes de qualification. Voici les principaux points à garder à l’esprit :

Broches de signal

Sauf si vous devenez excentrique et que vous ajoutez du matériel d’extension de port, vous devez vous limiter à ne pas ajouter plus qu’environ 10 nouvelles choses, et peut-être moins si ces ajouts exigent plus d’une broche de signal. Cette limitation se résume aux broches disponibles, qui sont des broches numériques 0, 1, 4, 7 et 12, et des broches analogiques 0 à 5.

Remarque

Les broches numériques 0 et 1 sont utilisées pour les communications séquentielles de matériel. Dans le Leonardo de Arduino, il y a deux « canaux » de communication séquentielles : un canal direct USB utilisé pour communiquer à partir du PC hôte et un second canal « Séquentiel 1 » utilisé pour communiquer avec le matériel sur les broches numériques 0 et 1.

Localisation des broches

Si vous utilisez le Itead Leonardo (et la plupart des autres cartes compatibles Leonardo), veuillez noter que plusieurs des fonctions matérielles spécialisées sont placées sur broches différentes que celles utilisées pour la carte Arduino Uno. Pour plus de détails sur le Itead Leonardo, reportez-vous à la section Guide du matériel du fabricant.

Courant de charge

Vous devez également tenir compte de la consommation totale d’énergie de l’ensemble du matériel que vous ajoutez. Lorsqu’il est alimenté par la connexion USB, utilisé pour le téléchargement de croquis, la consommation énergétique de tous les composants doit être de 500 milliampères (mA) ou moins – ce qui est le maximum prévu par les ports USB 2.0 sur la plupart des ordinateurs. (Cette limite est aussi imposée par un fusible réarmable sur le Itead Leonardo.) Si vous dépassez la limite de 500 mA, ce fusible ouvrira, pour éviter tout dommage. Le fusible se réinitialise automatiquement une fois que la condition de surintensité est éliminée.

En général, les charges de courant lourdes ont tendance à poser problème avec des dispositifs électromécaniques tels que les moteurs ainsi que pour les LED ultra-brillantes et les bandes LED. Agissez avec soin lors de ces ajouts. La plupart des capteurs ne consomment pas beaucoup de courant. Dans tous les cas, consultez la documentation fournie avec le matériel pour déterminer ses besoins en électricité.

Traitement de charge

Le microcontrôleur compatible avec Arduino utilisé avec le Desktop Pal est à fil unique, ce qui signifie qu’il ne peut faire qu’une seule chose à la fois. Ce fil est géré par la fonction boucle() sur le croquis. A l’intérieur de la fonction, on retrouve de nombreuses actions à court terme – parce qu’elles ont lieu très rapidement, ce qui donne l’impression que le robot est en train de faire beaucoup de choses à la fois.

Plus la fonction boucle() , doit effectuer de travaux, plus le processeur peut s’enliser. Lors de l’ajout de matériel supplémentaire, vous devez être conscient de la surcharge de traitement requis que cela entraîne.

Par exemple, un module sonore qui requiert une alimentation constante de donnée pour diffuser un clip de musique peut mobiliser un temps de traitement considérable, laissant moins de possibilités à d’autres fonctions comme la numérisation servomotrice. Comme vous le verrez plus loin dans cette leçon, il existe des modules de sons tout-en-un qui ne requièrent pas de brassage constant de données entre eux et l’Arduino. Ces modules autonomes sont largement préférés à ceux qui nécessitent une surveillance constante de l’Arduino.

Plus d’entrée, plus d’entrée !

Les robots aiment les entrées. Plus un robot possède de capteurs, mieux il peut détecter son environnement. Le Desktop Pal utilise déjà trois types de capteurs : un bouton-poussoir pour régler son mode de fonctionnement ; un capteur infrarouge passif pour détecter le mouvement général dans la pièce et une paire de capteurs à ultrasons pour « voir » les objets en face de lui.

Vous pouvez augmenter ces capteurs avec d’autres types, dont chacun apporte sa propre méthode unique de détection. Des options à faible coût comprennent :

  • Des capteur de lumière Photocellule pour enregistrer la présence (ou l’absence) de lumière dans la pièce. Une utilisation de ce détecteur (ou de toute lumière) est comme un capteur « Matin/Après-midi », où le Pal réagit différemment en fonction de la lumière ambiante. Par exemple, dans une pièce sombre, votre Desktop Pal pourrait revenir au mode veille plus rapidement.
  • Des capteurs de température et d’humidité transforment votre Desktop Pal en météorologiste en chef. Combiné avec un module de communication à distance Bluetooth ou WiFi , vous pouvez transmettre ces données à votre ordinateur ou à un téléphone intelligent. Ou prendre des notes une fois tous les 10 ou 15 minutes, et les stocker dans la mémoire EEPROM de l’Arduino pour un rappel ultérieur. Les données restent en place, même si le Desktop Pal est débranché, jusqu’à ce que vous le réinitialisez.
  • Des capteurs RFID permettent l’identification de personnes et d’objets, comme les chats ou les chiens. En y joignant un détecteur d’identification par fréquence radio (RFID) au Desktop Pal, il peut donc différencier un ami d’une autre. Placez une étiquette RFID correspondant à côté du détecteur, et le Pal identifie de manière unique le porteur de cette balise. Des étiquettes biper, attachées sur des porte-clés ou des colliers pour animaux de compagnie, sont faciles à transporter.
  • Des capteurs biométriques enregistrent des choses sur vous, comme votre fréquence cardiaque ou de l’action musculaire. Les données peuvent être stockées dans la mémoire EEPROM ou transmises à un ordinateur ou à appareil intelligent à proximité. Les capteurs bio ont tendance à être parmi les plus chers du lot, mais on s’amuse beaucoup avec eux.
  • Des capteurs sonores qu donnent à votre Pal la capacité d’entendre. Beaucoup d’entre eux sont essentiellement des microphones qui voyagent lorsque le son atteint un certain niveau de décibels. Ils sont principalement utiles lorsque le Desktop Pal est endormi ; le capteur ramassera les sons des moteurs du Pal et du buzzer électronique lorsque le robot est éveillé et vrombissant.

Lumières et LEDs

Un moyen peu coûteux de personnaliser votre Desktop Pal – ou tout autre robot – consiste à y ajouter des lumières. Ajouter quelques lumières de couleur clignotantes et le projet semble prendre vie ! Il y a trois composantes de lumière principaux que vous pouvez ajouter à votre Pal : des diodes électroluminescentes (DEL), un laser et un câble électroluminescent.

Ajout de LEDs

Des LEDs sont la méthode la moins coûteuse d’ajouter des effets lumineux. Il existe beaucoup d’options. D’abord et avant tout, la couleur. Les LEDs sont disponibles dans toutes les couleurs possible, même en blanc. Une LED RGB peut produire chacune des trois couleurs primaires – rouge, vert et bleu – et donc produire un arc en ciel de couleurs en ajustant l’intensité de chacune de ces trois couleurs primaires.

Bien que la lumière de base émettant un élément dans une LED est assez petite, les LED sont disponibles dans une variété de tailles, à partir d’une petite pointe d’épingle de 1 mm jusqu’à 10 mm ou même plus. La taille n’est pas nécessairement équivalente à la luminosité. Les LED les plus grandes sont généralement utilisées comme des indicateurs plutôt que de l’éclairage, de sorte qu’elles ne sont pas toujours très lumineuses. Exemple d’une utilisation dans un robot comme Desktop Pal : faire de grands yeux mélancoliques.

Au fil des années, les diodes électroluminescentes sont devenues plus lumineuses, jusqu’au point que regarder directement une des ces LED « super-lumineuses » peut blesser vos yeux ! La haute luminosité se fait souvent au détriment de la consommation de courant qui devient alors plus élevée — certaines des LEDs très brillantes requièrent plus de 40 milliampères de courant, ce qui est le niveau maximum de sécurité fournie par l’Arduino.

Avec un niveau de courant plus élevé, vous courez le risque d’endommager le microcontrôleur. Pour faire fonctionner efficacement des LEDs avec ces exigences actuelles élevées, vous devez les raccorder à l’aide d’un transistor ou d’un autre circuit augmentant la capacité actuelle. Évitez de les connecter directement à l’Arduino.

La bande multi-LED de LED RGB a beaucoup gagné en popularité au cours de ces dernières années. Bien que l’ensemble de la bande de dizaines ou plus de LEDs n’utilise que quelques fils, chaque LED dans la bande est contrôlable individuellement ; les LED sont « adressables » au moyen d’un signal à série rapide qui est transmis vers la bande.

Bien que les bandes multi-LED sont un moyen pratique d’ajouter toutes sortes d’effets de lumière astucieux à votre robot, elles entraînent une charge accrue de traitement sur le Arduino. Plus il y a de LEDs dans la bande, plus la demande de traitement est élevée, et moins l’Arduino aura de temps pour mener effectuer d’autres importantes opérations. Dans un projet comme le Desktop Pal, lorsque le microcontrôleur est relativement très occupé avec le mouvement du servomoteur et les différents capteurs, il est mieux d’utiliser des LED régulières que vous contrôlez individuellement à partir de broches de signaux séparées.

Ajout de lasers

Les lasers fournissent un faisceau de mince comme un crayon de lumière qui peut être utilisé pour la décoration, la signalisation ou pour attirer l’attention. Attention, je ne parle pas ici des lasers de forte puissance utilisés pour couper du métal, du bois ou du papier, mais du même type de laser utilisé pour les pointeurs laser. Vous pouvez relier un pointeur laser à votre Desktop Pal, ou mieux encore, brancher un module laser spécifiquement conçu pour être utilisé dans des projets créatifs.

Par exemple, la Diode Laser Rouge TTL est un laser autonome qui peut être alimenté à partir d’un approvisionnement de 5 V régulé d’Arduino. Elle a trois fils : rouge et noir pour l’alimentation et jaune pour le contrôle. Vous pouvez activer ou arrêter le laser tout simplement en contrôlant son fil de commande sur FORT ou FAIBLE.

Le signal de commande du laser TTL, qui peut être alimenté jusqu’à 50 kHz, est assez rapide pour envoyer des signaux codés à travers le faisceau de lumière. Pointez le laser dans un phototransistor à travers la pièce et vous pourrez capturer et décoder ces signaux comme une forme de contrôle à distance.

Ajout de câble électroluminescent

Un câble électroluminescent – ou un câble EL, pour faire court – fournit un ruban de lumière colorée. Pour utiliser un câble EL, vous avez besoin du câble lui-même et un onduleur. L’onduleur capture le courant d’alimentation entrant et le convertit dans la tension la plus élevée requise par le câble.

Les modules onduleurs ne sont pas chers et existent en différentes tensions d’entrée : 3 V, 5 V et 12 V, pour les plus communes. En raison des limitations actuelles inhérentes aux cartes Arduino, nous vous recommandons plutôt d’utiliser une alimentation séparée pour faire fonctionner l’onduleur. Par exemple, l’onduleur 12 V peut être actionné à partir d’un adaptateur mural 12 V séparé.

Le câble EL est disponible en longues bobines, que vous pouvez couper à la longueur, ou en bobines prédécoupées. Si vous débutez avec les câbles EL, optez pour des bobines prédécoupées qui ont déjà été finalisées avec des câbles de connexion. Ils sont beaucoup plus facile à raccorder à l’onduleur – il suffit de coller le câble et de mettre en marche l’onduleur.

Lorsque vous serez plus familier avec les câbles EL, vous pourrez apprendre la manière de lui raccorder les bornes électriques. Le processus n’est pas difficile, mais il est préférable de le faire avec des outils spécialisés. Cela requiert une certaine pratique de savoir créer une jonction étanche à l’air.

Le câble EL est disponible en différentes couleurs. Obtenez les différentes teintes que vous aimez et enroulez le câble autour et sous le Desktop Pal. Un câble standard est idéal pour les salles obscures ; dans des conditions ambiantes plus élevées, optez pour un câble à haute luminosité.

Améliorez votre Desktop Pal avec des sons MP3

Une autre façon de perfectionner votre Desktop Pal est d’y ajouter un lecteur MP3 autonome. Le lecteur a sa propre carte flash micro SD contenant la musique et les clips d’effets sonores que vous souhaitez utiliser. Sous le contrôle de l’Arduino, des clips spécifiques sont lus en réponse à des entrées de différents capteurs.

Il existe de nombreux modules disponibles de lecteur MP3 indépendant ; pour des question de prix et de capacité d’adaptation au projet Desktop Pal, j’ai choisi le Mini Lecteur MP3 DFPlayer. Sa connexion au Leonardo Itead utilisé dans le Pal ne requiert que peu de pièces et de connexions supplémentaires. Grâce à une bibliothèque d’utilitaires fournis par DFRobot, utilisez le lecteur ne nécessite que quelques lignes de code supplémentaires.

Pièces dont vous aurez besoin :

1          DFRobot Mini Lecteur MP3

1          Carte Micro SD

1          Plaque d’essais sans Soudure, 400 Points de contact

2          Résistances 1K ohm

1          Haut-parleur monté pour PC

1          Câbles cavaliers. Vous pouvez avoir des câbles cavaliers restants du jeu original que vous avez obtenu pour la construction de base de la Leçon 1. Vous aurez besoin d’un total de six autres.

Le mini-lecteur MP3 a besoin d’une petite plaque d’essai sans soudure comme moyen d’interface avec le microcontrôleur. Reportez-vous aux schémas de raccordement pour tout connecter au Itead Leonardo.

Plaque d’essais de connexions pour mini-lecteur MP3

Plaque d’essais de connexions pour mini-lecteur MP3

Connexions Itead Leonardo pour mini-lecteur MP3

Connexions Itead Leonardo pour mini-lecteur MP3

Avant de connecter les cavaliers au haut-parleur, faites deux petits trous à l’arrière du boîtier du Desktop Pal pour les bornes d’enceinte. Apposez le haut-parleur à l’arrière du boîtier à l’aide d’un ruban adhésif double-face. Les bornes d’enceinte doivent être suffisamment longues pour les pousser à travers la paroi de l’enceinte et encore avoir un bon contact avec les câbles de connexion. Sinon, vous aurez besoin de faire de plus grands trous pour pouvoir installer correctement les extrémités des fils.

Haut-parleur monté à l’arrière du Desktop Pal

Haut-parleur monté à l’arrière du Desktop Pal

De même, fixez la plaque d’essais à l’intérieur du ruban adhésif double face. La plupart des plaques d’essais comprennent déjà avec la bande attachée ; vous devez juste décoller le papier protecteur et appuyez sur la plaque en place.

Plaque d’essais pour lecteur MP3

Plaque d’essais pour lecteur MP3

Récupérer les croquis pour cette installation à partir du lien situé en haut de l’article. Téléchargez ces derniers dans votre carnet de croquis Arduino. Vous devrez également installer les bibliothèques d’utilitaires ; ceux-ci iront dans le dossier des bibliothèques de carnet de croquis. Voir Leçon 2 : Installation et essai du programme du Desktop Pal fonctionnant avec Arduino pour plus d’informations sur la façon d’utiliser les bibliothèques Arduino.

Important !

Après avoir installé les fichiers de bibliothèques, sortez de l’IDE Arduino s’il est ouvert, et redémarrez. À défaut, l’IDE pourrait ne pas détecter les bibliothèques nouvellement ajoutée, et les croquis que vous tentez de compiler qui utilisent les bibliothèques pourraient échouer.

Vous aurez besoin de quelques fichiers audio MP3 pour tester le lecteur MP3. Je vous ai fourni un ensemble de clips d’effets sonores du domaine public, obtenus à partir freesound.org, que vous pouvez utiliser jusqu’à ce que vous puissiez faire usage de votre propre musique et des sons. Téléchargez ces fichiers à partir du lien inclus en début de leçon et placez-les dans une carte micro SD. Quelle que soit la carte que vous utilisez, assurez-vous qu’elle soit formatée pour un système de fichiers FAT.

Important !

Les clips MP3 doivent être situés dans un dossier principal nommé mp3. Pour de meilleurs résultats, organisez votre carte SD afin qu’elle n’incluent pas d’autres fichiers ou de dossiers à l’exception du dossier mp3 . Tous les clips doivent être contenus à l’intérieur du dossier mp3 . Les clips suivent une séquence de nommage cohérente, à partir de 0001.mp3.

Insérez la carte SD dans le mini-lecteur MP3 et téléchargez le croquis PalMP3Test.ino . Une fois le croquis a terminé le téléchargement, vous devriez entendre tous les sons en séquence. Si vous n’entendez rien :

  • Surveillez la LED bleue sur le mini-lecteur MP3. Si elle clignote toutes les quelques secondes, cela signifie que le lecteur est en mode sortie de sons, mais que vous ne pouvez pas les entendre. Assurez-vous que les cavaliers sont bien connectés aux broches du haut-parleurs.
  • Si la LED ne clignote pas, vérifiez votre câblage afin qu’il n’y ait pas d’erreurs. Si le câblage semble correct, essayez de débrancher le câble USB de votre Itead Leonardo et rebranchez-le. Je pense cela était nécessaire de temps à autre pour réinitialiser le Itead Leonardo et le lecteur.

Important !

Le croquis PalMP3Test.ino destiné à une utilisation avec la famille de cartes Leonardo de Arduino – qui comprend le Itead Leonardo. Si vous utilisez régulièrement Arduino Uno, changez toutes les références de Séquentiel1 à En série. Sinon, le croquis ne compilera pas. Pour la famille Leonardo, Séquentiel1 se réfère au port séquentiel disponible sur les broches 0 et 1.

Une fois que vous êtes satisfait de la production sonore du mini-lecteur MP3, téléchargez le croquis PalLookAroundWithSound.ino . Ce croquis est fonctionnellement identique au programme PalLookAround détaillé dans la leçon précédente, mais avec des effets sonores MP3 ajoutés lorsque les capteurs à ultrasons gauche et droit sont déclenchés.

Si vous êtes intéressé à en apprendre plus sur le module Mini Lecteur MP3 DFPlayer, consultez la page wiki du fabricant.

Partagez votre Pal

Cela nous amène à la fin de la série Desktop Pal. Si vous avez construit votre propre Pal, ou tout simplement utilisé certains de ses concepts dans d’autres projets de robotique, vous pouvez partager votre conception en publiant un commentaire ci-dessous ou en montrant votre projet dans le Forum RobotShop , dans la section Présentation des projets de Robot . Nous aimerions bien voir ce que vous avez créé !