Jimmy-Phone

Jimmy-Phone ou un détecteur pour mon chat.

Detect chat all

 

Le chat, très patient, passe de longues heures sur la fenêtre à attendre que l'on vienne lui ouvrir. Idem, Chris et moi, allons régulièrement voir si il est là; une contrainte pour nous et lui qui s'expose aux intempéries. D'où l'idée de détecter la présence du minou sur la tablette de fenêtre afin de nous inviter à aller ouvrir. Mieux qu'une chatière qui fait un trou dans la porte, le détecteur nous prévient par un message sonore (miaulement) par un haut-parleur qui se (dé)place sur une prise de courant dans n'importe quelle pièce de la maison ... Et ça marche dans les deux sens ! Quand le chat veut sortir, nous sommes prévenus avant que son envie ne devienne intenable. 

Comme vous l'avez deviné, le Jimmy-phone se compose de deux éléments; un émetteur 433MHz, alimenté par pile, commandé par un détecteur  PIR et un récepteur, branché sur secteur, qui ordonne une synthèse vocale. Une mémorisation de déclenchement à été ajoutée pour avoir une trace du passage, si l'on n'a pas entendu le message vocal .

Le Transmetteur

Detect chat fin

Le transmetteur est de la plus grande simplicité; il se compose d'un détecteur pir HC-SR501, acheté en chine pour une somme dérisoire, et un émetteur de télécommande tout aussi bon marché. Le principal critère est d'avoir une très faible consommation, pour garantir une autonomie de plusieurs mois sur une pile de 9v et de détecter les mouvements d'un corps chaud devant la lentille de Fresnell .

Detect chat box in

 

L'émetteur à été enlevé de son boîtier,  et modifié en dessoudant le poussoir du canal choisi, ainsi que les pattes de maintient de la pile et des picots traversants  qui vont assurer la liaison avec le circuit imprimé .

Le Schéma: 

Detect chat sch

Rien de plus simple; en réalité il ne s'agit là que de la connectique ! La pile alimente le détecteur pir HC-SR501 en permanence (~20µA) et si un mouvement d'un corps chaud est détecté, la sortie passe à 3,3volt et vient, via la résistance de base R1/2K2 rendre conducteur le transistor 2N2222 qui fera tirer le relais reed quelques secondes. La bobine du relais reed est de 5 volt, mais supporte très bien la surtension vu la brièveté des impulsions. Une diode de roue-libre interne assure la réduction des parasites transitoires générés par la rupture sur self. Le contact du relais vient, en lieu et place du poussoir de l'émetteur, simuler l'appui sur le bouton de la télécommande . Un strap à été placé sur ce bouton pour prolonger la piste du commun des boutons (assurée à l'origine par une liaison interne au poussoir démonté). 

Le circuit imprimé de l'émetteur:

Detect chat brd    Detect chat cmp

Les composants CMS sont à monter en premier et le relais DIL est monté sur des bornes de barrettes sécables .

 

La mise en boite :

Detect chat box ar

 

Après quelques essais, j'ai réglé les potentiomètres du détecteur: la temporisation au minimum (~5s) et la sensibilité au tiers de la course ! J'ai dû ajouter un tube afin d'augmenter la directivité et une plaque avec des vis vérin pour ajuster l'azimutage et la stabilité dans le plan. 

 

 

Le récepteur

Rx detect chat fin1

Le récepteur a été mis dans un porte-monnaie à l'image du chat et fixé par du velcro sur un bloc secteur 5v (USB); ce qui permet de plugger l'ensemble sur une prise dans n'importe quel coin de la maison et de le déplacer facilement . A la mise sous tension, la synthèse émet un message pour informer le bon état de fonctionnement du récepteur et reste en veille permanente . Lorsque le chat est détecté et que le récepteur à reçu un signal conforme, la synthèse prévient par un message sonore et les yeux se mettent à clignoter alternativement; ceci pour prévenir que le chat est passé si l'on a pas entendu la synthèse ! Et chaque nouvelle détection provoquera le lancement de message. Pour tout remettre à zéro, il suffit de débrancher 10 secondes le récepteur ( suivant les condensateurs qu'il y a dans le bloc d'alimentation).

 

Le Schéma :

Rx detect chat1 sch

 

Pour vider les fonds de tiroirs, j'ai ressorti un bon vieux PIC 16F84A pour piloter ce montage ... Pas de surprise, ce composant a fait ses preuves et sa mise en oeuvre reste sans surprise, tant il est rentré dans les meurs . Le récepteur YK-04 reçoit un signal,et va passer au niveau haut la sortie relative; celle-ci est appliquée µcontroller; dans la foullée, le récepteur valide l'information par l'envoi d'un pulse sur la sortie "strobe" qui vient s'appliquer sur l'entrée RB0 du PIC; Celle-ci étant traitée en interruption appellera un sous-programme quelque soit la phase du programme en cours: nous y reviendrons plus loin lors de la décomposition du software ! Le micro contrôleur est cadencé par un quartz de 4 MHz, tiré par 2 condensateurs de 22pF; C'est du grand luxe et rien n'empêche de se passer de ça et de tourner en horloge interne RC après modification des registres internes du PIC. La résistance R2 assure le "power on reset" du circuit lors de la mise sous tension. Deux leds bleues, limitées en courant par R3/R4 simulent un clignotement alterné après une première détection de chat .

La synthèse vocale DF-mini-Player est alimentée à travers une diode 1N4004, qui à pour effet de descendre la tension à 4,2 volt, puis re-filtrée par un 220µF/16v. Bien que le constructeur donne son alimentation à 5 volts dans les datasheets, un phénomène de motor-boating apparaît si la tension est haute. Deux boutons poussoir permettent, par un appui court, de faire défiler les message, et par un appui long d'ajuster le volume si nécessaire; le volume étant ajusté par l'envoi d'une trame lors des premiers pas de programme. les instructions de commande de la synthèse sont envoyées via une liaison série émulée car ce pic n'a pas de liaison série dédiée ! Les niveaux des signaux sont rendus compatible et acceptables par les résistances R1 et R6, puisque la tension de la DFPlayer est inférieure à la tension d'alimentation du circuit.

La tension d'alimentation du circuit est fournie par un bloc secteur de récupération d'un smartphone ou autre, à découpage qui donne une tension de 5 volts. Le condensateur C4 de 0,1µF est là pour garantir la "propreté" de celle-ci.

 

Le circuit imprimé :

Rx detect chat1 brdRx detect chat1 cmp

 

Le circuit imprimé est de forme circulaire, car il est prévu d'être enfermé dans un petit porte-monnaie à tête de chat . Après gravure, étamage et perçage, on commencera par souder les composant CMS sur le côté "cuivre" puis les traversants de l'autres côté. Attention de ne pas oublier le strap entre la sortie D2 ( dans mon cas ) et l'entrée RB1 du PIC. La synthèse vocale, le 16F84A, et le récepteur seront montés sur support pour faciliter la mise en place ou l'extraction; J'ai modifié le connecteur du récepteur pour qu'il soit disposé à plat et garantir le moindre encombrement. Un grand espace au milieu à été réservé pour la box du haut parleur: j'ai utilisé un modèle de PC portable qui donne un résultat satisfaisant malgré la restriction de l'enceinte.

 

Rx detect chat bot  Rx detect chat up

 

La synthèse vocale:

La VCA (synthèse vocale) DF-mini-player est disponible chez Aliexpress pour moins de 2 euros ! Elle fonctionne avec une carte SD de faible capacité où seront stockés des fichier MP3 sans tag, appelés respectivement 0001,0002.... etc. Avant première utilisation, formater la carte en FAT 16 et copier les fichiers dessus les uns après les autres en commençant par le 0001, 0002, etc ! bien attendre les information retour du PC, sinon vous allez chercher pourquoi ça ne marche pas; j'en ai fait la triste expérience ... Pour plus d'informations sur le fonctionnement, je vous invite à parcourir le site : https://cdn.instructables.com/ORIG/FGT/H5J3/IUKEZCYF/FGTH5J3IUKEZCYF.pdf

 

 

Le Programme:

Rx detect chat1 flc

 

Le programme est développé sous Flowcode pour la souplesse d'utilisation mais rien n'empêche d'utiliser ce dans quoi on est le plus à l'aise .

Dans la partie principale, on commence par lancer une tempo de 2" pour permettre à la VCA (synthèse vocale) de s'initialiser; puis on charge les données d'ajustement du volume sonore et  on appelle un sous-programme appelé 'Play'; ce dernier envoie une trame de 10 octets hexa à la VCA pour commander la fonction désirée.

Retour à la boucle principale, puis après 1/2" de pause, on recharge les valeurs pour le message de bon fonctionnement et appel à nouveau du sous-programme 'Play' pour dire à la synthèse de le diffuser.

Retour à la boucle principale, où l'on va tourner jusqu'au moment où apparaîtra le pulse sur l'entrée RB0 qui déclenchera une interruption .... Si l'interruption est avérée, on saute au sous-programme appellé 'Chat'; Là, on vient vérifier que la sortie sollicitée est la bonne, en faisant un 'et' logique avec le 'strobe' et si oui, on charge les données pour le message d'avertissement et de préparation au clignotement des leds. On appelle alors le sous-programme 'Play' qui va transmettre les instructions à la VCA pour jouer le message d'avertissement. Retour à la boucle 'Chat' pour une tempo de 10" (~ durée du message).

Retour à la boucle principale, mais qui avec la valeur 'leds' à 1, va appeller à chaque tour le sous-programme 'Blink'; ce dernier va allumer-éteindre les leds bleues des yeux alternativement et retour à la boucle principale, renvoi à 'Bink' puis retour etc, etc, etc ...

Jusqu'à ce qu'une nouvelle interruption vienne redemander le 'Play' ...

 

Et tout ce qui sert à la reproduction se trouve ci-dessous :

Detect chatDetect chat (982.57 Ko)

 

Rx detect chat rear

 

Rx detect chat fin1 1

 

 

Ajouter un commentaire