mardi 5 novembre 2013

Cours en ligne: Comprendre les Microcontrôleurs

Ayant été peu actif sur les sites qui offrent des "MOOC" au cours des derniers mois, je n'ai appris qu'hier l'existence de ce cours qui avait débuté une semaine plus tôt.  "Comprendre les Microcontrôleurs" est un cours en français offert gratuitement sur la plate-forme Coursera par deux professeurs de l'École Polytechnique Fédérale de Lausanne: Jean-Daniel Nicoud et Pierre-Yves Rochat.

La deuxième semaine (sur un total de 7 semaines) est déjà commencée, mais vous avez jusqu'à la semaine prochaine (12 novembre)  pour soumettre vos premières évaluations:  il n'est donc pas trop tard pour démarrer, surtout si vous avez déjà quelques bases d'électronique et de programmation sur Arduino.

Au programme:

  • Rappel d'électricité et électronique 
  • Systèmes logiques et architecture 
  • Machines binaires 
  • Programmation en C 
  • Entrées-sorties 
  • Applications 
  • Mise au point 
  • Timers, interruptions 
  • Signaux analogiques 
  • Affichages 
  • Communications 
  • Robotique
Ça promet!




Yves Pelletier (Twitter:  @ElectroAmateur)

dimanche 27 octobre 2013

Convertissez un fichier MIDI en sketch Arduino grâce à miduino.net

Mise à jour (2 janvier 2017):  Le site miduino dont on parle dans cet article n'existe plus. Conséquence fâcheuse:  cet article n'a plus le moindre intérêt.

Avez-vous déjà essayé de faire jouer une musique par votre Arduino, en utilisant uniquement l'instruction "tone()"?  Même pour une très courte mélodie, votre patience risque d'être mise à rude épreuve!  De plus, le résultat sera inévitablement monophonique:  il est impossible de jouer plus d'une note à la fois.

Mais tout ça n'est peut-être qu'un mauvais souvenir grâce à miduino.net, un outil en ligne gratuit mis au point par Connor Nishijima.

Voilà comment ça fonctionne:  vous préparez votre mélodie sous la forme d'un fichier MIDI (ou vous trouvez un fichier MIDI tout fait:  ils pullulent sur le web...).  Seules restrictions, pour l'instant:  votre fichier ne doit pas comporter de percussions, ni excéder 1 MB (ce qui n'a rien de troublant, le fichier MIDI ne fait généralement que quelques dizaines de kB...).


Vous vous rendez ensuite sur miduino.net pour uploader votre fichier MIDI, en indiquant votre adresse email et votre modèle d'Arduino (car le sketch produit utilisera au maximum le nombre de timers disponibles sur votre modèle).  À l'autre bout, un Raspberry Pi se charge de transformer votre fichier midi en un sketch Arduino, qui vous sera livré par email dans les secondes suivantes!

Ensuite, vous installez la librairie "Playtune" de Len Shustek, vous uploadez le sketch dans votre Arduino, et vous faites jouer la mélodie à travers un haut-parleur branché aux sorties spécifiées dans le sketch (pour l'Arduino méga, que j'utilisais, il s'agissait des pins 43, 45, 47, 49, 51 et 53).

Évidemment, le résultat sonnera comme un jeu vidéo des années 1980...

Rapide, efficace, et entièrement gratuit!



Yves Pelletier (@ElectroAmateur)

mercredi 23 octobre 2013

Mouvement de va-et-vient

Il s'agit d'une décoration d'Halloween, encore une fois, mais le principe peut certainement être appliqué à autre chose.  Cette fois, mon fils m'a mis au défi de faire voler une sorcière suspendue à une ficelle horizontale, sur une distance d'un mètre ou deux.  Le mouvement doit se répéter automatiquement.

Solution retenue:  la ficelle est utilisée comme une courroie qui passe par un moteur DC à une de ses extrémités, et une poulie à l'autre extrémité (un peu comme une corde à linge).  Près de chaque extrémité, on place également une LED infrarouge et un phototransistor:  lorsque la sorcière passe entre la LED et le phototransistor, un Arduino se chargera d'inverser le sens de rotation du moteur pour que la sorcière retourne à son point de départ.

Connexions des capteurs

Chaque LED infrarouge est alimentée au moyen de l'alimentation 5 V de l'Arduino. Comme toujours, il faut la placer en série avec une résistance de protection (j'ai utilisé 220 Ω).  Le courant doit entrer dans la LED par sa broche la plus longue, qui doit donc se trouver du côté 5 V.

Les deux phototransistors sont branchés en émetteur commun:  l'émetteur (la plus longue des deux broches) est donc relié à la masse:


La sortie du premier phototransistor est reliée à l'entrée 7 de l'Arduino, et celle du deuxième phototransistor est reliée à l'entrée 8 de l'Arduino.

Connexions du moteur

Pour contrôler le moteur, j'ai utilisé un L293D (il n'est utilisé qu'à moitié, puisqu'il est conçu pour contrôler deux moteurs):


Ne pas oublier de brancher ensemble toutes les masses (GND):  les 4 pins du L293D, celle de l'Arduino, celle de l'alimentation du moteur, celle des LEDs et des photodiodes.

Le sketch

Le sketch n'est pas spécialement compliqué:  lorsque la sorcière passe entre une LED et son phototransistor (ce qui indique qu'elle a atteint une des extrémités de son parcours), l'Arduino ordonne au moteur de changer son sens de rotation.



Yves Pelletier (@ElectroAmateur)