Samedi, avril 16 2016

Une boîboîte à bijoux

Bonjour les gens !

Cela fait déjà quelques semaines que j'ai découvert un FabLab près de mon boulot et je squatte le plus possible afin de réaliser ce que j'avais en tête depuis un moment. J'avoue que j'accumule beaucoup de débuts de projet et j'ai du mal à les finaliser. J'imagine qu'une fois les problèmes principaux résolus, le projet trouve moins d'intérêt à mes yeux. En attendant de dévoiler un projet (qui date) de matrice de LED, je me suis lancé dans une série de petits projets artistiques en utilisant mon outil préféré : la "Découpeuse Laser" :) . Pour cet article, je vous propose une boîte à bijoux en collaboration avec Ours. Il existe une boîte jumelle mais avec d'autres décors.

Honnêtement, on va le faire en mode rapide. Voici les plans que l'on a dessinés ICI et ICI pour du bois de 3mm. La boîte est quasiment un cube avec deux plateaux amovibles, le tout décoré dans un esprit japonais.

Et c'est parti pour le montage.

1 2 3 4 5 6 7 8

J'ai ajouté deux charnières en métal pour le montage final. Pour donner un meilleur contraste, j'ai verni la boîte mais cela n'a pas suffit alors j'ai re-gravé à la main les détails du couvercle. Et j'aime beaucoup le résultat.

gravure detail1 detail2 detail3 charniere1 charniere2 key key2 fini

Voilà un projet simple qui m'a permis de perfectionner les finitions sur MDF et le résultat est plutôt bien. :)

Si vous avez l'occasion, allez passer le bonjour à Romain (il est sympa ;) ) au Digiscope.

A bientôt et bonne bidouille à tous !

Lundi, avril 11 2016

[TIPS] Prends un cône je te dis !

Ça fait plusieurs fois que l’on me demande comment souder des CMS, je vais essayer de faire une série sur tous les types de package que j’aime assembler :) On va commencer avec le plus simple le TQFP (0.5mm pitch).

En premier lieu oubliez toutes les conneries vous disant de prendre de la pâte à braser ou des pannes de fer de 0.15mm. Pourquoi ? parce que c’est des conneries et que vous allez perdre plus de temps et d’argent que nécessaire. Tant que l’on ne touche pas aux QFN ou aux BGA il n’y a besoin que de matériel générique.

Alors les petits… On va commencer par le premier point les Pannes de Fer pour faire du CMS. Je vais y aller direct la meilleure c’est le 0.8mm conique. Et rien d’autre ! Avec la 0.8mm conique vous pouvez assembler aussi bien du TQFP que du gros PDIP (pour ceux qui aiment ça… faut de tout pour défaire un monde). Pour faire simple avec une 0.8mm conique la transmission de chaleur est très bonne et il est simple de faire glisser une goutte de soudure sur la patte.  La vidéo n’est pas de bonne qualité mais on fait ce qu’on peut :) Le secret ? Utiliser du flux pour souder proprement ça évite les ponts de soudure en court circuit !

Vous pouvez voir que la première soudure sans flux à tendance à adhérer sur toutes les parties métallique et à faire un gros pâté sale. Une fois le flux en place il suffit d’étamer la panne et de faire de rapide mouvement dans le sens de la PIN du chip pour déposer la soudure ! \o/

Bon bon bon ok j’ai dit de prendre du 0.8mm et j’ai utilisé du 0.5mm et vous allez me dire que je mens, du coup comme j’aime bien les challenges (et surtout avoir raison…) je vous fait la même avec la panne de 2.0mm !

Avec la panne de 0.8mm la soudure se fait à 350°C, 330°C pour la panne de 2.0mm. L’exemple le plus intéressant est le suivant avec la panne de 0.15mm. Le problème de ces pannes fines est le refroidissement de la pointe quand elle entre en contact avec la soudure. Dans la vidéo on peut voir que la pointe a du mal a fondre les boules de soudure… et je suis à 380°C.

Comme vous pouvez le voir le bout de la pointe ne transmet pas assez de chaleur seule la surface autour du cône permet de fondre la soudure. Je ne dis pas qu’il est impossible de faire ça avec une panne aussi fine, mais juste que c’est plus d’emmerdes que nécessaire.

panne015_result good_resultLes deux secrets sont donc l’utilisation de flux (il en faut toujours beaucoup !) et une binoculaire. Et la c’est sans négociation, en fait si je devais donner un conseil ça serait de partir sur une station de soudage moins cher (AOYUE ?) avec un fer au minimum 60W si possible 80W et avec les 200 euros que vous économiserez (par rapport a une station Weller) achetez-vous une bino ! Le problème quand on soude c’est pas la main qui tremble, c’est le feedback des yeux qui est peu précis :) Vous serez étonnez de voir la précision de vos mouvement une fois accompagné d’une bino. Le premier prix que j’utilise depuis des années est ici. Il existe une version avec un objectif 2X qui a une distance de travail plus courte. Elle est super cheap et c’est très bien parce que les optiques se retrouvent au dessus du fer ou de la souflette. Donc en attendant de devenir le roi du CMS et d’acheter une Mantis garder vos 5k$ pour vos projets :)

PS: je n’ai pas parlé d’une de mes techniques de soudure les plus rapide. Celle qui consiste à souder toute la rangée d’une traite en faisant des court-circuits et en les nettoyants avec de la tresse.

IMG_20160411_234439[1]


Classé dans:Astuce / Tips, Divers, DIY, Electronique, PCB

Le transporteur...de bouquin

Bonjour les gens !

Afin de tester mes compétences, j'ai décidé de réaliser une housse de protection en cuir pour livres de poche. J'en avais un peu marre de les voir se corner sans raison. Tout commence donc avec un joli dessin comme concept et avec l'achat d'outils de base que j'avais utilisés durant mon initiation. Mes achats se sont concentrés sur le site crea-cuir.com pour les outils spéciaux et le fil et au BHV à Paris pour les outils de coupe et une peau.

concept

Une fois le design choisi, le processus fut assez simple.
Création du patron sur Inkscape et impression : patron Marquage sur le cuir : marquage Puis découpe du cuir : decoupe Installation des pressions de fermeture : installation_clipe Et enfin couture : premierecouture fini

Voyons le résultat avec un livre : test livre test livre test livre

Bilan des courses : le résultat est très concluant et fonctionne avec différentes épaisseurs de livres de poche. Pour les soucis, soit les pressions sont de mauvaise qualité, soit je les ai mal montées, mais elles tiennent alors parfait. Au niveau de la découpe, j'ai besoin d'un peu plus de pratique. Et après coup, je me suis dit que j'aurais du utiliser un poinçon pour faire les angles intérieurs.

Bonne bidouille à tous

Mardi, mars 22 2016

Stylo Ventouse ++

Ça faisait un bout de temps que je n’avais rien posté et HugoKernel menaçait de me virer de #madeinfr !

Maintenant que mon four est réparé je compte bien me remettre à assembler des cartes et pour ça pas mieux qu’un stencil, de la pâte à braser et une pompe à vide pour poser les composants. Il est possible d’acheter des stylo ventouse pas cher sur la Baie !

$_12

Soyons francs…. C’est de la merde, ça n’aspire même pas une poussière et la construction est fragile. On va avoir besoin de quelques trucs pour moins de 20$.

SONY DSC

Le stylo, une pompe motorisée de chez seeedstudio et un peu de tuyau plastique 6/4mm (pour aquarium). (EDIT: La pompe peut-être trouvée sur ebay pour moins de 3€ ! http://www.ebay.fr/itm/152016013472 )

pvc_tube6V Mini Vacuum Pump_01

 

 

 

 

 

Il va falloir modifier la pompe pour l’utiliser à l’envers. Commencez par démonter les vis noires et accéder à la dernière cavité au contact du moteur.

SONY DSC
Dernière cavité

Percez le trou pour le tuyau sur la paroi en plastique de la dernière cavité (au foret à main pour plus de contrôle). L’air est initialement aspiré dans une petite rigole entre le plastique et la cage du moteur. Étalez de l’Araldite entre le plastique et le moteur en prenant soin de ne pas baver sur l’axe. Puis maintenir le moteur alimenté en rotation en revissant la pièce de plastique (pour éviter de coller l’axe).

SONY DSC
Joint de très haute technologie à base de résine polymère !

Remontez la pompe en prenant bien soin de replacer l’axe de la valve dans le bras du moteur.

Il ne manque plus qu’a percer le capuchon arrière du stylo et de couper une petite partie de la « baudruche » interne. Le tube PVC rentre tout juste dedans, autant en profiter pour faire joint. Faites aussi un trou de 3mm dans le plastique juste au dessus de la buse d’aspiration.

SONY DSC

La pompe de seeedstudio est largement assez efficace à 2 ou 3V (voir la vidéo).

IMG_20160323_002016 (2)


Classé dans:Astuce / Tips, Divers, DIY, Electronique

Stylo Ventouse ++

Ça faisait un bout de temps que je n’avais rien posté et HugoKernel menaçait de me virer de #madeinfr !

Maintenant que mon four est réparé je compte bien me remettre à assembler des cartes et pour ça pas mieux qu’un stencil, de la pâte à braser et une pompe à vide pour poser les composants. Il est possible d’acheter des stylo ventouse pas cher sur la Baie !

$_12

Soyons francs…. C’est de la merde, ça n’aspire même pas une poussière et la construction est fragile. On va avoir besoin de quelques trucs pour moins de 20$.

SONY DSC

Le stylo, une pompe motorisée de chez seeedstudio et un peu de tuyau plastique 6/4mm (pour aquarium). (EDIT: La pompe peut-être trouvée sur ebay pour moins de 3€ ! http://www.ebay.fr/itm/152016013472 )

pvc_tube6V Mini Vacuum Pump_01

 

 

 

 

 

Il va falloir modifier la pompe pour l’utiliser à l’envers. Commencez par démonter les vis noires et accéder à la dernière cavité au contact du moteur.

SONY DSC
Dernière cavité

Percez le trou pour le tuyau sur la paroi en plastique de la dernière cavité (au foret à main pour plus de contrôle). L’air est initialement aspiré dans une petite rigole entre le plastique et la cage du moteur. Étalez de l’Araldite entre le plastique et le moteur en prenant soin de ne pas baver sur l’axe. Puis maintenir le moteur alimenté en rotation en revissant la pièce de plastique (pour éviter de coller l’axe).

SONY DSC
Joint de très haute technologie à base de résine polymère !

Remontez la pompe en prenant bien soin de replacer l’axe de la valve dans le bras du moteur.

Il ne manque plus qu’a percer le capuchon arrière du stylo et de couper une petite partie de la « baudruche » interne. Le tube PVC rentre tout juste dedans, autant en profiter pour faire joint. Faites aussi un trou de 3mm dans le plastique juste au dessus de la buse d’aspiration.

SONY DSC

La pompe de seeedstudio est largement assez efficace à 2 ou 3V (voir la vidéo).

IMG_20160323_002016 (2)


Classé dans:Astuce / Tips, Divers, DIY, Electronique

Vendredi, mars 18 2016

RaspiO'Mix+ vs GrovePi+

Après le comparatif entre RaspiO'Mix et GrovePi, il était temps de faire un comparatif entre chaque évolution de ces cartes : RaspiO'Mix+ et GrovePi+.

RaspiO'Mix+ vs GrovePi+

Tout comme RaspiO'Mix, GrovePi vous permet de connecter vos modules Grove à votre Raspberry, même finalité mais choix technique différent : là ou RaspiO'Mix utilise directement les entrées / sorties du Raspberry, GrovePi utilise en fait un ATMega jouant le rôle d’intermédiaire entre le Raspberry et le monde extérieur via une liaison I2C.

RaspiO'Mix fait office d'interface direct entre le Raspberry et le monde extérieur, vous pouvez donc utiliser des lignes de commandes, du Python, ce que vous voulez sans avoir à passer par une complexe interface.

oshw-logo-100-px.png

Dans les 2 cas, GrovePi+ et RaspiO'Mix+ sont des projets OpenSource / OpenHardware et vous pouvez retrouver toutes les sources sur GitHub : GitHub / GrovePi et GitHub / RaspiO'Mix


Fonctionnalité GrovePi+ RaspiO'Mix+
Entrées / Sorties 7 8
Entrées analogiques 3 8
Résolution CAN 10bits 18bits
Lignes I2C 4 3
Lignes série 1 1
Horloge Non Oui (via DS1307) avec batterie de sauvegarde
Interrupteur 0 2
Alimentation via le Raspberry via le Raspberry ou une prise jack / bornier
Compatibilité Raspberry Pi A/B, A+/B+, Pi 2, Pi 3, Zero Raspberry Pi A+/B+, Pi 2, Pi 3, Zero
Respect du format HAT* Non Oui

* Le format HATs

Flag_of_France.svg.png
Autre chose importante, les RaspiO'Mix+ sont toujours fabriquées en France !

RaspiO'Mix+ est disponible à la vente sur le site www.raspiomix.org.

Vendredi, mars 4 2016

Pochette en cuir

Bonjour les gens !

Pour ceux qui ne le sauraient pas encore, je suis plutôt touche-à-tout. J'aime apprendre les bases de plein de techniques sans forcément aller jusqu'à la maîtrise de l'art en question. C'est pourquoi ma dernière lubie fut d'apprendre les bases de l'art du cuir, disons les premières étapes, histoire de pouvoir fabriquer des objets simples comme une pochette par exemple. Et en plus c'est le thème de ce billet :). Pour cela, je suis allé prendre conseil auprès d'Alexandra Marie qui dispense des cours à "mon atelier en ville". 2h30 autour des différentes étapes de la fabrication, des outils, de la matière et d'une première réalisation. Je n'ai pas pris de photo pendant le stage mais vous aurez les photos de fin et le patron.

Ce fut une expérience intéressante qui m'a permis de comprendre l'utilité de quelques outils et la couture du point sellier. Le but était principalement d'utiliser le moins d'outils particuliers possible. Au final, j'ai utilisé une planche de découpe, une roulette de découpe, une paire de ciseaux pour la découpe ainsi qu'une feuille de papier et un feutre noir pour le patron et son report sur le cuir. Ensuite, de la colle pour tenir les pliures en place, une roulette crantée pour marquer les trous régulièrement, un poinçon pour agrandir les trous, deux aiguilles et du fil de lin pour la couture à la main. Une chose intéressante est le côté vivant de la matière qui la rend difficile à utiliser mais qui en fait une matière si noble.

Voici quelques photos du résultat. J'en suis content et apparement la personne qui va l'utiliser aussi. ;)

dessus dessous ouvert patron

Prochaine étape : confirmation des acquis avec la réalisation d'une pochette de protection pour un livre de poche.

Bonne bidouille à tous !

Mercredi, mars 2 2016

Le code Arduino pour la WordClock

Bonjour à tous,

J'ai eu beaucoup de demandes pour le programme de la Word Clock en français. Je voulais faire un post ou un tuto pour l'expliquer, mais je crois que je ne vais jamais trouver le temps!
Je donne donc le code complet et posez-moi des questions si vous ne comprenez pas.



Résumé des posts précédents:

La word clock:  http://lafamillecreative.blogspot.fr/2012/11/une-word-clock-en-francais.html
La vidéo tuto:  http://lafamillecreative.blogspot.fr/2014/05/word-clock-en-francais-le-tuto.html


A+


Le code ici:




#include <WProgram.h>  // les 3 librairies pour le rtc
#include <Wire.h>
#include <DS1307.h>

int rtc[7];
int Bouton1=3;
int Bouton2=4;
int Detecteur=7;


void Set_Square_Wave(int rate){  // set the square wave output on pin 7 of the DS1307 chip
  rate = rate + 144;                         // add 0x90 (dec 144) to rate
  Wire.beginTransmission(0x68);              // write the control register
  Wire.write(0x07);                           // register address 07H)
  Wire.write(rate);                           // 90H=1Hz, 91H=4kHz, 92H=8kHz, 93H=32kHz
  Wire.endTransmission();
}

 int latchPin=8;     // 3 lignes pour le shift out
 int clockPin=12;
 int dataPin=11;


 int Compteur1=0;
 int Compteur2=0;
 int Compteur3=0;
 int Coef=0;
 int alea=0;
 int k=1;
 int Var1=0;
 int Var2=0;
 int Ancvar1=0;
 int Ancvar2=0;
 int Temp1=1000; // tempo pour mise en veille
 int Temp2=400;  // tempo pour rafraichir
 int Inc=0;
 int Allumer=0;
 int Presence=1;


void setup()
{

  pinMode(Bouton1,INPUT);// déclaration des entrées
  pinMode(Bouton2,INPUT);
  pinMode(Detecteur,INPUT);

  digitalWrite(Bouton1, HIGH);  // entrées par défaut à 1, évite une résistance de pull-UP.
  digitalWrite(Bouton2, HIGH);

 // Décommenter la partie suivante et mettez vos valeurs pour initialiser l'horloge

  //RTC.stop();
  //RTC.set(DS1307_SEC,0);    // Secondes
  //RTC.set(DS1307_MIN,10);   // Minutes
  //RTC.set(DS1307_HR,4);    // Heures
  //RTC.set(DS1307_DOW,3);    // Jour de la semaine
  //RTC.set(DS1307_DATE,7);  // Jour du mois
  //RTC.set(DS1307_MTH,11);   // Mois
  //RTC.set(DS1307_YR,12);    // Année
  //RTC.start();



  // Mettre une resistance de pull up entre pin 7 et Vbat
  // 0=1hz, 1=4KHz, 2=8KHz, 3=32KHz
  Set_Square_Wave(0); // 1Hz


 pinMode(latchPin,OUTPUT);
 pinMode(clockPin,OUTPUT);
 pinMode(dataPin,OUTPUT);


}

void loop()
{
 delay(50);
  RTC.get(rtc,true);

  Presence=digitalRead(Detecteur);
  if (Presence==1) Temp1=2000;



  Var1=1-digitalRead(Bouton1);
  Var2=1-digitalRead(Bouton2);

  if (Var1==0) Ancvar1=0;
  if (Var2==0) Ancvar2=0;
 
   if (Var1!=Ancvar1) // Front Montant du bouton 1
   {
     Inc=rtc[1]+5;
     if (Inc>59) Inc=0;
   
   
     RTC.stop();    
     RTC.set(DS1307_MIN,Inc);
     RTC.start();
   
     Temp1=1000;
     affichage();
     Ancvar1=1;
   
   
   
   }

  if (Var2!=Ancvar2) // Front Montant du bouton 2
   {
   
     Inc=rtc[2]+1;
      if (Inc>23) Inc=0;
   
     RTC.stop();
     RTC.set(DS1307_HR,Inc);
     RTC.start();
   
     Temp1=1000;
     affichage();
      Ancvar2=1;
   }


    Temp1-- ;
    if (Temp1<0) Temp1=0;
 
    if (Temp1>0) {
      if (Allumer==0) {   // lancer l'animation à l'allumage
        alea=random(100);
         if (alea>50){
           deco1();}
         else {
           deco2();}
      }
      Allumer=1;
      Temp2++;
      if (Temp2>400) {
         Temp2=0;
         affichage();
     
      }
    }
    else {
     if (Allumer==1){
       eteindre();
       Allumer=0;
     }
    }
 
     
   
}

void shiftOut(byte dataOut) {

 boolean pinState;
 digitalWrite (dataPin, LOW);
 digitalWrite (clockPin, LOW);

 for (int i=0; i<=7; i++) {
  digitalWrite(clockPin, LOW);
  if (dataOut & (1<<i)) {
   pinState=HIGH;
  }
  else {
   pinState=LOW;
  }

 digitalWrite(dataPin,pinState);
 digitalWrite (clockPin, HIGH);
 digitalWrite (dataPin, LOW);
 }

 digitalWrite (clockPin, LOW);

}

void  deco1() {

  for (int i=1; i <= 10; i++){
     k=1;
       for (int j=0; j <= 7; j++){
         
       
          digitalWrite(latchPin, LOW);
          alea=random(0,2);
          shiftOut(k*alea);
          alea=random(0,2);
          shiftOut(k*alea);
          alea=random(0,2);
          shiftOut(k*alea);
          digitalWrite(latchPin, HIGH);
          delay(20);
          k=k*2;
       
        }
     }


}


void deco2() {

    for (int i=0; i <= 25; i++){
 
     digitalWrite(latchPin, LOW);
    alea=random(250)+1;
    shiftOut(alea);
    alea=random(250)+1;
    shiftOut(alea);
    alea=random(250)+1;
    shiftOut(alea);
 
    digitalWrite(latchPin, HIGH);
    alea=random(200)+50;
    delay(alea);

    }

}

void affichage() {

    RTC.get(rtc,true);
       
 
     Temp2=400;

 
 
   // calcul de l'heure
 
   Compteur1=32;  // "Il est"
   Compteur2=0;
   Compteur3=160;  // "Heure" et "s"
 
   Coef=0;
   if (rtc[1]>34) {
     Coef=1;  // coef pour les heures
     Compteur3=Compteur3+2; // "Moins"
   }
 
 
     if (rtc[2]==1-Coef || rtc[2]==13-Coef) {
       Compteur2=Compteur2+8; // "Une"
       Compteur3=Compteur3-128; // Suppression du "S"
     }
   
     if (rtc[2]==2-Coef || rtc[2]==14-Coef) Compteur1=Compteur1+4; // "Deux"
     if (rtc[2]==3-Coef || rtc[2]==15-Coef) Compteur2=Compteur2+1; // "Trois"
     if (rtc[2]==4-Coef || rtc[2]==16-Coef) Compteur1=Compteur1+16; // "Quatre"
     if (rtc[2]==5-Coef || rtc[2]==17-Coef) Compteur2=Compteur2+32; // "Cinq"
     if (rtc[2]==6-Coef || rtc[2]==18-Coef) Compteur2=Compteur2+16; // "Six"
     if (rtc[2]==7-Coef || rtc[2]==19-Coef) Compteur1=Compteur1+8; // "Sept"
     if (rtc[2]==8-Coef || rtc[2]==20-Coef) Compteur2=Compteur2+2; // "Huit"
     if (rtc[2]==9-Coef || rtc[2]==21-Coef) Compteur1=Compteur1+64; // "Neuf"
     if (rtc[2]==10-Coef || rtc[2]==22-Coef) Compteur3=Compteur3+4; // "Dix"
     if (rtc[2]==11-Coef || rtc[2]==23-Coef) Compteur1=Compteur1+128; // "Onze"
     if (rtc[2]==12-Coef) {
       Compteur1=Compteur1+1; // "Midi"
       Compteur3=Compteur3-160; // Suppression de "heure" et de "S"
     }
     if ((rtc[2]==0 && Coef==0)||(rtc[2]==23 && Coef==1)) Compteur3=Compteur3-152; // "Minuit" et Suppression de "heure" et de "s" (8-160)=-152
   
    if ((rtc[1]>4 && rtc[1]<10)||(rtc[1]>54)||(rtc[1]>24 && rtc[1]<30)||(rtc[1]>34 && rtc[1]<40)) Compteur3=Compteur3+16;  // "Cinq" (minutes)
    if ((rtc[1]>9 && rtc[1]<15)||(rtc[1]>49 && rtc[1]<55)) Compteur2=Compteur2+4; // "Dix" (minutes)
    if ((rtc[1]>19 && rtc[1]<30)||(rtc[1]>34 && rtc[1]<45)) Compteur3=Compteur3+1;  // "Vingt"
    if ((rtc[1]>14 && rtc[1]<20)||(rtc[1]>44 && rtc[1]<50)) Compteur2=Compteur2+64;  // "Quart"
    if ((rtc[1]>14 && rtc[1]<20)||(rtc[1]>29 && rtc[1]<35))  Compteur1=Compteur1+2; // "Et"
    if (rtc[1]>44 && rtc[1]<50)  Compteur3=Compteur3+64; // "Le"
    if (rtc[1]>29 && rtc[1]<35) Compteur2=Compteur2+128; // "Demi"
 
 
   // affichage de l'heure
    digitalWrite(latchPin, LOW);
    shiftOut(Compteur3);
    shiftOut(Compteur2);
    shiftOut(Compteur1);
    digitalWrite(latchPin, HIGH);

}


void eteindre(){
   digitalWrite(latchPin, LOW);
    shiftOut(0);
    shiftOut(0);
    shiftOut(0);
    digitalWrite(latchPin, HIGH);
}

- page 2 de 88 -