Professional Documents
Culture Documents
Sommaire
Edito Volume 1
17
25
35
45
The Midst ?
50
55
59
64
A propos
74
Edito Volume 1
Vous affichez sur votre cran (ou tenez entre vos mains, qui sait ?) le tout premier numro de Fait Main, un magazine
en ligne qui couvre plusieurs sujets, savoir :
l'informatique,
l'lectronique,
la cuisine
l'art,
et enfin l'cologie.
Certains de ces sujets peuvent paratre loigns les uns des autres, comme l'cologie de l'lectronique mais en y
rflchissant les projets les plus originaux et intressants sont souvent la croise de plusieurs domaines.
Un projet base d'Arduino pour contrler un fumoir saumon ou de la cuisine sous vide, un logiciel de domotique pour
diminuer les factures d'lectricit, un script Python de gnration de musique, sont autant d'applications trs concrtes
de savoir-faire en informatique, lectronique.
Nous entrons dans l'poque reine du Do It Yourself, o, pour un budget raisonnable, n'importe lequel d'entre nous peut
raliser un projet avanc que ce soit en soudant quelques composants sur un Arduino ou un Raspberry Pi, ou en
commandant l'usinage de 10 pices moules sur un service en ligne, voire imprimes avec l'imprimante 3d du coin.
Mais cela ne s'arrte pas l'lectronique: la maison, on peut bricoler du meuble, de la cuisine, des produits
cosmtiques
Le magazine qui se rapproche finalement le plus de ce que nous souhaitons faire avec Fait Main est le magazine
amricain Make.
Contenu du volume 1
La tribune de ce numro est un parallle entre web hberg et OGM. Lire la tribune.
Le premier article prsente une application de reconnaissance de feuille crite pendant un Hackathon. C'est
l'application qui a t crite en 24 heures par Olivier, Ronan & Tarek lors du dernier AngelHack Paris. On y parle de
machine-learning au service des plantes, des hackathons de programmation & de responsive design. Lire l'article
Le deuxime article parle de domotique et vous explique comment piloter des dispositifs sans fils - portails, dtecteurs
de mouvements etc. On y parle d'Arduino, de Raspberry-PI et de signal en 433 mhz. Lire l'article
Le troisime article prsente le travail de Marcin Ignac: des mduses animes en 3D. Des captures d'cran de ces
mduses ont ensuite t utilises pour faire partie d'un projet de livre gnratif. On y parle d'animation procdurale, de
processing.js & d'hachurage. Lire l'article
Le quatrime article vous donne 5 conseils de photos culinaires pour que vous puissiez prendre en photos vos soupes,
gigots et autres desserts comme un(e) pro. Lire l'article,
Suit une interview de Hugues Aubin au LabFab de Rennes. Lire l'article.
Un cinquime article sur la conception d'un Juke box avec un Raspberry-PI, sans aucune soudure requise :) Lire
l'article.
Le sixime article vous explique comment recycler une vieille nappe de disque dur pour connecter le GPIO de votre
Raspberry. Lire l'article.
Le septime article est une rapide prsentation du jeu The Midst, conu avec Processing et WebPD. Lire l'article.
Enfin, le huitime article aborde les bases du fonctionnement d'une CNC. Lire l'article.
Bonne Lecture!
Tarek
Equipe
Le projet FaitMain est mont par Tarek Ziad mais est surtout possible grce aux crateurs d'articles et aux
relecteurs.
Ont particip ce numro :
Yannick Jost, Xavier Fernandez, Mathieu Agopian, Alexis Mtaireau, Martine Cadot, Lina Ziad - relectures
Tarek Ziad - Article "What The Feuille", Traduction "Cindermedusae", Article "Un Juke Box avec le
Raspberry-Pi".
Marcin Ignac - Article "Cindermedusae".
Jonathan Schemoul - Article "Dispositifs sans fils"
David Larlet - Tribune - "Semences striles et donnes futiles"
Tribune - Semences striles et donnes futiles - FaitMain Magazine - Volume 1 Fvrier/Avril 2013
2013-02-01
autre,ecologie
vulgarisation
David Larlet
Champ de bl
La problmatique des semences gntiquement modifies pose des questions d'ordre thique, sanitaire et social. Les
semences striles utilisant le gne au doux nom de Terminator sont emblmatiques de la socit Monsanto qui
est prte diffuser tout prix ses semences, mme gratuitement titre humanitaire pour avoir un contrle de la
production mondiale de nourriture.
Les schmas de penses court-termistes apportant un confort immdiat ont tendance se reproduire d'un
domaine un autre et c'est notamment ce qui est en train de se passer avec le Web.
Aprs une tape de standardisation prometteuse qui permettait une interoprabilit entre les diffrentes publications
(RSS, Atom, trackbacks), la mode est plutt la centralisation des donnes (Twitter) voire leur dconnexion du Web
(Facebook) au profit d'un confort de publication bien rel avec la promesse de l'instantanit et de l'approche
ubiquitaire.
Le tout associ une flatterie de l'go par une quantification du partage (nombre de retweets/likes/followers/etc) qui
se rapproche, osons le dire, d'une comptition malsaine capitaliste du toujours plus, d'une approche en consommateur
des liens sociaux, d'une course effrne la socialisation numrique qui dtruit les communauts locales au profit
d'une communaut de suiveurs inconnus.
Or, au mme titre que les associations pour le maintien d'une agriculture paysanne (AMAP), il existe une voie pour un
web ouvert qui encourage l'artisanat et la rutilisation via un modle acentr et local. Certaines initiatives comme La
Distribution ou CozyCloud encouragent de telles approches permettant de garder un contrle sur ses donnes et
mme un hbergement sur son propre serveur afin d'assurer la prennit de ses URI. L'avnement d'outils de
publication gnrant des fichiers statiques facilite grandement le dploiement et l'hbergement de ses ides et
minimise les connaissances techniques ncessaires son expression sur le web. Les problmes techniques restants
Tribune - Semences striles et donnes futiles - FaitMain Magazine - Volume 1 Fvrier/Avril 2013
rsoudre sont la notification de manire distribue et l'agrgation en temps-rel mais ceux-ci ne pourront tre valids
qu'aprs une adoption large chelle de tels services, permettant d'atteindre la masse sociale critique pour rendre ces
services utiles.
tudions la liste des composants ncessaires pour garder son indpendance vis--vis de services web centraliss :
un nom de domaine, ce qui cote entre 5 et 15 selon le niveau de support et de confiance que l'on souhaite
avoir ce niveau, en bonus non ngligeable vous pouvez associer ce domaine un certificat SSL qui assurera la
confidentialit des changes entre vos visiteurs et vos publications. Mme si vos crits ne sont pas critiques,
pensez au fait qu'une banalisation de tels usages permet de rendre une telle pratique moins suspecte lorsqu'elle
est ncessaire (nous ne vivons pas tous en dmocratie) ;
un hbergement, il en existe tous les prix et si vous vous dirigez vers un site au rendu statique grce des
gnrateurs locaux vous n'tes soumis aucune contrainte technique si ce n'est celle de l'espace disque et de la
bande passante qui ne devraient pas poser problme dans un premier temps au moins ;
un logiciel de tlversement, permettant de dployer le contenu gnr sur le serveur d'hbergement. Il en existe
de nombreux qui ne demandent aucune connaissance technique particulire.
Et voil ! Il ne reste plus qu' faire connatre votre URI au reste du monde. N'oubliez pas de produire un flux
permettant vos visiteurs de s'abonner vos publications (cela est normalement gr par le gnrateur) sans avoir
dpendre d'une plateforme non prenne et centralise.
Barbels
Vos publications, mme titre futile, constituent une partie de votre identit numrique, vos interactions sur le web
participent votre propre dfinition et vos relations sociales. Il serait dommage de laisser des services tiers
montiser votre identit et vos interactions avec vos amis, d'autant plus qu'ils ne garantissent aucun engagement dans
la dure et conduisent de vritables gnocides de donnes que j'appelle datacides lors de la fermeture brutale
des entreprises qui ont du mal trouver un business modle rentable associ la gratuit du service propos.
Si vous tes un jardinier numrique, je vous encourage reprendre le contrle de vos semences^W^donnes afin de
prenniser votre rcolte^W^identit numrique. Il n'est pas trop tard pour nourrir d'ides ouvertes et gratuites vos
concitoyens du web.
Ragissez sur cet article.
2013-02-01
ecologie,informatique
vulgarisation
Tarek Ziad
Tarek & Ronan en train de tester What The Feuille (by Kenneth Reitz)
Le Hackathon est un mot-valise, m'apprend Wikipdia contraction de hacking et de marathon. Un marathon de
hacking est un vnement durant lequel des dveloppeurs vont travailler ensemble pour tenter d'acclrer le
dveloppement d'un projet en se concentrant dessus le temps d'un week-end ou parfois d'une semaine.
Dans la communaut Python, on parlera plus de sprints, terme invent par Tres Seaver pour dcrire les runions de
2-3 jours pendant lesquelles des paires de programmeurs bossaient sur Zope 3 un logiciel crit en Python.
Les Hackatons organiss par AngelHack sont encore une autre variante : vous avez 24 heures pour produire un projet
de A Z dans des locaux o tous les participants se runissent et restent veills toute la nuit soigns coup de
pizzas et Red Bull par les organisateurs.
A la cl, la possibilit de gagner un A/R San Francisco pour pitcher des Angel Investors de la Silicon Valley.
La plupart des projets sont des applications web. Plus rarement des applications desktop ou du hardware.
Il ne faut pas se leurrer, mon avis, derrire la plupart des quipes participantes se cachent des startups en devenir
qui planchent sur leur sujet depuis des mois voir des annes pour elles, un concours comme AngelHack est une
opportunit de s'exposer aux investisseurs, voire d'avoir la chance d'aller leur rendre visite en Californie.
De mon cot la partie startup/pitch ne prsentait aucun intret. Mais l'ide d'essayer d'crire une appli fonctionnelle
et moderne en 24h par contre...
On s'est donc inscrit avec Olivier & Ronan et on a particip au concours sans carte de visite, ni rien vendre juste
l'envie de hacker une appli.
Note
Oui, j'ai dj vu des promeneurs prendre des photos avec une tablette en fort.
On a choisi assez rapidement d'crire cette application web entirement en Javascript et HTML5 pour le cot
utilisateur, sans passer par des dvelopements spcifiques la plateforme iOS ou Android pour plusieurs raisons :
mme si des outils comme PhoneGap permettent de dvelopper une application mobile qui est ensuite compile
pour chaque plateforme native, le principe de subir une modration sur l'app store d'Apple ou Google Play nous
rebute profondment.
le HTML5 et le Javascript sont compris par tous les priphriques, et notre application n'a pas besoin d'accder
des fonctionnalits avances des mobiles ou tablettes, comme l'envoi de texto.
le HTML5 et le Javascript pour les applications mobile, c'est l'avenir !
avec un peu de responsive design, la mme interface marchera aussi sur les ordinateurs de bureau ou laptop.
Cette technique consiste adapter la mise en page en fonction du priphrique qui se connecte sur le site :
tlphone, tablette, ou ordinateur. En fonction de la taille de l'cran, le serveur essayera d'optimiser l'affichage.
Ct serveur, l'application web n'a pas grand chose faire : servir 2 ou 3 crans, rcuprer les photos et les stocker,
et enfin lancer l'algo d'apprentissage automatique - ou machine learning en anglais.
Mais mine de rien, ce genre d'application touche pas mal de domaines de programmation :
du responsive design, de manire pouvoir afficher l'application sur une tablette, un tlphone, etc ;
du stockage d'images et de mta-donnes associes, avec potentiellement beaucoup, beaucoup d'entres ;
une bonne dose de Javascript pour les interactions avec l'utilisateur ;
du machine learning pour toute la partie intelligente ;
de la programmation web pour lier le tout, avec les composantes classiques comme l'identification, le templating,
etc.
Edition de la feuille
D'autres fonctionalites mineures que nous avons ajoutes au fil de la nuit sont un plantopedia une page qui liste
les plantes et arbres avec les feuilles correspondantes trouves dans la base ; une page d'accueil qui affiche les
dernires photos uploades et enfin un systme d'authentification bas sur Mozilla Persona
Responsive ?
Crer un joli design responsive en 24 heures est impossible sans utiliser un toolkit qui mche le travail. Le plus souple
et le plus puissant est Bootstrap, qui permet trs rapidement de crer un design propre et qui s'adaptera tout seul
comme un grand n'importe quel type de priphrique.
L'autre grande qualit de Bootstrap est de permettre des dveloppeurs comme moi qui n'ont aucune notion de
design, de faire une application web peu prs jolie, avec des botes qui s'alignent bien, un rendu moderne et
standard.
C'est aussi le gros dfaut de Bootstrap finalement : rien ne ressemble plus un site fait avec Bootstrap qu'un autre
site fait avec Bootstrap, souvent car les intgrateurs se sont contents de copier-coller les mises en page fournies en
exemple, et aussi parce que il y a un Bootstrap look and feel.
Mais pour notre hackathon, c'est parfait !
Si vous avez envie de tester Bootstrap, je vous conseille de tester Bootswatch qui offre plusieurs thmes pour
Bootstrap. C'est un excellent moyen de dmarrer son propre thme.
La killer feature de Bootswatch c'est son Bookmarklet en bas de la page. Un lien dposer dans Firefox dans la barre
des bookmarks et hop !, un menu droulant permet d'essayer les thmes fournis par le projet en live sur n'importe quel
site fait avec Bootstrap !
L'autre outil indispensable pour un design propre en 24 heures, c'est Google Web Fonts.
La police facile.
En quelques minutes, on trouve forcment une police qui nous plait, et il suffit d'ajouter un lien vers la CSS fournie par
Google.
En deux heures, les premires pages de What The Feuille taient affiches sur notre navigateur, et correctement
retailles sur nos tlphones.
Du Javascript
Pour toutes les interactions avec l'utilisateur et les petits effets spciaux, jQuery est incontournable. De toute faon,
il est disponible d'office dans un environnement Bootstrap.
On s'est servi de jQuery pour le positionnement interactif des feuilles par exemple. L'utilisateur clique sur la feuille
pour indiquer le haut et le bas, avec son doigt sur un cran tactile ou sa souris. Les coordonnes sur l'image sont
envoyes au serveur, qui applique une rotation de l'image.
Tape ta feuille.
On est loin de la barre d'outils de Photoshop, mais l'ide est l : l'utilisateur peaufine son image avant de demander au
serveur de faire une reconnaissance de la plante ou l'arbre.
Ce genre de fonctionnalit n'est pas dure ajouter mais prouve qu'il est possible d'crire des applications mobiles un
minimum interactives bases sur HTML5 et Javascript.
Elastic Search
Les photos uploades dans l'application sont stockes sur le disque dur, ainsi que les diffrents thumbnails, gnrs
la demande.
Elastic Search est le systme que nous avons choisi pour stocker toutes les autres informations.
Ce n'est pas une base de donnes dans le sens strict du terme, mais un moteur de recherche bas sur le trs
performant Apache Lucene.
Au vu des donnes que nous stockons, et au vu des requtes raliser comme par exemple une liste de feuilles
correspondant une plante donne, en batch Elastic Search est l'outil idal.
Le Cloud
En parlant de dploiement, nous avons choisi de mettre l'application sur un serveur Amazon EC2 de type Spot
Instance pour minimiser les cots au maximum pour ce premier prototype.
Les Spot Instance sont des serveurs chez Amazon qui ne sont pas attribus des clients fixes et dont le prix de
location fluctue en fonction de l'offre et de la demande.
C'est un systme malin pour rduire le parc de machines non utilises : Amazon met jour en temps rel son prix de
location, et pour obtenir une Spot Instance il faut faire une enchre dont le montant est suprieur au prix fix.
L'avantage est que l'on peut avoir une machine un prix trs avantageux, comme l'explique cet article.
Le gros inconvnient est que si le prix fix par Amazon dpasse le prix de votre enchre, vous perdez brutalement la
machine.
Pour notre dmo, ce n'est pas trs grave et mme terme, on peut trs bien imaginer une architecture ou des
machines Spot Instance sont utilises comme noeuds pour Elastic Search du moment que l'ensemble est tolrant
la disparition d'un des noeuds.
Les donnes sont stockes dans un volume EBS (Elastic Block Store), qui est compltement indpendant des
instances. Un EBS est simplement mont comme volume supplmentaire au dmarrage d'une ou plusieurs instances.
Les EBS sont hautement disponibles, contrairement aux spot instances, si bien qu'il est possible de dployer des
projets dont les bases de donnes sont stockes sur un EBS et dont toutes les applications excutes sur des
instances plus ou moins fiables.
Il existe d'autres cloud providers comme Rackspace, qui offrent encore d'autres solutions mais Amazon est
probablement le provider qui offre le plus d'options et de souplesse, et permet de s'adapter tout type de projet.
Bien sr, toute cette belle technologie dploye sur http://whatthefeuille.com n'avait aucun intrt pour notre dmo
puisque le WiFi tait trop mauvais : les manipulations ont t prsentes sur une version locale .
La partie web
Pour ce projet la partie web a pour principaux objectifs :
l'authentification des utilisateurs
le requtage de la base Elastic Search
le calcul et l'affichage de pages HTML
Il existe une plthore de frameworks qui permettent de fournir ces fonctionalits, et nous avons choisi Pyramid pour
pouvoir recycler une petit application existante qui une fois dpouille de son contenu, nous a fourni un squelette avec
tout les outils ncessaires.
Sans cette application de dpart, nous aurions probablement choisi un outil plus lger, comme le micro-framework
Bottle ou Flask qui permettent de monter une application web en Python en quelques lignes.
La dfinition de micro-framework est vague, mais dans le monde Python, elle regroupe les outils dont le principal
objectif est de simplifier au maximum la cration d'une application web, au dtriment des fonctionnalits secondaires
habituellements fournies dans les frameworks web. Il est rare par exemple de retrouver des fonctionnalits de
permissions trs avances, ou des systmes de schmas de base de donns.
Bottle par exemple est un framework distribu dans un seul module Python - et il est ncessaire d'intgrer des
librairies externes pour la plupart des fonctionnalits avances.
La partie intelligente
Scikit-image en action.
La partie la plus intressante est la reconnaissance des feuilles bien sr, et pour la mettre en oeuvre, nous avons
utilis la librairie Python scikit-image qui fournit un ensemble d'algorithmes pour la vision artificielle.
Chaque feuille entre dans l'application subit d'abord une rotation et une normalisation de taille, afin d'avoir un jeu de
donnes le plus homogne possible. La rotation consiste positionner avec l'aide de l'utilisateur le haut de la feuille en
haut au milieu de l'image et le bas de la feuille, sans compter la tige, en bas au milieu.
Ces tapes de normalisation amliorent grandement les rsultats puisque l'algorithme de reconnaissance ne sait pas
qu'il manipule des feuilles. Il se contente d'essayer de dtecter sur chaque photo le maximum de zones d'intrt, ou
features en anglais.
Une fois que chaque feuille de la base est transforme en son histogramme, il devient possible de suggrer pour une
nouvelle feuille les feuilles qui s'en rapprochent le plus et donc par extension la plante ou l'arbre d'appartenance.
Pour faire cette suggestion, notre application calcule la distance euclidienne entre l'histogramme de la feuille et
l'intgralit des histogrammes de la base.
Dans le prototype actuel, tous ces calculs sont faits la vole. Mais comme cette opration de comparaison est de
complexit O(n), elle ralentira au fur et mesure que la base de feuilles grossit.
Une solution potentielle consisterait en la construction d'un vocabulaire de taille limite de 1000 10000 images
prototypiques qu'ont appelle des mots visuels. Ce vocabulaire peut etre construit par l'utilisation d'un algorithme de
clustering sur les features extraites de la base d'images existantes.
Chaque image de la base sera ensuite approximativement encode dans ce vocabulaire en lui attribuant les 10 ou 100
mots visuels les plus reprsentatifs pour cette image. On utilise alors ces mots pour indexer les images de la base dans
l'index Elastic Search.
On parle de reprsentation creuse (sparse en Anglais) car chaque image est encode en utilisant moins de 10% du
vocabulaire possible. Cette technique permet de faire des requetes de suggestion qui fonctionnent mieux sur une base
de donnes trs large
En effet quand une nouvelle image normalise arrive, on extrait ses features, on cherche et on fait une requete de
similarit ("MoreLikeThis") dans l'index Elastic Search avec les identifiants des mots visuels les plus reprsentatif de la
nouvelle image.
L'utilisation de l'index Elastic Search permet ainsi de pre-filtrer de manire efficace les 1000 candidats les plus
probables.
Pour trouver la suggestion finale on calcule la distance euclidienne sur les features de ces 1000 candidats au lieu de la
base complte.
Quoi qu'il en soit, toute la partie intelligente de l'application ne prouvera son efficacit que lorsque la base sera
suffisamment riche en plantes et en arbres.
Conclusion
On tait pas trs jolis voir le lendemain matin, mais le pari a t tenu et la dmo a fonctionn pendant les 3
minutes sur scne. Les retours taient assez positifs dans l'ensemble, et l'application va devenir un bon terrain de jeu
pour Olivier, qui va pouvoir peaufiner son algorithme de pattern matching.
Piloter des dispositifs sans fil - FaitMain Magazine - Volume 1 - Fvrier/Avril 2013
2013-02-01
electronique,informatique
avanc
Jonathan Schemoul
Piloter des dispositifs sans fil - FaitMain Magazine - Volume 1 - Fvrier/Avril 2013
Montage dtaill
Niveau dtecteurs :
Un dtecteur d'ouverture de porte
Un dtecteur PIR
Dtecteur PIR
Connexion du rcepteur
Le rcepteur est simple, il suffit de le connecter au courant (+5v et GND) et un pin de l'Arduino ayant une
interruption.
Rcepteur
Voici un petit tableau des interruptions :
Carte
int.0
int.1
int.2
int.3
Uno, Ethernet
Mega2560
21
20
Leonardo
int.4
19
int.5
18
Sur notre Leonardo, si nous voulons connecter notre rcepteur sur l'interrupt 0, il nous faut le connecter sur le pin 3 :
Montage
Montage
Et magie, des codes s'affichent dans le moniteur srie :
Dtection de mouvement
Deux codes
Interprtation
De l garder ces codes et donner une information humainement comprhensible, il n'y a qu'un pas.
Essayons d'envoyer une information utile sur le port srie
#include <RCSwitch.h>
#define couloir 12449942
#define porte 13464924
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.enableReceive(0);
}
void loop() {
if (mySwitch.available()) {
int value = mySwitch.getReceivedValue();
while (!Serial) ;
switch (value) {
case porte:
Serial.println("Quelqu'un a ouvert la porte
La suite ?
Dans la deuxime partie nous verrons comment envoyer des signaux une prise en 433 MHz, et envoyer et recevoir
des signaux entre Arduino selon le mme principe.
Ragissez sur cet article.
2013-01-02
art,informatique
avanc
Marcin Ignac
Tarek Ziad
Note
Cet article est une traduction adapte de l'article de Marcin Ignac originalement paru en anglais sur son blog
cette addresse.
Vous pouvez retrouvez tous les projets de Marcin ici : http://marcinignac.com/projects/category/featured/
Animation procdurale
L'animation procdurale consiste animer des objets en temps rel par le biais d'un ensemble de rgles procdurales,
c'est--dire une description des rgles de fonctionnement du monde physique et un ensemble de conditions initiales.
Ce n'est pas la premire fois que je fais de l'animation procdurale. En fait, toute la Scne dmo en use et abuse. Un
bon exemple est le torus en forme de cactus dans l'introduction de mon projet Borntro.
Le code original de Cindermedusae est en C++ et utilise la bibliothque Cinder mais je dcris dans cet article les ides
de base de l'animation de mduses avec des exemples de code en processing.js, le portage de Processing en
Javascript.
La plupart des exemples sont interactifs et en 2D c'est plus facile comprendre (et dessiner !). Dans quelques cas
je prsente des exemples en 3D et il faut un navigateur compatible WebGL pour que cela fonctionne.
Tte de la mduse
Commenons avec un cercle ou une sphre en 3D, vue du dessus. C'est l'ensemble des points quidistants d'un
point unique, le centre du cercle. Si ce cercle a pour coordonnes (0, 0), et que le rayon du cercle est r, tous les points
du cercles peuvent tre dcrits comme les fonction de l'angle phi, variant de 0 2.
Il y a de meilleures techniques d'animations mais comme Written Images n'tait pas un concours d'animation, j'ai utilis
l'outil le plus simple : sin(). Personne ne verra la diffrence sur des pages statiques de toute faon.
Pour chaque frame o je calcule les positions x et y, je calcule aussi la droite normale la surface.
Ensuite, si l'animation est lance, je dplace le point le long de la normale en utilisant la valeur de la fonction sin() un
instant t . Cette formule dplace les points mais sans rien faire de plus, la tte se mettrait faire des pulsations
comme un cur, en grossissant et rtrcissant car tous les points se dplacent en phase.
C'est pourquoi j'ajoute y * 0.5 t pour introduire un dcalage de phase le long de l'axe Y et la structure en fil de fer
(wireframe ou mesh en anglais) commence bouger d'une manire un peu plus naturelle.
x += normal.x * sin(t + y * 0.5)
y += normal.y * sin(t + y * 0.5)
Tentacules
Problme Etant donn une courbe ou plutt une ligne polygonale, fabriquez un mesh en forme de tube autour de
cette ligne.
Solution On dmarre avec trois vecteurs perpendiculaires :
Forward - gnralement le vecteur normal l'endroit o je veux accrocher la tentacule ou si j'ai l'quation de
la courbe, ce serait le vecteur tangeant.
Up - choisi arbitrairement : (0,1,0) et
Left qui peut tre calcul avec la rgle de la main droite.
La formule de la rgle de la main droite s'applique ainsi :
L = U x F
O x est le produit vectoriel des deux vecteurs trois dimensions.
Pour le deuxime point de notre ligne, on a le nouveau vecteur F' et l'on conserve le mme vecteur L, on peut calculer
le nouveau vecteur U' :
U' = F' x L
En rptant cette opration pour chaque point/segment de la ligne, on obtient une srie de coordonnes pour chaque
vecteur Up, Front et Left.
Rendu final
J'ai utilis une gomtrie de triangles beaucoup plus dense pour le rendu ci-dessus, pour des plus belles courbes et
pour viter des artefacts d'antialiasing.
Rendu final
Ombres procdurales
Lorsque j'ai commenc ce projet, je faisais des essais avec de la Transluminescence et j'avais des rendus assez beaux.
Mais j'ai chang d'avis aprs tre tomb sur le travail de Ernst Haeckel et son livre incroyable : "Kunstformen der
Natur". Je savais que c'tait la bonne voie.
La premire tape est d'utiliser de la lumire diffuse standard juste pour vrifier que mon wireframe est suffisament
lisse et n'a pas de normales au comportement trange.
Hachurage
Il y a beaucoup d'articles de recherche sur les techniques pour avoir un rendu croquis. J'ai bas mon implmentation
sur du code issu du livre OpenGL Shading Language Book
L'algorithme gnre d'abord des traits verticaux avec les coordonnes de texture, puis choisit la densit des traits en
fonction de la lumire diffuse. Moins il y a de lumire, plus la densit des traits augmente.
Un paramtre important pour un beau rendu est de bien choisir l'paisseur des traits : ni trop fin pour ne pas avoir
d'effet de moir, ni trop pais pour ne pas perdre en finesse de rendu.
Un grand rendu hors-cran dans un framebuffer object de 4080 sur 2720 pixels, et l'antialiasing aident beaucoup
choisir la bonne paisseur.
Couleurs
Chaque image est compose de cinq couches :
Paramtrage
J'ai aussi cr une interface graphique de paramtrage trs simple. Cette interface me permet de jouer avec
l'ensemble des paramtres de la simulation et de regarder comment la crature volue en temps rel. Pour les
paramtres qui varient entre une valeur minimale et maximale, l'interface me permet de calibrer ces limites afin de
garder un rendu de mduse raliste.
Interface de paramtrage
La suite ?
J'ai trs envie de continuer le travail sur ce projet. Une amlioration vidente serait d'optimiser le code pour que le
nombre de frames par secondes (FPS) soit correct. Il plafonne actuellement 10 FPS.
Je pensais aussi faire un portage sur WebGL pour que les utilisateurs puissent s'amuser crer leurs propres
cratures en ligne.
Enfin, j'aimerais tendre le systme et jouer avec d'autres types d'organismes ou de plantes.
Ragissez sur cet article.
2013-02-01
informatique,electronique
vulgarisation
Franois Dion
Exemple de circuit fait main reli a un Raspberry Pi, avec un cable fait main.
Une des fonctions qui a contribu au succs du Raspberry Pi, c'est la possibilit d'interface avec le monde extrieur.
On parle ici des GPIO (en anglais les General Purpose Input and Output entres et sorties pour tout usage), qui
se retrouvent au connecteur P1. En fabricant notre propre cble, on pourra se connecter des DELs (diodes
lectroluminescentes), des moteurs ou autres composants physiques.
Au boulot
Nous aurons besoin de 2 connecteurs, et non de 3. Avec un cble comme celui de la photo, on coupe une section avec
des ciseaux :
Faire la dcoupe. Ici, on a mis un connecteur male de 2x13 pour s'assurer de ne pas se tromper d'endroit.
On enlve la partie du dessus, puis la section de cble 14 conducteurs, et puis finalement, aprs avoir fait une
entaille, on enlve la partie de dessous.
Connections
Afin de vrifier le fonctionnement de notre cble, on va faire une connexion de 2 DELs, une rouge et une verte. Pas
besoin de fil ou soudure car on va simplement insrer les DELs dans les trous du cble.
En suivant le diagramme ci dessous :
La patte courte de la DEL rouge et de la DEL verte vont se connecter au troisime trou du cote gauche
La patte longue de la DEL rouge au deuxime trou du cote droit
La patte longue de la DEL verte au troisime trou du cote droit
Le Python
Avant toute chose, on doit se procurer un module Python du nom de RPi.GPIO. C'est un module qui permet de
contrler les GPIO sur un Raspberry Pi. Sur Raspbian, il est maintenant inclus, mais si on utilise une autre version de
Linux, on peut l'installer grce a
easy_install RPi.GPIO
ou bien par apt-get :
$ sudo apt-get install python-rpi.gpio
Crer un fichier portant le nom flashled.py ayant le contenu suivant :
#!/usr/bin/env python
""" 2 DEL qui s'allument en alternance """
import RPi.GPIO as gpio
import time
PINR = 0
PING = 1
PINR est le GPIO pour la DEL rouge (0 pour un Rpi V1 et 2 pour un V2)
PING est le GPIO pour la DEL verte (1 pour un Rpi V1 et 3 pour un V2)
On slectionne le mode Broadcom (BCM), et on active les 2 GPIO comme sorties (OUT). La boucle va alterner entre
DEL rouge allume / DEL verte teinte durant 1 seconde, et DEL rouge teinte / DEL verte allume durant une
seconde (time.sleep(1)). Si on fait un CTRL-C durant l'excution, le programme termine aprs avoir fait le mnage, par
l'entremise de gpio.cleanup().
On y va
Normalement, on doit toujours protger une DEL avec une rsistance, pour limiter le courant. Toutefois, comme les
GPIO ne peuvent fournir que 20mA et que dans ce test on allume les DELs de faon intermittente, on peut ignorer
cette rsistance sans risque dans ce cas particulier.
Pour un usage prolong, on va devoir ajouter une rsistance en srie de 220 a 360 Ohm.
Pour lancer le script que l'on vient de sauver, on doit le rendre excutable, et le lancer avec permission root (sudo),
cause du module RPi.GPIO qui a besoin d'accder en criture /dev/mem :
DEL Rouge
DEL Vert
Ceci conclut notre petit article. Dans un prochain numro, nous allons fabriquer un adaptateur pour plaque de
prototypage.
Ragissez sur cet article.
5 petits trucs sur la photographie culinaire - FaitMain Magazine - Volume 1 Fvrier/Avril 2013
2013-02-01
cuisine,art
vulgarisation
Brin de cuisine
Contrairement ce qu'on croit, raliser une jolie photo culinaire ncessite de la prparation. D'abord, imaginer, et cette
tape doit avoir lieu avant mme d'avoir ralis la recette ! Ensuite, si l'on est tout seul revtir la fois la toque de
cuisinier, les gants des assistants lumire et la casquette de photographe, mieux vaut s'organiser. C'est bien plus facile
plusieurs ...
Note
Retrouvez toutes les recettes sur http://www.brindecuisine.fr
1. Scnariser
Certains plats dlicieux ne sont pas forcement prsentables, il est donc ncessaire d'en tenir compte. Par exemple,
pour un plat mijot, il vous sera ncessaire de veiller soigner le dcoupage de votre viande, ainsi que le parage de
vos lgumes, pour pouvoir les prsenter d'une manire agrable l'il.
Le tajine est un bon exemple. Pour le rendre apptissant, j'ai dispos les morceaux dans une assiette, en otant le jus
de cuisson
Penser aussi ds cette tape l'harmonisation du plat avec la vaisselle et le dcor, que vous pouvez choisir neutre ou
signifiant.
2. clairer
Privilgiez autant que possible la lumire naturelle, c'est elle qui donne les couleurs les plus apptissantes. Dehors ou
derrire une fentre, le soleil permet de multiples clairages. Un voilage servira de diffuseur. Attention la lumire
directe, qui donne des ombres dures.
3. Prparer
Avant de raliser votre photo, faites votre mise en scne avec la vaisselle et accessoires, sans le plat. Cela vous
permettra de vrifier quelle prise de vues est la plus adapte. Variez la focale, les angles et l'orientation de la lumire,
la distance de prise de vues, et si votre appareil se dbraye, la profondeur de champ : ces paramtres ne donnent pas
du tout les mmes effets.
4. Cadrer
La photo culinaire se prte de nombreux styles photographiques. Clair ou sombre, en plan rapproch ou plus loign,
en nature morte ou avec prsence humaine, vous de trouver votre prfr. Ou bien de varier selon les recettes. Voici
quelques exemples :
Clair-obscur.
5. Planifier
Les prparations froides permettent videmment de prendre tout son temps, mais ce n'est pas le cas des plats chauds
dont l'aspect se matifie en refroidissant, le rendant moins apptissant. Il faut donc que tout soit prt avant de mettre
votre prparation dans le cadre de la photo. Je vous conseille de poser votre appareil sur pied, l'allumer, cadrer, et
d'ensuite seulement disposer les lments.
The Midst ?
date:
category:
level:
author:
2013-02-01
art, informatique
vulgarisation
Brenger Recoules
Un arbre rcursif
The Midst est un projet de art-game se jouant en ligne : comme cela arrive souvent aux personnages principaux de
jeux vido, la petite-amie de Hro s'est fait enlever ; cette fois ci ce sont de mchants pixels blancs qui ont fait le coup
(the white meanies) ; en consquence Hro est condamn errer dans un labyrinthe de fentres pop-up en noir et
blanc truff d'obstacles, dans le but de dnicher une sortie et d'alors pouvoir peut-tre retrouver sa dulcine.
Ce jeu se dcline aussi en un atelier et une srie de ressources en ligne permettant de dcouvrir les technologies
luvre : beaucoup de processing.js pour la cration graphique et l'animation, une gnreuse portion de Webpd pour la
synthse sonore en temps rel, un soupon de HTML5 et une pince de jQuery pour faire en sorte que tout cela
fonctionne dans une page web. C'est du coup l'occasion de comprendre comment implmenter une succession de
petits jeux simples allant du pong au casse-brique...
Le code complet du jeu est disponible et consultable en ligne cette adresse : https://github.com/b2renger/TheMidst
Au programme et en vrac : systme particules, physique et vecteurs pour l'animation, interaction, tweening, collisions
non orthogonales, synthse sonore, musique gnrative...
Du point de vue des technologies on utilise des outils libres et gratuits et qui disposent d'une large communaut
d'acteurs internationaux. Cet article va se concentrer sur webpd qui n'est pas encore compltement document alors
que processing.js, lui, dispose dj d'une communaut vibrante et d'une multitude d'exemples de code en ligne.
Pour rappel, Processing est un langage de programmation apparu en 2001 au MIT, qui a pour vocation de faciliter
l'apprentissage de la programmation objet en l'appliquant au dessin, l'animation, l'interaction et la visualisation de
donnes. Aujourd'hui il y a une trs large communaut internationale et le langage permet aussi bien de dvelopper
pour des ordinateurs, que pour des tlphones Android ou encore des navigateurs web.
Pure Data est un langage de programmation visuelle n en 1996, il est la rsultante d'une partie des travaux de Miller
Puckette l'IRCAM : c'est le petit frre libre et gratuit de MAX/MSP. Il permet de crer du code en reliant des botes
entre elles l'aide de fils : c'est un langage de programmation trs utilis pour la cration sonore, mais aussi graphique
ainsi que pour l'interaction.
cran d'accueil
Lorsqu'on clique sur le bouton "start" une fentre pop-up va s'ouvrir : c'est le premier niveau incarn par la fentre
"level-template.html" : partir de ce moment l toutes les ressources seront charges dans cette mme fentre de
200x200 pixels. On se dplace ainsi de niveau en niveau en cherchant o sont les murs et o sont les passages vers
les cases adjacentes.
La source audio.
L'accord est form de deux sons : un oscillateur, et un phasor (forme d'onde en triangle), on utilise la convention MIDI
pour choisir la frquence laquelle vont osciller ces deux sources, l'objet [mtof] permet la conversion de notes midi en
frquences.
2013-02-01
electronique,informatique,art
vulgarisation
Florian Strzelecki
Petite introduction
Alors avec juste quelques hommes, des locaux et un peu de matriel, le LabFab est mis en place, avec diffrents axes
de recherche.
Tout d'abord, que le lieu soit utile aux gens qui viennent. Qu'il serve l'ducation populaire pour accder au numrique,
et aux objets qui touchent ces technologies. Hugues insiste d'ailleurs sur l'approche de consommation actuelle de la
technologie, qui amne selon lui peu d'innovation, et qui bloque l'mergence de nouveaux usages, notamment
dmocratiques.
Aujourd'hui, Internet sort des PCs, mais il reste l'apanage des spcialistes et de ceux qui savent.
L'cole des Beaux Arts formant des tudiants au design, elle cherche obtenir plus d'intgration dans la fabrique de
nouveaux usages, avec les technologies de l'information (rseau, lectronique, communication inter-objets, etc.), dans
les savoirs dispenss.
Ils veulent gnrer une dynamique entre les tudiants et l'usage du LabFab.
On retrouve aussi cette notion de mixit que ce soit pour la ville ou Tlcom Bretagne : comment faire venir autant
des professionnels que Monsieur et Madame tout le monde ? Comment intresser la fois des ingnieurs, des
chercheurs et des spcialistes ? Des jeunes, vieux, amateurs, nophytes et tous les curieux ?
Il y a une relle volont d'attirer tout le monde en mme temps.
Les axes de recherche ne manquent dcidment pas, et Hugues est intarissable sur le sujet. Il me raconte ple-mle
que ce projet apporte un tas de questions, que les gens se posent un tas de question : quel va tre le regard des
experts auprs des amateurs ? Quelles questions est-ce que cela pose, de fabriquer des choses sans brevet, sans
rgles sur la "proprit intellectuelle" ?
Sans compter que si le LabFab s'inscrit dans un environnement local, il y a une volont d'essaimer, de faire qu'un
cosystme international se dveloppe.
En 2012 Montral lors du MakerFair, ce qui se voyait le plus c'tait "tout le monde monte son FabLab" !
Plusieurs "Starter Kit" sont disponibles pour former les gens sur Arduino.
Hugues ayant un emploi du temps de ministre, l'entretien touche bientt sa fin, et il y a encore une question ou deux
que je me pose. La premire, c'est "comment peut-on utiliser le LabFab ?".
Il n'y a pas de rgles trs prcises. Les gens doivent venir avec un projet, c'est dire une phrase qui prsente le
projet et ventuellement un dessin de ce que c'est cens faire, et c'est tout. On ne juge pas des projets, chacun
peut faire ce qu'il a envie, et chacun a accs au matriel du LabFab (kit Arduino pour du prototypage, une
MakerBot, etc.). On demande seulement ce que le porteur du projet partage quelque chose en change.
Intrigu, je lui demande pourquoi cette rgle : pourquoi ne pas simplement imposer une licence ou proposer des
licences libres - puisque c'est le but.
Les gens qui viennent n'ont pas forcment la culture du logiciel libre ou de Creative Commons. Parfois ils ne
savent mme pas que a existe. Alors on leur demande de partager quelque chose : leur produit, une comptence,
un savoir ou une petite partie de leur projet. Certains arrivent et savent tout de suite quelle licence utiliser, mais
la majorit dcouvre le concept en venant ici.
a laisse songeur
Le futur du LabFab
Le succs tant au rendez-vous, Hugues est serein pour l'avenir. Il a prsent un rapport d'activit Rennes
Mtropole le 21 Dcembre dernier, un bilan d'une quarantaine de pages qu'il m'invite tlcharger sur le site du
LabFab une fois publi.
Il est plein d'espoir pour 2013, surtout qu'il a obtenu la cration d'un poste temps plein pour l'anne. Et puis il y a
tellement de projets, et tellement d'expriences tenter.
Le lendemain de notre entretien, je suis pass un atelier sur "Arduino connect", o j'en ai profit pour faire quelques
photos. Il y avait quelque chose de magique voir autour de cette table toutes ces personnes : plusieurs tudiants, un
vieux pp qui a fait de l'lectronique, un couple qui vient en apprendre plus, et tous avec des connaissances et
comptences trs varies.
Si seulement j'avais un peu plus de temps En tout cas, je vous invite franchir les portes de ce FabLab, il y a plein
de bonnes choses.
Ragissez sur cet article.
2013-02-01
electronique,informatique
dcouverte
Tarek Ziad
Le Raspberry-PI Jukebox
Aprs trois mois d'attente interminable, j'ai finalement reu mon Raspberry Pi (R-Pi), accompagn d'un joli T-shirt
Element 14.
J'ai plusieurs projets en tte avec un peu d'lectronique, mais pour me familiariser avec la bte, j'ai dcid de
commencer par un projet simple qui marcherait avec un R-PI nu.
Le projet est un Juke-Box sans fil que je peux trimballer chez moi, qui se connecte mon rseau local en wifi - et qui
fournit une application web o tout le monde peut se connecter pour ajouter des morceaux de musique dans une file
d'attente.
Le projet final est une petite boite qui contient le R-PI et :
une cl USB pour stocker de la musique. J'ai choisi la PNY 16G qui est vraiment toute petite.
un dongle USB wifi. J'ai choisi l'Airlink Nano pour les mmes raisons : il dpasse peine du port USB.
Une batterie USB pour ne pas avoir brancher le R-PI sur le courant ou sur mon ordinateur. J'ai choisi celui-ci
qui s'avre tre beaucoup plus volumineux que le R-PI, mais qui fournit jusqu' 1 ampre de courant - ce qui
couvre les besoins et devrait permettre d'viter avoir recours un Hub USB aliment.
Un mini-speaker. J'ai command le X-Mini II qui est tout simplement incroyable. Ce petit speaker sort un trs bon
son vu sa taille, est auto-aliment et on peut en brancher plusieurs la suite. J'en ai achet un deuxime pour
mon fils et je le recommande chaudement. Dans tous les cas, le Juke-Box peut toujours tre branch sur de
vraies enceintes.
Petit dtail agrable : Le speaker et la batterie USB ont t tous les deux livrs pr-chargs.
La carte SD
Page 59/76 - 2013 FaitMain Magazine - CC-By-NC-SA
Carte SD 4 Gigas
A rception du R-PI, j'ai branch une carte SD qui tranait chez moi et elle ne marchait pas du tout. J'ai contrl que la
carte tait bien alimente avec un multimtre et j'ai test trois autres cartes SD glanes dans les appareils photos de
la famille en me disant que quelque chose clochait ce niveau l.
Avec la dernire carte que j'ai test, le R-PI bootait mais freezait au bout d'un moment avec une -101 error.
Il s'avre que le R-PI est trs sensible au type de carte SD qu'il reoit. Rien voir avec la marque ou le prix de la carte,
ou sa classe. Certaines marchent, certaines de marchent pas...
Le plus simple est de prendre une carte qui est liste ici : http://elinux.org/RPi_VerifiedPeripherals#SD_cards
Je suis all au supermarch du coin et j'ai pris une SanDisk SDHC 4G class 4 7 euros - et tout a fonctionn.
Prparer la carte SD pour le R-PI sous Mac OS X est trs simple. Il y a mme un script Python : RasPiWrite qui
automatise la tche.
J'ai eu quelques bugs avec ce script pour ma part, j'ai donc utilis quelques commandes shell.
J'ai d'abord tlcharg l'image Raspbian officielle. C'est une Debian optimise pour le R-PI :
cd /tmp
wget http://files.velocix.com/c1410/images/raspbian/2012-12-16-wheezy-raspbian/2012-12-16-wheezy-raspbian.zip
unzip 2012-12-16-wheezy-raspbian.zip
Note
La notation rdisk3 est spcifique Mac OS X. Elle permet d'acclerer la procdure. Sous Linux, il faut enlever le
"r".
Une fois que la carte est prte, il suffit de la plugguer dans le R-PI et de le dmarrer avec un cran et un clavier
branchs.
Directory: /media/usbstick/
Playing MPEG stream 1 of 1: 01 Hidden Orchestra - Flight Mixtape.mp3 ...
MPEG 1.0
Title:
Artist:
Comment:
Album:
Year:
Application JukeBox
Pour la partie JukeBox, je comptais crire une petite application web au dessus de mpg123 et je le ferais peut-tre un
jour, mais il en existe dj plusieurs.
Jukebox est crite en Python avec Django et fournit les fonctionnalits de base d'un JukeBox, savoir un affichage
des morceaux prsents et un moyen pour les utilisateurs du rseau d'ajouter des morceaux dans la playlist.
Pour installer JukeBox, il faut un environnement Python/Virtualenv mais aussi la librairie libshout3 qui est utilise par
l'application :
$ sudo apt-get install python-virtualenv libshout3 libshout3-dev pkg-config python-dev
Une fois les paquets systmes installs, il faut crer un virtualenv et y installer ez_setup puis JukeBox :
$
$
$
$
$
2013-02-01
electronique,informatique
moyen
Alcor Walter
2012 a vu l'impression 3D devenir un sujet qui n'intresse plus uniquement les blogs spcialiss et certains geeks au
fond de leur garage ; on entend dire que "monsieur tout le monde" aura bientt une imprimante 3D cot de son
imprimante-jet-d'encre-A4-photo-wifi. L'effet "nouveaut" est rel mme si on ne sait pas encore l'avenir d'un tel
produit. C'est galement l'image industrielle de ses semblables (dcoupe laser, dcoupe plasma, tours numriques,
CNCs etc) qui s'estompe ; on s'imagine possible d'utiliser, voire de construire ou d'acheter ces outils. D'ailleurs on vient
de s'y mettre et voici ce qu'on peut vous dire pour vous accompagner lors de votre lancement :
Dfinition
Une CNC (Computer Numerical Control) ou MOCN (Machine-Outil Commande Numrique) est donc tout d'abord une
machine-outil : elle permet selon ses caractristiques d'effectuer diverses oprations - percer, scier, rectifier,
dcouper, fraiser, plier, graver, tarauder, souder, visser, dposer un matriau, etc - ncessitant des gestes prcis et/ou
Note
Sous la dnomination "CNC" se retrouvent de nombreux dispositifs qui diffrent entre eux principalement par
l'outil qui est utilis. Je prsenterai ici le principe d'une CNC permettant d'usiner par retrait de matire l'aide
de fraises, forets, etc. Cette CNC a t imagine et construite par un particulier qui nous l'avons achete
rcemment. Enfin, ma connaissance du domaine est trs rcente et surtout autodidacte ; je n'ai jamais suivi de
formation et n'ai aucun diplme de technicien d'usinage ou autre.
Possibilits
Les matriaux qui peuvent tre usins sont trs divers, la caractristique principale qui les diffrencie est la duret.
Plus le matriau est dur, plus il faudra que la CNC, ainsi que l'outil qui l'quipe aient la qualit et la puissance
ncessaires pour usiner le matriau. Cependant pour commencer usiner sans forcment aller rapidement, c'est
principalement l'outil et la vitesse de rotation de celui-ci qui vont influer.
Voici une liste non exhaustive de matriaux que l'on peut usiner :
acier
aluminium
laiton
polycarbonate
bois massif
contreplaqu
rsine
mdf
mousse
Dans certains cas, l'usinage requiert de l'huile de coupe, de l'air sous pression, ou autre. Le but recherch est de
refroidir le matriau et l'outil, mais galement de lubrifier pour rduire les frottements et l'usure prmature. L'air
comprim est plus adapt lors de la dcoupe du polycarbonate par exemple pour viter que le matriau fonde et
vienne se recoller sur l'outil ou le matriau. Attention ne pas utiliser n'importe quel produit, pensez d'abord votre
scurit et votre sant. Dans tous les cas, avec ou sans huile de coupe, le port d'un masque, de lunettes de
protection et de bouchons d'oreille est obligatoire si la CNC n'a pas d'quipement vous protgeant des nuisances
(projections de copeaux, de fluide de coupe, fumes, casse, bruit, etc).
En dehors de l'industrie, les domaines d'utilisation d'une CNC sont nombreux, voici quelques exemples : Le modlisme
(ailes et panneaux d'avions, chssis de voiture, lments de btiments), l'lectronique (circuits imprims, botier pour
montages), la rparation (poignes, butes, guides, engrenages), la dcoration, l'bnisterie, la lutherie, la mcanique,
etc.
L'imagination, lexprimentation et la recherche de chacun amneront leur part de nouveaut dans ce domaine.
Structure
Observons techniquement de quoi est compose une CNC, en partant de la table qui accueillera le matriau usiner.
La base est similaire ce qu'on aurait dans le cas d'un usinage manuel : le matriau doit tre solidement fix une
table d'usinage l'aide d'un tau, de butes, de pinces, ou colle, etc, selon les besoins. Parfois la table d'usinage
peut-tre une table aspirante ou un "martyr".
Table aspirante
L'usinage du matriau peut se faire avec un outil (une fraise, un foret, une lame, une pointe graver, etc) dont les
caractristiques sont adaptes au matriau et l'opration raliser. Cet outil est mont sur ce qu'on appelle une
broche, c'est--dire, l'ensemble form par le systme de fixation de l'outil et le moteur permettant la rotation
l'origine de l'usinage.
Tout cela est trs proche de ce qui est mis en place lors d'une opration manuelle. Maintenant voyons comment
l'action de l'homme a t remplace par la commande d'une machine :
Si on usine avec un outil en position verticale, 3 axes (X, Y et Z) suffisent pour le dplacer dans l'espace. Et pour se
reprer dans cet espace orthonorm, on utilisera l'unit de mesure du systme international ou l'unit du systme
anglo-saxon.
De nombreuses CNC ont pour base un chssis rigide sur lequel les diffrents organes de la machine reposent pour
oprer. Essentiellement deux catgories de structures existent : la table mobile et le portique mobile. Dans le premier
cas, le portique est fix sur le chssis en son centre et c'est la table d'usinage qui se dplace sur un axe (X). Dans le
deuxime cas, plus courant, c'est l'inverse : la table est fixe au chssis et le portique se dplace sur l'axe (X) pour
parcourir la table d'usinage. Ce dispositif est moins coteux en espace et se rvle plus versatile, c'est le cas de notre
CNC.
Mcanique
La libert de mouvement est donc gre par ces axes mais il faut encore assurer le dplacement avec force et
prcision ; ceci est possible grce de nombreuses solutions mais je vais expliquer ici la plus populaire : les moteurs
pas pas, les vis billes et les axes supports.
Le moteur pas pas est un moteur dont le fonctionnement est relativement fiable, puissant, prcis mais pas trs
rapide. Lorsque les moyens le permettent, des servomoteurs pas pas sont utiliss, permettant d'avoir une correction
en cas d'erreur - le servomcanisme permettant l'asservissement et la rtroaction (on donne une commande et on
vrifie qu'elle se ralise). Un ou parfois plusieurs moteurs pas pas peuvent tre utiliss pour mouvoir chaque axe.
Les moteurs pas pas et les contrleurs - FaitMain Magazine - Volume 1 Fvrier/Avril 2013
Les moteurs pas pas et les contrleurs - FaitMain Magazine - Volume 1 Fvrier/Avril 2013
Alimentation du contrleur de moteur pas pas
Le contrleur de moteur limite le courant fourni aux bobines par hachage ; il est par
consquent possible d'utiliser une alimentation fournissant une tension suprieure ce que
peut supporter le moteur. Le hacheur limite le courant en fonction du rglage disponible sur le
contrleur de moteur. Sachant que la vitesse de monte du courant la valeur nominale
dcroit l'approche de celle-ci, il est intressant d'utiliser une alimentation capable de fournir
plusieurs fois la tension dont on besoin : le hachage du courant empchera de toute manire
qu'on dpasse les valeurs dsires et on profitera d'une vitesse de monte du courant bien
meilleure ce qui permettra une rponse optimale des moteurs.
Le contrleur de moteur pas pas possde galement une interface de commande compose de 3 fils prenant en
charge une commande chacun, sous forme de niveau logique binaire (0 ou 5V) :
[ENABLE] moteur allum ou teint,
[DIRECTION] direction de rotation horaire ou anti-horaire,
[STEP] rotation de l'axe du moteur d'un pas.
Le moteur peut donc tre :
teint (ENABLE 0V) : aucune autre commande n'est interprte et l'axe du moteur est en rotation libre (on peut
le positionner la main),
ou allum (ENABLE 5V) : en l'absence de commande de rotation, le moteur maintient une position (on ne peut
pas le bouger manuellement) ; lorsqu'une commande de rotation arrive (passage de 0 5V sur le fil [STEP]), le
moteur effectue une unit de rotation dans le sens qui lui est command pas le fil de direction.
La vitesse de rotation du moteur dpend au final de la frquence des commandes sur le fil [STEP]. La documentation
du contrleur est importante pour connatre la dure des impulsions et leur squencement afin de bien optimiser le
contrle du moteur.
La commande numrique
On comprend que le moteur pas pas rpond l'impratif de prcision, mais le principe de commande est trop basique
pour pouvoir tre programm directement par l'homme.
Ds lors, l'interface de commande de chaque contrleur de moteur pas pas sera relie un dispositif numrique afin
de permettre un contrle intelligible et programmable par l'homme.
Ce rle sera tenu soit par l'ordinateur, soit par des systmes ddis cette tche. Une troisime solution intermdiaire
consiste utiliser un ordinateur pour les calculs et l'affichage, coupl un contrleur de CNC pour le pilotage. La
principale contrainte est d'tre capable de dlivrer les commandes au contrleur de moteur (enable/step/direction) de
manire trs rapide et synchrone. L'ordinateur seul ne prsente pas une solution idale ; seul le port parallle permet
de rpondre en partie ces impratifs mais l'architecture matrielle n'est pas optimise pour ce type d'utilisation et un
ralentissement de quelques microsecondes ne peut tre tolr. Complter ou remplacer l'ordinateur par du matriel
ddi est un peu plus coteux mais permet un contrle plus adapt aux contraintes des CNCs.
Note
La norme dcrivant le G-Code est cependant rarement implmente en sa totalit, ni toujours conformment,
et ce pour plusieurs raisons :
d'une part, le langage a t standardis en 1980 aprs 20 ans d'utilisation, et cette norme n'a pas
volue depuis 1980 ; depuis, de nombreux fabricants de machines ont donc adapt le langage leurs
besoins.
d'autre part, l'automatisation des tches de conception et de fabrication a rendu certaines instructions
moins utiles, voir inutiles.
Voici la chane de logiciels que j'utilise ; ces logiciels ont t choisis spcifiquement dans le domaine du libre :
CAO
FAO
HeeksCAD + plugin HeeksCNC. Ce plugin permet le calcul de passages d'outils en partant de modles 2D ou 3D. La
prise en main est plutt ergonomique et le novice s'y retrouve facilement aprs avoir regard un ou deux tutoriaux
vidos. Les oprations d'usinage de poche, de profil, de perage, d'bauche en zigzag, etc sont disponibles mais il reste
des bugs et il manque des oprations. Dommage que le dveloppement semble en pause parce que le plugin est fort
intressant et il n'y a pas beaucoup de concurrent dans le monde libre sur ce crneau. Voir galement PyCam.
Et maintenant ?
Cet article aborde les bases du fonctionnement d'une CNC 3 axes pour hobbyiste ; il reste ensuite apprendre les
techniques d'usinage ainsi que la conception et la fabrication assists par ordinateur. Ne pas oublier que c'est un
mtier avant tout, ce qui n'empche pas, avec du srieux et des prcautions, d'attaquer le sujet sous divers angles. Sur
internet on trouve assez facilement des informations et de l'aide :
Plusieurs communauts existent, comme par exemple usinages.com ou pour les anglophones : cnczone.com.
Les sites des fabricants d'outils et des logiciels de CAO/FAO (principalement dans la communaut du libre) ont souvent
des ressources trs bien faites et compltes. Consultez la documentation de LinuxCNC, qui va bien au del de
l'utilisation du logiciel et donne de nombreuses rfrences, explications et exemples.
Enfin, le dtournement d'un tel outil est bien sr possible, jetez un oeil sur hackaday.com par exemple !
Ragissez sur cet article.
A propos
Le projet
Fait Main est un magazine en ligne conu par des bnvoles passionns par la bidouille en gnral.
Plus d'infos dans l'dito du premier numro.
Fait Main n'a pas de structure officielle, bien qu'il soit question de monter une association but non lucratif.
Les articles sont protgs par la licence CC-By-NC-SA 3.0 et le site web est en licence Apache v2.0
Le projet est fond et maintenu par Tarek Ziad mais Fait Main est un projet open-source et a pour vocation de
construire une communaut de contributeurs, que ce soit pour l'criture d'articles, les relectures ou la conception et la
mise jour du site (code ou design)- ou tout simplement pour proposer un sujet ou un auteur.
Si vous avez envie de participer il suffit de vous inscrire sur la mailing list et de vous prsenter - ou bien de forker un
de nos repositories sur Github.
N'oubliez pas de lire le guide l'usage des auteurs
Vous pouvez aussi contacter Tarek : tarek@faitmain.org
Le site web
Le site web est un site statique gnr avec le moteur kompost, un script Python cr pour l'occasion, et des
templates Mako.
Le contenu est au format reStructuredText. Ce format permet de gnrer les pages html mais aussi le PDF (spartiate),
et dans le futur un ePub, voir un magazine papier au format un peu plus lch.
Le site utilise Bootstrap pour un rendu correct sur tous les priphriques. Les icnes sont de chez Glyphicons.
Le design est un deriv du thme Amelia du projet Bootswatch de Thomas Park. Les polices de caractres viennent de
Google Fonts
Chaque lien sortant est transform en short link avec https://github.com/faitmain/short.faitmain.org. Cette redirection
permet de corriger d'ventuels liens casss de manire centralise.
Avis
Fait Main ajoute tous les liens vers Amazon.fr un tag de rfrencement, qui rapporte au magazine un petit
pourcentage des ventes ralises si vous achetez sur cette boutique quelque chose. A terme, l'ide serait de
voir si ce rfrencement permet de couvrir les frais d'hbergement du site.
Conscients que c'est une option opt-out - nous envisageons aussi un modle de dons, et les liens sont pour
l'instant exprimentaux.
Le moteur de recherche est un web service crit avec Cornice, bas sur Xapian, appel en Javascript depuis l'cran de
recherche. La base Xapian est mise jour chaque modification de contenu.
Le PDF
Le PDF est gnr grce rst2pdf, qui lui mme utilise ReportLab.
La mise en page est spartiate mais suffisante pour une lecture sur cran.
Informations lgales
Magazine publi en France. Numro ISSN: 2261-8376.
Contact & adresse:
Tarek Ziad - tarek@faitmain.org 6 rue de l'Eglise 21540 Turcey France
diteur - Tarek Ziad