jeudi 19 octobre 2017

Livre: Les microcontrôleurs PIC pour les débutants


Les microcontrôleurs PIC pour les débutants qui veulent programmer sans patauger
par Rémy Mallard
Elektor,  2013
446 pages

Même s'il ne s'agit d'une nouveauté, ça me semble une bonne idée de signaler l'existence de cet excellent livre de Rémy Maillard, dont  le titre complet est "Les microcontrôleurs PIC pour les débutants qui veulent programmer sans patauger avec mikroPascal: intermédiaire idéal entre BASIC (trop facile) et C (trop difficile)" !

Les amateurs de microcontrôleurs PIC trouveront dans ce livre de quoi occuper de nombreuses soirées:  présentation des différentes familles de microcontrôleurs PIC, configuration d'un PIC (oscillateur, chien de garde, etc.), interruptions, pilotage d'un relais ou d'un moteur, production d'un signal sonore, utilisation des comparateurs, mesure d'une tension, d'un rapport cyclique et d'une fréquence, production d'une tension analogique, utilisation de différents capteurs (lumière, température, humidité, pression, accéléromètre), multiplexage des entrées/sorties, affichage sur écran LCD, utilisation d'un EEPROM, données RS232, données MIDI, données RC5/RC6, données DMX, liaisons SPI et I2C, liaison USB, liaison Ethernet, liaison OneWire, etc.

Les travaux de Rémy Mallard, que ce soit sur papier ou sur le web, constituent toujours une valeur sûre.  Ce monsieur réussit toujours à présenter ses vastes connaissances d'une façon claire et même...amusante!

Une seule réserve:  le choix du langage Pascal!  Ça m'a rappelé de bons souvenirs de l'époque où je programmais mon Macintosh au début des années 1990, mais j'ai l'impression que des exemples en C auraient été plus utiles, sans être significativement plus compliqués.  Heureusement, la conversion en C d'un bout de code rédigé en Pascal ne pose généralement pas de problème majeur.

En ce qui me concerne, la lecture de ce livre m'a donné le goût d'expérimenter un peu avec mon MPLAB Xpress Evaluation Board, qui traîne au fond d'un tiroir depuis plus d'un an:  je vous en reparle bientôt.

N.B.:  Au moment où j'écris ces lignes, le livre est offert en solde (25 euros)  sur le site d'Elektor.

Yves Pelletier   ( Twitter , Facebook )

jeudi 12 octobre 2017

Capteur infrarouge passif (PIR) avec une carte STM32 Nucleo


Dans ce court billet, je vous fournis quelques informations utiles pour détecter un mouvement au moyen d'un capteur à infrarouge passif (ou PIR, pour passive infrared) branché à une carte STM32 Nucleo.

Pour plus d'informations au sujet des capteurs PIR, je vous réfère à ce précédent billet:  vous y trouverez des informations utiles concernant leur principe de fonctionnement et les réglages qu'on peut effectuer au moyen de leurs potentiomètres. Si vous préférez utiliser une carte Arduino ou encore un Raspberry Pi, il existe également des tutoriels à ce sujet.

Connexions

Le capteur nécessite une tension d'alimentation d'au moins 5 V, mais sa sortie délivre malgré tout une tension de 3,3 V qui est tout à fait appropriée pour notre Nucleo.

En théorie, les branchements sont donc:
  • +5 V du PIR : 5V du Nucleo
  • OUT du PIR : D7 du Nucleo
  • GND du PIR:  GND du Nucleo


Pourquoi ai-je précisé "en théorie"?  Parce qu'aussi longtemps que je me suis obstiné à alimenter mon capteur au moyen de la sortie 5 V de ma carte Nucleo, le capteur s'est comporté de façon complètement erratique (le symptôme le plus fréquent, c'est qu'il continuait de détecter un mouvement alors qu'il n'y en avait plus depuis bien longtemps).  J'ai essayé de stabiliser l'alimentation avec le vieux truc du condensateur ajouté entre les deux bornes, mais ça n'a pas apporté d'amélioration notable.  Par contre, tout fonctionne à merveille si mon capteur est alimenté par sa propre source de tension.

Voici donc le circuit qui a correctement fonctionné pour moi:



Script mbed

Voici finalement un script réalisé au moyen de l'IDE en ligne mbed.  Lorsqu'un mouvement est détectée, la LED verte intégrée à la carte Nucleo s'allume, et un message est envoyé à l'ordinateur par liaison série.


Remarquez que si votre seul objectif est d'allumer une LED lorsque que capteur PIR détecte un mouvement, la carte Nucleo n'est pas nécessaire:  le capteur PIR peut très bien piloter une LED ou un relais sans l'aide d'un microcontrôleur.   Ce script se veut plutôt un exemple qui pourra servir de point de départ à un projet plus ambitieux.

Yves Pelletier   ( Twitter , Facebook )

dimanche 8 octobre 2017

Étude de CI: sonnette M581A

Alors que certains circuits intégrés peuvent accomplir de nombreuses fonctions très différentes l'une de l'autre, d'autres ont été conçus pour une seule tâche très spécifique.  Le M581A de Mosdesign (fiche technique) en est un bon exemple:  il sert exclusivement à produire un son de sonnette d'immeuble.

J'ai fait l'essai de la plus simple des 4 versions disponibles (le format TO-92, généralement utilisé pour un transistor).

Les trois broches du M581A sont:

VDD:  tension de 3 V (4,5 V au maximum)
OUT:  le signal de sortie
VSS:  la masse

Comme l'indique le schéma fourni dans la fiche technique, le signal de sortie est acheminé à un haut-parleur par l'entremise d'un transistor NPN (j'ai utilisé une résistance de 2,2 kΩ).

Le signal (une succession de deux fréquences) se déclenche lorsque la broche VDD est soumise à une tension de 3 V.  Pour émettre un nouveau signal, il faut rétablir l'alimentation de la broche VDD après l'avoir interrompue.  Une façon évidente d'y arriver est de placer un bouton poussoir entre la broche VDD et l'alimentation:  le son est émis chaque fois qu'on presse le bouton.


Vous pouvez entendre le résultat dans la vidéo ci-dessous.




Donc rien de bien spectaculaire, mais on obtient le résultat désiré au moyen d'un minimum de composants.  Il est par contre impossible de modifier les paramètres du son émis.

Yves Pelletier   (TwitterFacebook)

Related Posts Plugin for WordPress, Blogger...