28 oct. 2008

Matrice à LED et Arduino

Chez Maxim ils ont plein de composants sympas dont le MAX7219 qui permet de contrôler 8 afficheurs 7 segments ou même une matrice à LED 8x8, ce que je suis empressé d'essayer.
Une petite commande sur Ebay de 100 leds oranges foncées pour 5€ (port compris), un p'tit circuit imprimé maison et quelques minutes de soudure.




Après un début difficile (câblage, changement de broche du Arduino) tout fonctionne et c'est super jolie !







Code:
#include
#include
/*
pin 2: data (din)
pin 3: load (load)
pin 4: clock (clk)
*/
Matrix myMatrix = Matrix(2, 4, 3);

Sprite wave = Sprite(
8, 4,
B00011000,
B00100100,
B01000010,
B10000001
);

void setup()
{
}

int x = 0;

void loop()
{
myMatrix.write(x, 2, wave); // place sprite on screen
myMatrix.write(x - 8, 2, wave); // place sprite again, elsewhere on screen
delay(75); // wait a little bit
myMatrix.clear(); // clear the screen for next animation frame
if(x == 8) // if reached end of animation sequence
{
x = 0; // start from beginning
}
x++; // advance x coordinate to the right
}




J'ai déjà une petite idée d'application entre une matrice à led et mon Ethernet Shield.

24 oct. 2008

Ethernet Shield

Il y a bientôt 1 mois j'avai commandé un Ethernet Shield sur nuelectronics.com le colis à été une première fois perdu, le vendeur m'en a gentiment renvoyé un second que je viens de recevoir aujourd'hui.

Voici quelques photos:





Le circuit imprimé est bien réalisé, quelques petites soudures un peu négligées par-ci par-là, mais rien ne s'opposant au bon fonctionnement du shield que je me suis empressé d'essayer:

Résultat, ça marche !(c'est déjà ça) bon il faut pas non plus s'attendre à une rapidité digne d'un réel serveur web mais pour un petit composant comme le ENC28J60 valant au alentour de 4€ c'est vraiment très bien.

18 oct. 2008

Real Time Clock: DS1307

Voici maintenant quelques temps que je possède ma carte Arduino et je commence a vouloir expérimenter d'autres choses que faire clignoter une led ou lire des valeurs analogiques sur une liaison série. C'est pour ça que j'ai commandé le DS1307 qui est une Horloge temps réel commandé par I2C. C'est d'ailleurs un très bon moyen pour moi d'apprendre à utiliser le bus I2C que je connais pas encore. Je vais donc rassembler ici, toutes les infos et démarches faites pour faire fonctionner ce fameux composant.

le Datasheet



Adresse I2C (7bits) du DS1307 :
1101000
les adresses de registres:
  • registre RTC 00h à 07h
  • registre RAM 08h à 3Fh
Plan de masse sous le quartz:















RTC registre:


Chronogramme d'une transmission I2C:


Trames lors d'une Écriture/Lecture
lors du mode récepteur (configuration de l'horloge) le bit 8 (R /W) de la trame est à 0 et inversement à 1 lorsqu'il devient l'émetteur.


la suite arrive.