16
août
2009
Tags : AVR, LCD, vfd
Certains le savent, juste derrière les leds, j'adore les écran LCD type HD44780 (lcdproc, lcd4linux, etc). Je viens de recevoir des 16T202DA1J de Samsung achetés sur eBay pour moins de 20 Euros pièces (port inclus). Certes, c'est deux fois plus cher que le LCD mais franchement, ça a une autre gueule. Comme le brochage est parfaitement compatible avec les LCD HD44780, c'est interchangeable directement sur mon module USB/série/AVR permettant un contrôle USB de l'affichage. De quoi décorer bon nombre de montages embarqués et mes serveurs...

Bon, on ne peut pas faire de PWM sur le rétro-éclairage (puisqu'il n'en en a pas) mais le rendu et la luminosité de l'ensemble compense largement.
dans Electronique |
17
avril
2009
Tags : AVR, USB
Les programmeurs de type dapa sont économiques, efficaces et très simples. Mais ils dépendent d'un port clairement en voie de disparition sur les machines modernes : le port parallèle. Peu d'adaptateurs USB/parallèle existent, il s'agit en forte majorité d'USB/printer (lp) avec lesquels il n'est pas possible de contrôler les lignes DATA, CONTROL et STATUS individuellement.
On peut alors se tourner vers le dasa, adaptateur pour port série utilisant du bit banging mais, là encore, on rencontre des problèmes puisque tous les pilotes ne supportent pas la palette d'ioctl nécessaires.
Finalement, pour pouvoir développer et programmer un Atmel AVR via USB (sur un lappy par exemple), il ne reste pas d'autre choix simple que d'investir quelques euros (moins de 30 euros avec le port sur eBay) dans un programmeur USB compatible STK500v2 (chercher "USB ISP-Programmer").

(Le miens est vert fluo et livré avec un câble également vert,
très bon produit, joli design, super propre) Voir la suite »
dans Electronique |
11
janvier
2009
Tags : AVR, PWM
Juste un petit bout de code en passant. Pour ceux qui voudraient utiliser les 4 canaux de PWM des Amtel AVR Attiny2313, voici la configuration :
DDRB |= (1<<PB2); // make OC0A an output
DDRD |= (1<<PD5); // make OC0B an output
DDRB |= (1<<PB3); // make OC1A an output
DDRB |= (1<<PB4); // make OC1B an output
TCCR0B = 0; // stop timer 0
TCCR0A = (1<<WGM00)|(1<<WGM01); // select fast pwm mode 3
TCCR0A |= (1<<COM0A1); // Clear OC0A on Compare Match when up-counting.
// Set OC0A on Compare Match when down-counting.
TCCR0A |= (1<<COM0B1); // Clear OC0B on Compare Match when up-counting.
// Set OC0B on Compare Match when down-counting.
OCR0A = 0x00; // duty cycle
OCR0B = 0x00; // duty cycle
TCCR0B |= (1<<CS00); // no prescaling, timer on
TCCR1B = 0; // stop timer 1
TCCR1A = (1<<WGM12)|(1<<WGM10); // Fast PWM, 8-bit mode 5
TCCR1A |= (1<<COM1A1); // Clear OC1A on Compare Match when up-counting.
// Set OC1A on Compare Match when down-counting.
TCCR1A |= (1<<COM1B1); // Clear OC1B on Compare Match when up-counting.
// Set OC1B on Compare Match when down-counting.
OCR1A = 0x00; // duty cycle
OCR1B = 0x00; // duty cycle
TCCR1B |= (1<<CS10); // no prescaling, timer on
Il ne reste, ensuite qu'à changer la valeur de OCR0A, OCR0B, OCR1A ou OCR1B pour modifier le rapport de phase.
dans Electronique |
26
décembre
2008
Tags : AVR, LCD, USB
Décidément aujourd'hui je n'arrête pas ! Cela faisait longtemps que j'avais cette idée en tête : monter un afficheur LCD alpha-numérique sur USB/série. Voilà chose faîte avec un petit AVR Attiny2313.
Voir la suite »
dans Electronique |
30
novembre
2008
Tags : AVR, PWM
Je travail sur différentes choses autour des microcontrôleurs Atmel AVR à l'heure actuelle. Je n'en dirai pas trop pour le moment, mais cela touche à la PWM et aux leds (comme souvent) ainsi qu'aux ports séries/USB. Dans le tas, il y a une signalisation lumineuse pour notre salle de réunion (dans la GLMFcave), le projet coccilight et un projet secret (tant qu'il sera pas terminé) qui manque encore d'éléments de décoration (bricoler un truc laid plein d'epoxy et de soudure c'est facile, arriver à quelque chose de présentable c'est une autre affaire).
Quoi qu'il en soit, j'ai dernièrement joué un peu avec un de mes vieux codes en assembleur Atmel que j'ai réimplémenté en C pour un AVR Attiny13 : la pulsation d'une led en PWM utilisant des valeurs sinusoïdales stockées dans la Flash du microcontrôleur. Voir la suite »
dans Electronique |
23
octobre
2008
Tags : USB
Enfin, enfin mes amis bulgares m'ont expédiés ma commande sur eBay. L'objet ? Un sympathique adaptateur USB/série (FTDI) vers TTL. En clair, on entre en USB, Linux voit un port série supplémentaire, mais l'interface se fait en TTL (5V) ou 3.3V. Fini les adaptateurs USB/Série RS232 en +/-12V puis RS232/console TTL. Je peux, à présent, connecter directement un microcontrôleur AVR Attiny2313 via son UART avec une box Linux USB (ou une Fonera 2.0).

Voir la suite »
dans Electronique, Embarqué |
10
octobre
2008
Tags : AVR
Juste un petit post vite fait pour partager. Je me suis fait un petit aide-mémoire/tableau pour définir les fuses des AVR Attiny2313 plus facilement :

dans Electronique |