Overblog
Suivre ce blog Administration + Créer mon blog
7 juin 2014 6 07 /06 /juin /2014 10:49

Ceux qui souhaiteraient avoir mon horloge Chinoise en fond d'écran animé sur Android peuvent désormais l'avoir gratuitement ici: https://play.google.com/store/apps/details?id=cibiao.cibiao

 

J'en aurait bien fait une version pour iOS mais je suis réticent à l'idée de devoir acheter un Mac et payer 100$/an de licence développeur...mais si quelqu'un m'offre un Mac je promets de faie un effort .

Partager cet article
Repost0
10 mai 2014 6 10 /05 /mai /2014 22:29

Ca y est, après plus de 2 mois et au moins une dizaine de tentatives j'ai enfin réussi à peindre un cadran correctement!

Cette fois j'ai d'abord imprimé en jet d'encre et aplat noir sur un transpartent pour impression jet d'encre et laser, puis j'ai colorié au posca la face pour impression laser.

C'est ce qui donne le meilleur résultat, mais la face imprimée en jet d'encre reste toujours un peu collante et attrappe la poussière et les trace de doigts. Et elle est même restée collée sur un calque de protection...ruinant 4h de peinture...

Je crois que je vais devoir peindre les alvéoles en noir, ça bave un peu trop entre les cellules à travers le carton de boîte à chaussure.

Sinon tout fonctionne après une après-midi de mise au point pour adapter le code à l'utilisation de l'horloge DS3234 et quelques erreurs de câblage diverses.

Reste à câbler le détecteur de présence, les boutons et améliorer le système de contrôle de la luminosité.

Après va falloir intégrer tout dans le boitier et percer et souder le circuit imprimé.

Y'a encore un peu de boulot!

ciBiao2

Partager cet article
Repost0
28 février 2014 5 28 /02 /février /2014 14:21

Il m'a fallu quelques heures pour coller les cellules de la matrice de LED ainsi que le feutre qui évitera des fuites de lumière:

matrice avant

 

Le câblage de la matrice a en revanche été plus rapide. Mais ces LED sont bizarrement faites: la partie massive est reliée à l'anode! Le méplat est bien du côté cathode, lui. Heureusement que j'ai vérifié dès la première LED posée.

Les branchements sont testés, c'est bien en cathodes communes :) J'ai vérifié plusieurs fois tellement le brochage de ces LED m'a surpris.

matrice arrière

 

Je dois recommencer la peinture du cadran suite à un problème d'accrochage de la peinture sur le transparent.

C'est vraiment l'étape la plus longue et la plus pénible.

Partager cet article
Repost0
22 février 2014 6 22 /02 /février /2014 10:26

C'est parti pour l'épreuve d'adresse et de patience qu'est la peinture du cadran.

Je me suis bricolé une table lumineuse qui me facilite bien la tâche:

table lumineuse1

Il faut passer 3 couches de Posca pour un noir uniformément opaque.

La peinture est toujours aussi fragile une fois sèche. Elle s'écaille très facilement.

 

Avec le flash on voit comment j'ai reçyclé un carton, le reste de verre synthétique et une lampe baladeuse:

table lumineuse2

Partager cet article
Repost0
20 février 2014 4 20 /02 /février /2014 10:31

Ca devait arriver vu les commentaires élogieux que je reçois à propos de mon horloge Chinoise .

Elle plait beaucoup, surtout aux Chinois, mais pas que.

On m'a souvent suggéré de la breveter et on m'a demandé si j'en vendais.

Mais ça reste une oeuvre artisanale. J'ai quand même proposé d'en faire une pour mon resto Chinois favoris, le Tanghulu à Rennes. Un endroit unique à l'accueil très chaleureux et la cuisine authentique et excellente.

Pour l'occasion j'ai décidé d'améliorer l'horloge:

  • Exit le récepteur DCF77 trop capricieux.
  • Remplacement de l'horloge RTC par un modèle plus précis, thermo-compensé, qui ne dérive typiquement que d'une minute par an.
  • Calcul des dates de changement d'heure pour un changement automatique, comme l'horloge actuelle.
  • Ajout de boutons de réglage pour régler la date, nécessaire lors du changement de la pile de l'horloge RTC, une fois tous les 10 ans, ou moins.

Jean-Marie a aussi accepté de m'aider dans cette V2, merci à toi! .

 

La réalisation avance peu à peu, principalement le week-end.

Le support de matrice de LED est prêt à recevoir les alvéoles collées:

matrice percée

 

Les LED sont dépolies, la façade en verre remplacée par du verre synthétique.

Le logiciel est en partie mis à jour.

Ce midi je vais faire imprimer le cadran qu'il faudra ensuite peindre à la main.

 

L'horloge doit être terminée avant le démarrage de gros travaux dans la maison d'ici Mai ou Juin, si je ne veux pas qu'elle subisse le sort de mes autres projets Arduino (en cours depuis 1 ou 2 ans pour certains).

Partager cet article
Repost0
22 septembre 2013 7 22 /09 /septembre /2013 22:02

On m'a offert une sculpture métallique en forme de coq dans laquelle on peut placer un photophore pour obtenir un bel effet lumineux.

C'est sympa mais j'avais envie de pouvoir profiter de cet effet à la demande, et de jouer un peu avec un ATTiny.

 

J'ai profité d'une contribution d'un membre du forum Arduino francophone qui a fait un programme qui donne un résultat vraiment sympathique.

Je l'ai simplement modifié pour n'utiliser que deux sorties PWM (le maximum disponible sur un ATTiny). J'ai aussi changé le mécanisme d'initialisation du générateur aléatoire.

 

Il y a 4 LED rouges et 4 LED jaunes, pilotées par deux transistors.

Le schéma est le suivant:

photophore_scema.png

 

Le circuit est assez simple pour tenir sur une plaque pré-percée:

2013 09 21 5534

 

Le tout est placé dans un diffuseur fait d'un tube en carton de papier toilette évidé sur lequel j'ai collé deux épaisseurs de papier sulfurisé.

2013-09-22_5531.JPG

 

Voici ce que ça donne une fois installé dans le coq métallique:

 

 

 


 

 

Sympa, non?

Partager cet article
Repost0
19 septembre 2013 4 19 /09 /septembre /2013 12:31

L'utilisation d'un Arduino Uno comme ISP (In-System Programmer) est relativement bien documentée.

Il en va tout autrement concernant l'utilisation d'un Arduino Leonardo. Cette carte est très différente quant à sa gestion du port USB et au branchement de l'ATTiny.

Fort heureusement un bloggueur a décrit le processus en détails.

J'en propose ici une version francisée et un peu complétée, peut-être plus accessible aux makers francophones:

 

Tout d'abord munissez-vous d'un environnement de développement Arduino récent.

1) Comme indiqué dans le schéma ci-dessous, connecter les broches MISO/MOSI et SCK de l'ATTiny sur les pins correspondants du connecteur ICSP de l'Arduino.

Connecter la broche Reset de l'ATTiny sur la broche 10 de l'Arduino.

 

http://petervanhoyweghen.files.wordpress.com/2012/09/leo_attiny851.png?w=249&h=300

 

2) Ouvrir l'IDE Arduino et charger le sketch "Arduino ISP".

Changer la ligne:

#define RESET SS

en:

#define RESET 10

 

Cela définit la pin 10 comme pin de Reset de l'ATTiny.

Sauvegarder ce sketch sous le nom "Arduino ISP (Leonardo)"

3) Compiler et uploader ce sketch dans l'Arduino.

 

4) Dans l'IDE ouvrir le moniteur série et s'assurer que le baud rate n'est pas égal à 1200bps. Refermer le moniteur série. Cette étape enlève le magic baud rate du port série, qui causerait des auto-resets unintentionnels.

 

5a) Sur Linux (et probablement aussi sur Mac), vous pouvez sumplement aller dans le menu "Tools > Programmer" et sélectionner le programmateur "Arduino as ISP". L'Arduino Leonardo est maintenant prêt à être utilisé en tant qu'ISP.

 

5b) Sur Windows les choses sont un peu plus compliquées. Quand on utilise l'Arduino en tant qu'ISP, l'IDE utilise AVRDude avec le protocole stk500v1. Avec l'IDE Arduino 1.0.2, 1.0.3 et probablement d'autres versions, cela ne fonctionne pas et produit le message d'erreur suivant:

avrdude.exe: Send: 0 [30]   [20]

avrdude.exe: Send: 0 [30]   [20]

avrdude.exe: Send: 0 [30]   [20]

avrdude.exe: Recv:

avrdude.exe: stk500_getsync(): not in sync: resp=0x00


Une solution temporaire (mais qui fonctionne parfaitement) a été suggérée ici. Il s'agit de définir un programmateur qui utilise le protocole "Arduino" au lieu de "stk500v1". 

Pour ce faire, créer un dossier "hardware\leofix" dans votre dossier "carnet de croquis" (sketchbook). Dans ce dossier, créer un fichier programmers.txt avec le contenu suivant:

 

arduinoispleo.name=Arduino as ISP (Leonardo)

arduinoispleo.communication=serial

arduinoispleo.protocol=arduino

arduinoispleo.speed=19200

 

Après redémarrage de l'IDE, vous aurez une entrée "Arduino as ISP (Leonardo)" dans le menu "Outils / Programmateur". L'explication technique détaillée du fix est donnée dans la version originale de l'article.

 

6) Il est maintenant temps de tester le programmateur. La suite de cet article s'inspire de celui-ci, qui m'a été fort utile pour configurer l'IDE Arduino pour l'ATTiny. En effet les ATTiny n'apparaissent pas par défaut dans le menu des cartes disponibles.

Il va falloir télécharger le fichier master.zip

Décompresser ce fichier. Il contient un dossier atttiny-master contenant un dossier attiny.

Créer un dossier hardware dans votre dossier "carnet de croquis", s'il n'existe pas déjà.

Y copier le dossier attiny (pas le dossier attiny-master!). Vous devriez maintenant avoir une structure de dossiers du genre Documents\Arduino\hardware\attiny contenant le dossier atttiny.

Redémarrer l'IDE Arduino. Vous devriez maintenant avoir des entrées ATTiny dans le menu "Outils / Type de carte"

 

7) Connecter une LED à travers une résistance de 220Ω entre la broche 2 (Pin 3) de l'ATTiny et la masse.

http://hlt.media.mit.edu/wp-content/uploads/2011/10/ATtiny45-85.png

 

8) Charger le sketch d'exemple "Blink".

Modifier la ligne:

int led = 13;

en

int led = 3; 

 

9) Dans le menu Outils/Type de carte, choisir le modèle d'ATTiny que vous utilisez.

Si vous souhaitez changer la fréquence d'horloge (1Mhz par défaut), cliquer sur Outils/Graver la séquence d'initialisation. Cela va modifier les fusibles de l'ATTiny selon vos réglages de type de carte.

Dans le menu Outils/Programmateur choisir "Arduino as ISP (Leonardo)".

Compiler et uploader le sketch.

Vous aurez ce message d'erreur, qui est normal!

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny8

 

La LED de l'ATTiny doit maintenant clignotter!

 

FAQ:

*La LED ne clignotte pas: 

Branchez-là sur la broche 3 de l'Arduino Leonardo. Si elle clignotte c'est que vous avez oublié de sélectionner le programmateur "Arduino as ISP (Leonardo)" et c'est le Leonardo qui a été programmé à la place. Re-sélectionner le programmateur "AVRISP mkII", et re-uploader "Arduino ISP (Leonardo)", puis recommencer la procédure au point 6).

 

Partager cet article
Repost0
31 août 2013 6 31 /08 /août /2013 16:44

Mes projets Adruino n'avancent pas vite, mais ils avancent.

Aujourd'hui j'ai terminé le câblage de la platine de connexion qui va faciliter l'intégration dans le camion.

Une fois refermée, c'est plutôt serré en-dessous!

 

connectorShield1

 

Reste à vérifier les connexions et à tester le tout unitairement avant de commencer les tests sur le camion.

Pour l'instant l'Adruino sera posé sur le plateau du camion comme ceci:

 

connectorShield2

 

A terme le tout sera logé dans la cabine du camion.

Partager cet article
Repost0
24 juin 2013 1 24 /06 /juin /2013 16:51

Le Mycophone a bien marché à la fête de l'école.

mycophone 20130623 144552

Les enfants ont apprécié, même si certains n'osaient pas essayer au début.

Les parents ont souvent été surpris et j'ai eu quelques discussions intéressantes avec certains d'entre eux.

Je pense remettre ça l'an prochain, mais avec une nouvelle version du logiciel sur PC. Scratch est un peu trop rudimentaire pour ce genre d'application. Je pense la ré-écrire en HTML5. Ca me fera un bon exercice 

Partager cet article
Repost0
6 juin 2013 4 06 /06 /juin /2013 11:00

Voici l'ultime billet concernant cette horloge, juste pour en résumer l'histoire:

horloge.jpg

C’est au hasard d’une discussion avec un collègue que j’ai découvert l’horloge Qlocktwo et ses nombreux clones.

Il s’agit d’une horloge qui affiche l’heure en toutes lettres en allumant certains caractères pré-disposés sur un cadran. Cela faisait longtemps que j’entendais parler de l’Arduino et je me suis dit que c’était là une bonne occasion de m’y mettre et de faire ma propre version de ce qu'on appelle une word clock.

Etant aussi passionné de Chinois je me suis dit qu’elle serait encore plus belle avec un cadran dans cette langue, et qu’elle ferait bon effet accroché au mur de mon salon.

J’y ai aussi ajouté quelques fonctionnalités au passage:

  • Réglage automatique de la luminosité en fonction de la luminosité ambiante
  • Réglage automatique de l’heure via un récepteur DCF77
  • Détecteur de mouvement qui permet une extinction du cadran au bout d’un certain temps ainsi qu’un rallumage automatique dès qu’une présence est détectée.
  • Modes « démo » permettant de faire défiler l’heure en accéléré.
  • Optimisation de la consommation électrique de l’ensemble

Techniquement l’horloge est construite autour d’un micro-contrôleur AVR ATMega 328, issu d’une carte Arduino Duemilanove, utilisée pendant la phase de développement. Les LED sont pilotées via un Max7219 qui permet de piloter une matrice de 8×8 LED (le cadran comporte 5*8 LED).

L’horloge RTC est une breakout board à base de DS1307 et la mise à l’heure automatique est assurée par un récepteur DCF77 récupéré sur une station météo achetée quelques euros chez un soldeur (c’est moins cher que d’acheter le récepteur DCF77 seul…).

Le logiciel a été développé en C et C++ avec Atmel Studio, mon environnement de développement Arduino de prédilection.

 

J’ai aussi trouvé une aide précieuse sur le forum Arduino.cc francophone, dont un membre m’a même proposé de me faire le circuit imprimé final, permettant ainsi de faire tenir le tout dans le boîtier choisi. Bricoleurs d'AVR, je vous encourage à aller visiter son site.

 

Mettre au point le logiciel n’a pas été la partie la plus difficile.

La réalisation du cadran et de la matrice de LED a nécessité de nombreuses heures de travail, et plusieurs tentatives. Le cadran est peint à la main, sur un calque sur lequel seul le contour des caractères a été imprimé. Il y a plusieurs couches passées au stylo à peinture. Une couche de papier sulfurisé forme un diffuseur de lumière.

La matrice de LED est en carton de boite à chaussure collée à la colle chaude, avec une couche de feutre bleu pour limiter les pertes de lumière. Elle porte les stigmates des diverses tentatives effectuées:

2012 09 20 4603

Les LED rouges utilisées ont été dépolies à la meule afin de mieux diffuser la lumière.

 

2012 09 19 4605 cadre

Le résultat final est visible dans la vidéo ci-dessous:


 

Enfin pour les plus curieux, le schéma électrique (Fritzing) est celui-ci:

cibiao 1.6

 

Le code source (C++) devrait être bientôt disponible sur GitHub.

Partager cet article
Repost0