Nombre de connexions E-Mail Statistiques du site
Bio

vendredi 31 mai 2019
Nombre de visites : 2704

Arduino - Mon premier montage

Ayant découvert l’ATtiny85, j’ai décidé de creer mon premier montage. Un truc très simple mais qui me permet de faire mes preuves en
- programmation arduino
- programmation du ATtiny
- conception de circuit
- soudure

Bref, un projet sympathique

L’idée

Un simple circuit qui anime 5 LED : le ATtinny 85 peut en effet adressé 5 ports en sortie et sans faire d’électronique, c’est la max que je sais faire. Donc, la liste des composants nécessaires :
- un ATtinny 85 : qui va piloter l’animation par programmation en C
- un interrupteur : pour éteindre le projet
- une alimentation : ici, une pile CR2032 qui l’avantage d’être en 3.3V qui est la tension de fonctionnement de l’ATtiny et qui évite de mettre en plus des résistances pour les LED
- 5 LED banales

La création du circuit

J’ai créé le circuit sur un simulateur : on peut le trouver ici. C’est très bien fait. On peut en plus tester son code directement, pratique quand on a pas l’arduino sous la main. Pas contre, le simulateur ne fonctionne pas forcement, sur mon montage, je suis obligé d’enlever le câble qui va du - de la pile.. Bizarre et pas logique...

Le simulateur (sans le fil qui relie la terre du ATTiny85 à la terre)

Le vrai montage(avec le fil qui relie la terre du ATTiny85 à la terre)

La programmation

Voici le code :

const int LED0 = 0 ;
const int LED1 = 1 ;
const int LED2 = 2 ;
const int LED3 = 3 ;
const int LED4 = 4 ;

void setup()

pinMode(LED0, OUTPUT) ;
pinMode(LED1, OUTPUT) ;
pinMode(LED2, OUTPUT) ;
pinMode(LED3, OUTPUT) ;
pinMode(LED4, OUTPUT) ;

digitalWrite(LED0, LOW) ;
digitalWrite(LED1, LOW) ;
digitalWrite(LED2, LOW) ;
digitalWrite(LED3, LOW) ;
digitalWrite(LED4, LOW) ;

void loop()

digitalWrite(LED0, HIGH) ;
delay(100) ;

digitalWrite(LED1, HIGH) ;
delay(100) ;

digitalWrite(LED2, HIGH) ;
delay(100) ;

digitalWrite(LED3, HIGH) ;
delay(100) ;

digitalWrite(LED4, HIGH) ;
delay(100) ;

digitalWrite(LED0, LOW) ;
delay(100) ;

digitalWrite(LED1, LOW) ;
delay(100) ;

digitalWrite(LED2, LOW) ;
delay(100) ;

digitalWrite(LED3, LOW) ;
delay(100) ;

digitalWrite(LED4, LOW) ;
delay(100) ;

C’est surement optimisable mais au moins c’est lisible...

Le test sur breadboard

- Étape 1 : passer l’arduino en ISP (programmeur)
- Étape 2 : telecharger le code dans l’ATtiny
- Étape 3 : créer le circuit sur la breadboard : ça marche du premier coup !!

La création sur un vrai circuit

Ca se complique : il faut arranger les composants pour :
- qu’ils tiennent tous sur la plaque
- que ça ressemble a quelque chose
- que ça soit facile (ou plutôt pas trop difficile) à souder et câbler.

Je suis un vrai débutant en soudure et ce premier projet est pour moi l’occasion d’apprendre. Pour enrichir cette expérience, j’ai décidé de tout câbler avec des fils plutôt que faire des traces en étain pour faire les pistes (à part pour les masses des LED que j’ai relié deux à deux).
Conclusions :
- c’est plus simple que prévu
- maintenant, je ferais des PCB !!! On trouve des entreprises qui les gravent pour pas cher avec un résultat pro. On peut le faire totalement seul (voir le tuto d’Heliox mais bon
- il faut impérativement une loupe et un bon éclairage. Un bon fer à température réglable est un plus.

Le premier test

Ça marche ............. pas !!!
OUIN !!!!!!!
Avant de tester mes pistes au multi metre, un premier regard :
- la masse est mal soudée entre deux LED
- deux pin du ATtiny sont en court circuit

Un coup de fer pour la masse et un coup de cutter pour séparer les deux pin soudés ensembles

Et CA MARCHE !!!
Je suis super fier de mon coup !!!
C’était pas gagné d’avance avec mes gros doigts et ma maladresse de double gaucher !!!

Prochaine étape, la création d’un PCB (vive youtube et ses tutos) pour faire quelque chose de plus joli (sans fils qui trainent) et plus facile à monter.

Quelques photos de mon œuvre :


De face


De dos, pas très joli ...


En marche




Répondre à cet article