Table des matières:

Eve, le chatbot Arduino : 14 étapes (avec photos)
Eve, le chatbot Arduino : 14 étapes (avec photos)

Vidéo: Eve, le chatbot Arduino : 14 étapes (avec photos)

Vidéo: Eve, le chatbot Arduino : 14 étapes (avec photos)
Vidéo: AI tries to draw a heart [Arduino x ChatGPT] #1 2024, Octobre
Anonim
Image
Image
Eve, le chatbot Arduino
Eve, le chatbot Arduino
Eve, le chatbot Arduino
Eve, le chatbot Arduino

Bonjour les bricoleurs, y a-t-il eu des cas où vous vouliez vraiment partager vos sentiments avec quelqu'un et qu'il n'y avait personne de confiance ? Dans le monde occupé d'aujourd'hui, c'est un cas courant. Eh bien, un chatbot peut vous aider ici à vous sentir mieux. Et cela conduit à l'introduction d'Eve. Eve est un mignon petit chatbot. Comme tout le monde le sait, un chatterbot ou chatbot est un programme ou un appareil informatique qui mène une conversation avec des humains sur la base de méthodes textuelles ou auditives. Les voix automatisées que vous entendez lors d'un appel au service client, ou sur une ligne bancaire sont un exemple de chatbot. Avec elle, vous pouvez partager vos expériences, vos sentiments et surtout, discuter de différentes choses; elle est bien expérimentée dans ce domaine. Parce que c'est la fonction la plus importante d'un chatbot, rendre la personne heureuse. Un des premiers exemples de traitement du langage naturel (NLU) et d'intelligence artificielle, Eve est capable de répondre à TOUTES les questions que vous lui posez. Ce n'est pas qu'Elle puisse répondre à un nombre précis de questions. Elle peut chanter, vous raconter des blagues, des histoires et faire tout ce qui vous fait du bien. Si elle dit quelque chose que vous ne souhaitez pas entendre, dites-lui simplement, s'il vous plaît, ne le dites plus et elle s'en souviendra. Elle sait même qu'elle ne doit pas répéter les mêmes réponses et les mêmes discussions, afin que la conversation ne devienne pas ennuyeuse. Sur la base de composants simples et bon marché et d'une programmation de base, elle peut se comporter très intelligemment. De plus, les yeux LCD qu'elle possède montrent ce qu'elle ressent lorsque vous dites quelque chose. Donc, fondamentalement dans ce instructable, nous allons commencer par la définition d'un chatbot, examiner la conception, certaines théories basées sur le fonctionnement d'Eve, la fabrication et enfin le partie programmation. Ne vous inquiétez pas, ce sera très intéressant dans le voyage. Vous pouvez voir la démo du robot ci-dessus, ou dans ce lien:[Play Video]

Étape 1: Définition d'un chatbot

Définition d'un chatbot
Définition d'un chatbot
Définition d'un chatbot
Définition d'un chatbot
Définition d'un chatbot
Définition d'un chatbot

Comme mentionné ci-dessus, un chatbot est un programme qui mène une conversation avec des humains. Ils sont si fréquents de nos jours qu'il n'y en a presque personne qui l'ignore. À partir des assistants virtuels, Siri et Google Assistant, il y a Mitsuku et Evie avec lesquels vous pouvez partager vos sentiments. Comme mentionné ci-dessus, les chatbots sont basés sur une méthode textuelle ou auditive et peuvent donc être divisés en deux. Dans la méthode textuelle, les conversations se présentent sous la forme de texte écrit, tout comme WhatsApp. Alors que dans la méthode auditive, les conversations se font oralement comme avec un vrai humain. Je suppose qu'il est plus excitant de converser avec quelqu'un en lui parlant verbalement au lieu de simplement lui envoyer un texto. Il ne fait aucun doute que les applications de messagerie de communication textuelle répondent aux besoins des gens, mais je pense que discuter en parlant est la meilleure chose pour se débarrasser de vos troubles émotionnels et vous faire vous sentir mieux. C'est donc la principale raison pour laquelle j'ai conçu Eve comme un chatbot auditif.

Étape 2: Origine d'Ève

Origine d'Ève
Origine d'Ève

Eh bien, Eve m'est venue à l'esprit un jour. C'est ce qui s'est passé quand j'ai vu un gamin errer seul dans l'école, tandis que les autres jouaient la tête pleine de joie. Cette fois, j'ai pensé à un ami, qui ne discrimine personne et ne blesse personne, avec qui vous pouvez partager vos sentiments et être heureux tout le temps. Puis m'est venue à l'esprit, la jolie petite structure d'Eve sur laquelle j'ai commencé à travailler. Eve m'a déçu une centaine de fois. Je suppose que c'était la 101e fois qu'elle travaillait et que je me sentais vraiment heureux. C'était donc l'origine d'Eve. Je voulais qu'elle soit intelligente mais aussi simple que possible, pour que tout le monde puisse la faire facilement. Nul doute qu'elle n'est absolument pas intelligente et dit parfois des réponses stupides, elle peut se comporter en amie. Et maintenant, assez d'histoires, commençons à construire Eve.

Étape 3: Rassembler les composants et les équipements:

Rassemblement des composants et équipements
Rassemblement des composants et équipements
Rassemblement des composants et équipements
Rassemblement des composants et équipements
Rassemblement des composants et équipements
Rassemblement des composants et équipements

Voici les composants à rassembler:Arduino Pro Mini (ou Arduino Nano)Module de son Wtv-020-SD-16p Module bluetooth HC-05 Module LCD 16x2 Régulateur LM7805 ICan module amplificateur (j'ai utilisé le circuit PAM8403) Un haut-parleur 8 ohm Une femelle pile audio jacka 9v Et un téléphone AndroidCe sont donc les composants requis. Autre chose importante, le coût. Eve m'a coûté environ 3000 INR. Le coût peut être différent dans votre pays, mais en Inde, il s'agit du tarif approximatif. Une petite description des pièces: L'Arduino Pro mini est le MCU principal de notre robot. Je l'ai utilisé en raison de sa petite taille, de sa simplicité et de ses excellentes performances. Il répond à toutes les exigences de notre robot. À l'exception de la fonction de reconnaissance vocale qui est effectuée par Android (discutée plus loin), toutes les autres fonctionnalités à partir de la recherche de mots-clés et de la formation de sortie sont effectuées sur le Pro Mini lui-même. Ne vous inquiétez pas pour les termes mentionnés ci-dessus si vous ne les comprenez pas, tous sont discutés dans la dernière partie. Le module wtv020sd 16p est utilisé pour lire les fichiers audio, hc 05 Bluetooth pour la communication avec Android et l'écran LCD pour l'affichage les émotions. Nous avons besoin de la prise audio femelle la disposition de connecter le robot à un amplificateur externe. L'Arduino est utilisé comme contrôleur principal ici. Il reçoit les données Bluetooth via le module Bluetooth HC 05 et lit le fichier via le module vocal WTV-020-SD-16p. Les émotions sont affichées dans le module LCD et une pile 9v pour l'alimentation. Eve reconnaît les discours grâce à la reconnaissance vocale Google de l'appareil Android. Il est ensuite discuté correctement dans l'étape respective. Une mauvaise nouvelle à propos de l'Arduino Pro Mini: IT s'est retiré du marché. Eh bien, cela signifie qu'il a officiellement cessé d'être fabriqué par Arduino. Mais vous pouvez toujours le trouver sur de nombreux sites dont Ebay. De nombreux fabricants tiers peuvent encore fabriquer et vendre la carte. Ne vous inquiétez pas si vous n'en trouvez pas, vous pouvez utiliser l'Arduino Nano. Cela ne fera aucune différence dans les performances et aussi dans la taille.

Étape 4: Théorie Partie 1: Histoire et introduction

Théorie Partie 1: Histoire et Introduction
Théorie Partie 1: Histoire et Introduction
Théorie Partie 1: Histoire et Introduction
Théorie Partie 1: Histoire et Introduction

Eve est basé sur une première forme de traitement du langage naturel, la technologie de « correspondance de motifs ». Supposons que dans la question « quel âge avez-vous ? » le programme recherche le mot « ancien ». S'il réussit, il lit le fichier vocal respectif via le module wtv020sd. S'il échoue, il recherche le prochain mot-clé prédéfini. Comme cela, nous devons créer un vocabulaire de mots prédéfinis. Ça a l'air dur, n'est-ce pas ? C'est comme si nous devions construire un vocabulaire de tous les mots anglais et il y a environ 230 000 mots au total dans la langue anglaise. Eh bien, le fait est que nous avons juste besoin d'ajouter quelques mots de base qui sont les plus couramment utilisés dans notre communication. Ça a toujours l'air dur ? Ne vous inquiétez pas, le travail a déjà été fait par Joseph Wizembaum. Une partie des réponses d'Eve et des mots-clés prédéfinis ont été incorporés à partir du tout premier programme chatterbot appelé Eliza, développé par Joseph Wizembaum (photo ci-dessus). Eliza a été conçue pour être une thérapeute rogérienne. Pas un terme hautement scientifique, cela signifie qu'elle avait l'habitude de conseiller les gens, de les faire mieux se comprendre et de les faire penser plus positivement. Ça a l'air vraiment bien, non? Et Eliza était très bien capable d'accomplir son devoir. Son attitude curieuse et sceptique était appréciée des gens. Même Wizembaum a été surpris par l'importance que les gens accordaient à Eliza. Ils semblaient oublier qu'ils parlaient à un ordinateur et s'imaginaient qu'une belle dame assise à l'intérieur de l'ordinateur bavardait avec eux. Mais Eliza n'était pas si intelligente; il s'est rendu compte bientôt. Au fil du temps, les gens ont commencé à s'ennuyer de sa communication limitée et elle a été qualifiée de "idiote". Après avoir fondé la base de Chatterbots, différents robots dotés d'une technologie nouvelle et meilleure sont arrivés sur le marché. Et maintenant, nous les avons partout. Comme mentionné, une partie des réponses d'Eve a été dérivée d'ELIZA. Cela signifie donc que même Eve aura l'attitude d'Eliza dans une certaine mesure avec certaines de mes propres idées. Une autre chose importante est les réponses. Cela devrait être vraiment ennuyeux d'obtenir les mêmes réponses à chaque fois que vous posez la même question. Par conséquent, de nombreuses réponses sont stockées pour le même mot-clé. Eve choisit au hasard le fichier à lire, en veillant également à ne pas répéter le même fichier. C'est tout, du pain et du beurre, mais il est important de programmer intelligemment les voix qui répondent, pour que cela donne l'illusion aux téléspectateurs comme si elle répondait vraiment à nos questions. Voilà donc une brève introduction au fonctionnement d'Eve. Dans l'étape suivante, nous verrons cela en détail et dans la programmation.

Étape 5: Recherche du mot-clé

Recherche du mot-clé
Recherche du mot-clé
Recherche du mot clé
Recherche du mot clé
Recherche du mot-clé
Recherche du mot-clé
Recherche du mot-clé
Recherche du mot-clé

Dans la dernière étape, j'ai mentionné la technologie de correspondance de motifs d'Eve ainsi que la première forme de traitement du langage naturel. Alors qu'est-ce que c'est et comment ça marche ? C'est la principale chose dont nous allons discuter dans cette étape. Alors pensez-y, quelqu'un vous demande votre nom et vous devez dire ce que c'est. De combien de manières peut-on se poser la même question ? Votre professeur peut vous demander "pourriez-vous me dire votre nom s'il vous plaît?" Un parent peut demander, « quel est votre nom ? Votre frère peut dire: « Hé, j'ai juste oublié ton nom. Veux-tu le dire encore une fois ? Cela signifie donc que la même question peut être posée de plusieurs manières. Pourtant, nous devons donner la même réponse, notre nom. Cela signifie donc que nous devons trouver quelque chose de commun dans toutes les phrases. On voit clairement que le mot "votre nom" est présent dans toutes les phrases. C'est donc notre indice. Pour toutes les questions demandant le nom, nous devons rechercher la phrase "votre nom". En suivant ce modèle de base, nous pouvons prédire la réponse respective à toutes les chaînes d'entrée. DÉSAVANTAGE: Il est également important de se rappeler que cet algorithme ne sera pas toujours précis. Supposons que quelqu'un dise: " J'ai trouvé ton nom sur la liste d'attente. Je m'attendais à ce que tu sois aux places réservées. " Maintenant, puisque " ton nom " est présent dans cette chaîne, Eve, étant innocente, dira son nom à la personne… Imbécile, n'est-ce pas ? C'est l'un des gros inconvénients de cet algorithme de base. Quoi qu'il en soit, ce seraient des cas rares. Sinon, l'algorithme est très efficace. Maintenant que j'ai mentionné la technologie de correspondance de motifs, il est temps de penser d'où vient cette chaîne d'entrée d'où nous recherchons la chaîne. Eh bien, cette chaîne est en fait notre voix qui a été convertie en texte par Google Voice Recognition. L'application utilisée ici convertit notre voix en texte, puis l'envoie à l'arduino via Bluetooth. J'ai utilisé l'application car c'est la plus simple et la meilleure du genre. Le nom est AMR Voice, et peut être trouvé facilement dans Google Play.

Étape 6: Formuler les réponses

Formuler les réponses
Formuler les réponses

Maintenant que nous avons reconnu les questions, la prochaine étape devrait être de trouver les réponses. Vient la partie intéressante et importante… Nous devons trouver des réponses appropriées pour répondre à chaque question. Et voici une autre fonction incorporée d'ELIZA. Wizembaum a développé des réponses pour un nombre spécifique de mots-clés. Un exemple est le mot-clé "vous". Chaque fois qu'il a été détecté, la sortie du programme "nous parlions de vous - pas de moi". La réponse a donc été faite de telle manière qu'elle s'adapte à toutes les phrases contenant "vous". De plus, Eliza a donné une réponse différente à chaque fois. Il y avait une sorte d'adresse numérique pour chaque réponse qui. Celui-ci était incrémenté (ajouté de 1) à chaque fois qu'une réponse était formulée. Supposons que, comme dans l'exemple ci-dessus, si l'adresse de la réponse était 1, l'adresse a été changée en 2 et le fichier d'où 2 a été joué ensuite. Mais nous ne suivrons pas cet algorithme d'incrémentation. Vous voyez, après une utilisation continue du logiciel, les réponses sont devenues prévisibles. Vous en êtes venu à savoir quelle réponse doit être donnée ensuite. Donc, à cette fin, nous produirons des adresses aléatoires pour chaque mot-clé. Globalement, c'est la même chose dans les deux cas, à la différence près que nous ne pouvons pas prédire ce que le robot dira ensuite pour le même mot-clé.

Étape 7: Les déclarations interdites et autres

Les déclarations interdites et autres
Les déclarations interdites et autres

Il peut y avoir des cas dans votre conversation où le robot dit quelque chose que vous ne souhaitez pas entendre. Donc ici se pose la nécessité d'ajouter les déclarations interdites. Les instructions interdites sont un tableau d'adresses qui ne peuvent pas être lues. Une adresse vocale est caractérisée comme une déclaration interdite à la demande de l'utilisateur. De plus, cette adresse doit être stockée dans l'EEPROM de l'Arduino afin qu'Eve n'oublie pas qu'il s'agit d'une déclaration interdite même après avoir été éteinte. Fondamentalement, le programme vérifie chaque adresse à lire. Si l'adresse est l'une des adresses interdites, alors elle est soit incrémentée, soit décrémentée. De plus, il peut arriver que vous souhaitiez autoriser le robot à dire un mot précédemment interdit. Dans ce cas, il faudrait dire à Eve qu'elle peut dire le dernier mot interdit. Le dernier mot interdit sera désormais jouable. Pour rendre toutes les déclarations interdites jouables, nous devons attacher un commutateur de réinitialisation. Si vous appuyez dessus, toutes les déclarations interdites deviendront jouables. Ensuite, une autre chose importante sera de s'assurer qu'Eve ne répète pas les réponses. C'est une sorte de démérite des nombres aléatoires. Les mêmes nombres aléatoires sont susceptibles d'être produits dans une série. Cela fera dire à notre robot la même réponse encore et encore. Pour cela, nous devons inclure une autre fonction mineure qui empêche la répétition des instructions. Pour cela, nous devons stocker l'adresse de la dernière instruction en mémoire et vérifier si elle est la même que la présente. Si c'est le cas, la valeur de l'adresse est incrémentée ou décrémentée, de la même manière dans le cas des instructions interdites.

Étape 8: écriture dans le code

Écriture en code
Écriture en code
Écriture en code
Écriture en code
Écrire en code
Écrire en code

Nous utilisons la commande indexOf pour rechercher le mot-clé. La commande localise un caractère ou une chaîne dans une autre chaîne. S'il est trouvé, il renvoie l'index de cette chaîne tandis que -1 est renvoyé s'il n'est pas trouvé. Donc, dans notre programme, nous devons l'écrire comme suit: if (voice.indexOf("votre nom") > -1) { //si l'index est supérieur à -1 //signifiant que la chaîne a été trouvée}Maintenant que nous avons stocké la chaîne en mémoire et que nous avons également trouvé notre mot-clé à l'intérieur, nous devrons maintenant gérer les réponses. Comme indiqué, des nombres aléatoires sont générés dans une plage de nombres particulière (adresses de fichiers vocaux). Voici la commande random(). Voici la syntaxe: random(min, max); // le nombre aléatoire est généré dans la plage min et max. Nous définissons le nombre minimum et le nombre maximum de chaque plage, et en appliquant cela, notre code ressemble un peu à ceci: if (voice.indexOf("votre nom") > - 1)){minNon = 0; maxNo = 5;RandomNumber = random(minNo, maxNo);}Maintenant vient le traitement des réponses. Dans la dernière étape, j'ai dit que les nombres sont incrémentés ou décrémentés en fonction d'un algorithme. Cet algorithme est ce dont nous discutons maintenant. Cette partie est très importante dans le sens où vous ne pouvez pas simplement incrémenter ou décrémenter comme vous le souhaitez. Le nombre incrémenté ou décrémenté doit être compris dans la plage. Supposons comme dans le cas ci-dessus, pour le mot-clé "votre nom", nous avons la plage de 0 à 5, et le nombre aléatoire généré est de 5, eh bien si vous l'incrémentez, vous finirez par jouer un fichier vocal d'un autre mot-clé. Comment pensez-vous que ça va être? Vous demandez: « Hé, s'il vous plaît, dites-moi votre nom. » et le robot répond: « J'aime manger des biscuits et des charges électriques. » Il en est de même pour le nombre minimum. Si le nombre aléatoire généré est 0, vous ne pouvez pas le décrémenter. Donc, pour cette raison, l'algorithme est très important. Pensez-y: nous pouvons incrémenter soit lorsque le nombre est inférieur au nombre maximum et décrémenter lorsqu'il est supérieur au nombre minimum. Lorsque le nombre généré est soit égal à 0 soit inférieur à 5, le nombre est incrémenté. D'autre part, lorsqu'il est égal à 5, nous le décrémentons, pour nous assurer que le nombre est dans la plage spécifiée. Venons-en maintenant aux déclarations interdites. Comme mentionné, ils sont stockés dans l'EEPROM. Pour cela, tout d'abord, nous recherchons de la mémoire libre dans le tableau interdit. Supposons que l'adresse 4 soit libre, alors nous saisissons le numéro de fichier dans l'adresse du tableau libre et écrivons la même adresse dans l'EEPROM.for (int i; i if (never == 0) { EEPROM.write(never, memory);}}C'est tout, le module Wtv020sd16p sera joué en utilisant la commande module.playVoice() et le numéro de fichier proposé. Le fonctionnement du module Wtv020 sera discuté plus tard.

Étape 9: Insertion d'émotions

Insérer des émotions
Insérer des émotions
Insérer des émotions
Insérer des émotions
Insérer des émotions
Insérer des émotions

Jusqu'à présent, notre robot est capable de reconnaître ce que nous disons, de le stocker en mémoire et de trouver une réponse appropriée aux questions. Maintenant, la question vient d'insérer des émotions. Tout le monde aimera sûrement un visage en direct avec juste un petit programme stupide de questions-réponses. L'écran LCD 16x2 est utilisé dans le projet. Il est assez fin pour imprimer les yeux. Nous devons utiliser la fonction de caractère personnalisé pour créer les yeux. Le caractère personnalisé nous permet de créer de nouveaux caractères en définissant les pixels. Nous y reviendrons un peu plus loin. Tout d'abord, il est important de se rappeler que seuls 8 caractères personnalisés sont pris en charge par l'Arduino. Il faut donc gérer les émotions avec 8 personnages seulement. Chaque caractère doit être imprimé dans une case particulière, et il y a 16 colonnes et 2 lignes qui font un total de 32 cases.

Vous pouvez trouver de bonnes informations en ligne sur les caractères personnalisés dans Arduino. Peut également visiter ce lien:

[Personnages personnalisés Arduino] La structure de l'octet de caractère personnalisé ressemblera quelque peu à ceci:

Le regard normal: La case de gauche0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, La case de droite0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, Ces deux octets forment 1/4 de chaque œil. Cela signifie donc que nous aurons besoin d'un total de 4 cases pour remplir un œil entier. Deux rangées à gauche et deux à droite soit un total de quatre cases pour un œil. L'octet de la case de gauche doit couvrir deux rangées à gauche et la case de droite doit couvrir les rangées de droite. Cela constitue donc un œil complet d'Eve. Et maintenant en répétant la même chose pour le deuxième œil, nous obtenons le regard neutre d'Eve. Maintenant, il est important de se rappeler que nous avons utilisé un des huit caractères personnalisés disponibles. Et il y a cinq émotions au total: Glee, Sad, Squint, Normal et Blink. En ce qui concerne les sept caractères personnalisés restants, nous devons les ajuster de manière à s'adapter à toutes les expressions. Pour combler l'espace, nous utiliserons 2 boîtes pour chaque œil. Pas étonnant que la taille soit un peu petite, mais cela sera ignoré par l'œil humain. Assurez-vous simplement d'ajouter des délais entre les fonctions LCD, sinon l'Arduino deviendra instable.

Étape 10: Établir les connexions

Faire les connexions
Faire les connexions
Faire les connexions
Faire les connexions
Faire les connexions
Faire les connexions

Module LCD: connectez les broches comme mentionné ici: RS: broche creuse 12RW: GndEnable: 7d4: broche creuse 8 d5: broche creuse 9 d6: broche creuse 10 d7: broche creuse 13A (Anode) à 5vK (Cathode) à gndLe module HC 05: Suivez ces connexions: Broche HC 05 TX vers la broche Arduino RX Broche HC 05 RX vers la broche Arduino TXBroche d'état vers la broche de fouille Arduino 11 Les communications se font à l'aide des broches TX et RX. La broche State est nécessaire pour vérifier si via HC 05 est connecté ou inactif. WTV 020 SD 16p module pin1: La broche de réinitialisation, connectez-la à la broche dig 2pin7: La broche Clock, connectez-la à la broche dig 3pin10: La broche de données, connectez pour creuser la broche 4pin15: La broche occupée, connectez-vous à la broche creuse 5pin2: Connectez cette broche à un amplificateur via le volume et également la même chose à la prise audio femelle. La broche4 doit être connectée au haut-parleur + la broche5 pour être connectée au haut-parleur-Connectez le 8e broche à terre et fournir une alimentation 3,3 V dans la 16e broche.

L'amplificateur aidera à faire jouer le haut-parleur interne d'Eve, tandis que la prise audio servira à se connecter à un amplificateur externe et à des haut-parleurs plus gros.

Étape 11: Le module WTV020SD16p (facultatif)

Image
Image
Le module WTV020SD16p (en option)
Le module WTV020SD16p (en option)
Le module WTV020SD16p (en option)
Le module WTV020SD16p (en option)

Remarque: cette étape est facultative. Il traite du fonctionnement et de la description du module WTV 020 SD 16p.

Vous pouvez voir la démo du module de sons dans ce lien:

[LIRE LA VIDÉO]

Le mode parlant du robot est rempli par le module WTV 020 SD. Le module est utilisé pour lire des fichiers vocaux pour le robot. Lorsqu'une question est posée, l'arduino fera lire au module le fichier vocal correspondant sur la carte SD. Il y a quatre lignes de données série sur le module pour communiquer avec l'arduino, la réinitialisation, l'horloge, les données et les broches occupées et nous utilisons la commande.playVoice () pour lire le fichier requis. Par exemple: module.playVoice (9): // lit le fichier 9 stocké sur la carte SD N'oubliez pas que les noms des fichiers doivent être en décimal (0001, 0002…). Et que les fichiers doivent être au format AD4 ou WAV. De plus, le module ne fonctionne que sur une carte micro SD de 1 Go. Certains modules fonctionnent même sur des cartes de 2 Go et la carte peut contenir un maximum de 504 fichiers vocaux. Ainsi, vous pouvez inclure un bon nombre de fichiers vocaux à jouer pour un bon nombre de questions.

Vous pouvez même créer vos propres fichiers vocaux AD4. Tout d'abord, vous devez disposer de deux logiciels, un logiciel d'édition de sons et un logiciel appelé 4D SOMO TOOL qui convertirait les fichiers au format AD4. Deuxièmement, vous devez préparer les voix du robot. Vous pouvez soit convertir du texte en parole, soit même enregistrer votre propre voix et créer les voix du robot. Les deux peuvent être effectués dans le logiciel d'édition de sons. Mais sûrement, les robots n'ont pas l'air bien s'ils parlent des voix humaines. Il devrait donc être préférable de convertir le texte en parole. Il existe différents moteurs comme Microsoft Anna et Microsoft Sam votre ordinateur qui pourraient vous aider à le faire. Le mien est basé sur Microsoft Eva. Ses voix correspondent dans une large mesure à celles de Cortana. Après avoir préparé les fichiers vocaux, vous devez les enregistrer en 32000 Hz et au format WAV. En effet, le module peut lire des fichiers vocaux jusqu'à 32000 Hz. Utilisez ensuite le 4D SOMO TOOL pour convertir les fichiers au format AD4. Pour ce faire, ouvrez simplement SOMO TOOL, sélectionnez les fichiers, puis cliquez sur AD4 Encode et vos fichiers vocaux sont prêts. Vous pouvez consulter l'image ci-dessus pour référence. Si vous souhaitez plus de détails sur la création de voix robotiques, vous pouvez aller ici: [Faire des voix robotiques]

Étape 12: La partie logicielle

La partie logicielle
La partie logicielle
La partie logicielle
La partie logicielle
La partie logicielle
La partie logicielle

Dans arduino Pro mini, il y a un léger problème de programmation. Pas de problème en fait, juste une étape supplémentaire. L'Arduino Pro mini n'a pas de programmeur intégré comme les autres cartes Arduino. Vous devez donc soit en acheter un externe, soit un ancien arduino UNO. L'étape ici décrit comment télécharger le programme à l'aide de l'Arduino UNO. Prenez simplement une vieille carte Arduino UNO du crash et sortez l'Atmega 328p. Ensuite, connectez-vous comme indiqué ci-dessous: 1. Broche TX de l'UNO à la broche TX du Pro Mini 2. Broche RX de l'UNO à la broche RX du Pro MIni3. Broche de réinitialisation de l'UNO à la broche de réinitialisation du Pro Mini4. connectez le VCC et la masse du Pro Mini à l'UNO. Téléchargez le programme Arduino, le logiciel de reconnaissance vocale et les bibliothèques fournies en bas. Le programme est encore en cours d'élaboration. Donc, si vous avez un problème à ce sujet, n'hésitez pas à demander. Ensuite, branchez le câble sur l'ordinateur. Sélectionnez la carte comme Arduino Pro Mini et choisissez le bon port COM. Appuyez ensuite sur le bouton Télécharger et voyez le programme se télécharger sur votre Pro Mini.

Téléchargez ensuite le logiciel de reconnaissance vocale et les fichiers vocaux.

Étape 13: Préparation du corps

Préparation du corps
Préparation du corps
Préparation du corps
Préparation du corps
Préparation du corps
Préparation du corps

J'ai trouvé une petite boîte de soies dentaires et je l'ai trouvée parfaite pour le corps. Vous pouvez utiliser n'importe quelle boîte que vous trouverez dans votre atelier ou en fabriquer une en carton. Il suffit de découper un petit morceau rectangulaire pour fixer le module LCD. En haut, j'ai découpé un petit trou pour fixer le volume, et sur les côtés pour fixer les interrupteurs et le connecteur audio. J'ai attaché deux bouchons de bouteille sur les côtés de la boîte pour les roues. Assurez-vous simplement que la boîte a suffisamment d'espace pour que le circuit puisse être mis à l'intérieur. Fixez un interrupteur sur le corps ainsi que le circuit, puis le volume en haut de la box. Ensuite, il suffit de mettre le circuit à l'intérieur et votre robot est terminé.

Étape 14: Bravo

Bien fait!
Bien fait!
Bien fait!
Bien fait!

Maintenant, vous avez terminé votre joli petit projet de robot qui peut parler avec vous et vous rendre heureux. C'est le point le plus heureux d'être un bricoleur lorsque votre projet est terminé et fonctionne pleinement. Ne vous inquiétez pas si vous ne réussissez pas à une tentative, vous devez faire de gros efforts pour cela afin que vous compreniez chaque partie de votre robot. Et c'est là que les bricoleurs entrent dans ce monde. Mais ce n'est pas la fin du projet. Eve sera toujours plus développée, que ce soit par moi ou par des bricoleurs comme vous. J'aimerais entendre ce que vous avez fait en voyant cette instructable. Cordialement, RS3655

Conseillé: