Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. Informatique
  3. Hardware / Electronique
  4. Arduino
  5. Rendu 3D sur l'écran d'un Nokia 5110

Rendu 3D sur l'écran d'un Nokia 5110

Scheduled Pinned Locked Moved Arduino
4 Posts 3 Posters 3.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • cylgomC
    cylgomC
    cylgom
    wrote on last edited by
    #1

    <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&amp;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 -=<X

    const 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>

    dreaming in the metatunnel
    site perso : cylgom.net
    toxid : [email protected]

    1 Reply Last reply
    1
    • vfrzV
      vfrzV
      vfrz
      wrote on last edited by
      #2

      <p>Le rendu est vachement cool ! GG à toi 😛 </p>

      1 Reply Last reply
      0
      • cylgomC
        cylgomC
        cylgom
        wrote on last edited by
        #3

        <p>merci 😄 </p>

        dreaming in the metatunnel
        site perso : cylgom.net
        toxid : [email protected]

        1 Reply Last reply
        0
        • E
          E
          Eloha
          Membre d'honneur
          wrote on last edited by
          #4

          <p>Stylé !</p>
          <p>Bravo à toi ! 🙂 </p>

          1 Reply Last reply
          0

          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
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Login or register to search.
          Powered by NodeBB Contributors
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups