Monday, November 19, 2012

Rechargement du passe navigo sous linux


Il y a peu de temps, j'ai reçu un email de la RATP me disant que j'avais été sélectionné pour participer à la phase de test du rechargement de passe navigo directement sur son ordinateur. J'ai gratuitement reçu un lecteur de cartes à puce, mais des lecteurs de type Gemalto ou autres fonctionnent aussi (et ne coute qu'une dizaine d'euros sur ebay !)
Malheureusement, en se connectant sur le site rechargercommandernavigo.fr, mon système d'exploitation n'est pas supporté. Et pour cause, seul Windows et MacOS sont supportés. Que se passe-t-il en changeant mon user-agent ? La configuration a l'air d'être bonne ! En cliquant sur continuer, ça coince un peu. Message d'erreur, mon lecteur n'est pas connecté. Dommage, ça aurait pu fonctionner. Mais il est hors de question que je baisse les bras.

Monday, June 11, 2012

RTC avec un arduino - Distributeur de croquettes pour chats

Cet article est la suite de mon article précédent et nous nous intéresserons à la gestion du temps.

Quelle heure avez-vous ?

Pour ce projet, j'ai utilisé un RTC, qui permet de fournir au Arduino une source de temps, y compris en cas de redémarrage ou même de coupure de courant. C'est d'ailleurs le composant qui est utilisé dans les ordinateurs pour maintenir l'heure du BIOS. Il existe plusieurs versions de RTC : certaines donnent l'heure, d'autres, permettent de programmer une heure de réveil.
L'autre avantage du RTC par rapport à la gestion de temps "basique" de l'Arduino est qu'il permet de s'abstraire également de toute la gestion du calendrier (jour de la semaine, mois à 30 ou 31 jour et année bissextile).
J'ai donc utilisé un composant de chez Maxim, le DS 1307, qui est un RTC sur bus i2c. Il a l'avantage d'avoir une librairie arduino prête à l'emploi, ce qui facilitera grandement l'intégration !
Le câblage est très simple et nécessite quelques composants auxiliaires :

  • Un quartz 32.768 KHz
  • 2 résistances de pull-up 2.2k
  • Une pile bouton CR2032
J'ai commencé par câbler le RTC sur une plaque de prototypage.
Puis j'ai soudé le composant sur une plaque d'essai en bakélite. Rien de bien compliqué.

La gestion du RTC dans l'Arduino

Une librairie arduino facilite grandement l'exploitation du composant. Comme il s'agit d'un composant I²C, la connexion se fait sur les E/S dédiées de l'Arduino :
  • SDA (data line) sur l'E/S analogique 4
  • SCL (clock line) sur l'E/S analogique5
Ensuite, c'est simplissime, grâce à librairie d'Adafruit :
#include 
#include "RTClib.h"

RTC_DS1307 RTC;

void setup () {
    Serial.begin(57600);
    Wire.begin();
    RTC.begin();

  if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
}
La lecture de l'heure se fait ensuite de manière triviale :
DateTime now = RTC.now(); 

Et après ?

Je vous parlerais de la partie électronique de puissance, c'est à dire de la façon dont j'ai interfacé le moteur du tournevis électrique.

PS

Une fois que j'avais soudé sur plaque en backélite, j'ai trouvé sur mon site préféré un petit module tout fait à base de DS1302, à un prix défiant toute concurrence : 3.60$ !
Le DS1302 est un peu différent du DS1307 : il n'utilise pas d'interface I²C, mais une interface série "à l'ancienne". Ce n'est pas vraiment un problème pour l'interfaçage, on perd juste l'avantage du bus I²C (qui permet d'interfacer plusieurs (jusqu'à 127) modules sur les 2 pins dédiées). D'ailleurs, le DS1302 est suffisamment répandu pour avoir (au moins) une librairie sur github.

Friday, May 18, 2012

Distributeur de croquettes pour chats

Avoir des animaux de compagnie est souvent source de contraintes : Il faut qu'ils aient, eux aussi, de la compagnie ! Et c'est d'autant plus vrai lors des week-ends où l'on voudrait prendre le large.

Beaucoup de chats se suffisent à eux même et peuvent rester seul pendant quelques jours : ils vivent d'amour (des croquettes en quantité suffisante) et d'eau fraîche (un évier rempli d'eau par exemple). La situation se complique lorsque les chats sont gloutons : les miens. Ils ne se régulent pas et se goinfrent littéralement.
La solution parait simple ; Il existe sur Amazon des distributeurs automatiques dont le prix est prohibitif (près de 100€) et dont l'efficacité est fort douteuse. Certains commentaires parlent de produits HS au bout de 3 mois, d'autres que les croquettes ne sont pas forcement adaptées et bloquent l'appareil. Étant grand fan de robotique, de DIY, et de hacking, je me suis donc lancé, il y a un peu moins d'un an, dans la création d'un distributeur de croquettes. Laissez-moi vous présenter mon aventure.