Rendu 3D sur l'écran d'un Nokia 5110
-
<p>Salut Melinyel !<br/>
J'étais en train de me demander quoi faire de mon <a href="http://www.ebay.com/itm/400560839534?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT" rel="external nofollow">écran de Nokia 5110</a> acheté sur les bons conseils d'Oxodao (ils coûtent moins de 3$ sur ebay),<br/>
quand je me suis dit qu'écrire un petit script pour faire le rendu d'objets 3D en fil de fer pouvait être extrêmement sympatique
.<br/>
Voici le résultat de mes expériences en vidéo (c'est "tourné" avec les moyens du bord ne faites pas attention à la clef USB qui sert de support...) :<br/>
https://www.youtube.com/watch?v=LCFElyREi2c<br/>
<br/>
Pour faire la même chose vous avez simplement besoin d'une Arduino UNO, de l'écran d'un Nokia 5110 recyclé pour bidouilleurs, de quelques cables pour breadboard et d'effectuer les branchements comme suit (oui je suis gentil je fais des jolis schémas -_- ) :<br/></p><p></p><blockquote class="ipsStyle_spoiler" data-ipsspoiler=""><img alt="1439125157-aw3r-wiring2.png" src="<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2015/32/1439125157-aw3r-wiring2.png"/></blockquote><p><br/>
<br/>
Ensuite, vous pouvez récupérer mon programme pour l'arduino <a href="https://github.com/cylgom/aw3r/blob/master/aw3r.ino" rel="external nofollow">sur github</a>.<br/>
Par défaut il contient le même modèle que sur la vidéo (merci blender :rolleyes: ), mais si vous êtes sous linux vous pouvez le changer !<br/>
<br/>
J'ai aussi écrit <a href="https://github.com/cylgom/aw3r/blob/master/arrobj.sh" rel="external nofollow">un petit script bash</a> pour convertir n'importe quel .obj en code utilisable par mon sketch arduino.<br/>
il vous suffit de l'exécuter en précisant un fichier .obj en argument, par exemple :</p>
<pre class="ipsCode prettyprint">sh arrobj.sh ./icosphere.obj
</pre>
<p>Et il donnera le code à coller dans la "copy-paste zone" du sketch arduino :<br/>
</p><p></p><blockquote class="ipsStyle_spoiler" data-ipsspoiler="">
<pre class="ipsCode prettyprint">X>=- Starting .OBJ conversion -=<X
X>=- This script only supports triangular faces -=<X
X>=- Remember to triangulate your object before exporting -=<Xconst unsigned char dots = 12;
const unsigned char faces = 20;
float objDotsMod[dots][3] = {};
const float objDots[dots][3] = {
{0.000000, -1.000000, 0.000000},
{0.723600, -0.447215, 0.525720},
{-0.276385, -0.447215, 0.850640},
{-0.894425, -0.447215, 0.000000},
{-0.276385, -0.447215, -0.850640},
{0.723600, -0.447215, -0.525720},
{0.276385, 0.447215, 0.850640},
{-0.723600, 0.447215, 0.525720},
{-0.723600, 0.447215, -0.525720},
{0.276385, 0.447215, -0.850640},
{0.894425, 0.447215, 0.000000},
{0.000000, 1.000000, 0.000000}
};
unsigned char objFaces[faces][3] = {
{1, 2, 3},
{2, 1, 6},
{1, 3, 4},
{1, 4, 5},
{1, 5, 6},
{2, 6, 11},
{3, 2, 7},
{4, 3, 8},
{5, 4, 9},
{6, 5, 10},
{2, 11, 7},
{3, 7, 8},
{4, 8, 9},
{5, 9, 10},
{6, 10, 11},
{7, 11, 12},
{8, 7, 12},
{9, 8, 12},
{10, 9, 12},
{11, 10, 12}
};
</pre>
<p></p></blockquote><p></p><p><u>Il convient par contre de prendre quelques précautions :</u></p>
<p>> Premièrement, le script bash ne supporte que les faces triangulaires, assurez-vous de ne pas avoir de faces carrées dans votre fichier obj !</p>
<p> Sous blender, il vous suffit d'appuyer sur la touche espace et de chercher la commande triangulate pour être sur.</p>
<p>> Deuxièmement, attention à ne pas charger des fichiers trop gros. De toute façon arduino ne le compilera pas s'il prend trop de mémoire.</p>
<p>> Dernière précaution, attention à ne pas charger d'objets avec des coordonnées comportant trop de chiffres avant la virgule.</p>
<p> Les variables seront trop petites pour les contenir, et vous ne le verriez de toute façon pas sur l'écran si tous ses points dépassent 100 en coordonnées.</p>
<p> </p>
<p>Je ne vais pas détailler le fonctionnement de la chose pour l'instant, mais si ça vous intéresse dites-le moi je rédigerais peut-être une explication détaillée B) .</p>
<p>En tous cas je vous recommande vraiment cet écran il est très facile à bidouiller, si vous avez 3$ à dépensez achetez-le vous ne le regretterez pas.</p>
<p></p> -
<p>Stylé !</p>
<p>Bravo à toi !
</p>
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
</p>