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. [Cours n°3] Programmons un écran LCD : les bases

[Cours n°3] Programmons un écran LCD : les bases

Scheduled Pinned Locked Moved Arduino
7 Posts 4 Posters 5.2k 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.
  • LeplayzeL
    LeplayzeL
    Leplayze
    wrote on last edited by
    #1

    <p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;">Bonjour à tous ! </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"> </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;">Un nouveau tutoriel arduino, cette fois-ci sur ce genre de petit bijou <strong>INDISPENSABLE</strong> si on veut faire mumuse avec son arduino !</p><p><span style="font-size:14px;"><span style="color:rgb(0,0,0);font-family:sans-serif;text-align:justify;background-color:rgb(239,243,249);">Les afficheurs à cristaux liquides, autrement appelés afficheurs LCD (Liquid Crystal Display), sont des modules compacts intelligents et nécessitent peu de composants externes pour un bon fonctionnement. Ils consomment relativement peu (de 1 à 5 mA), sont relativement bons marchés et s'utilisent avec beaucoup de facilité.</span></span></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"><img alt="Arduino-lcd%2016x2.jpg" src="<base_url>/applications/sslimageproxy/interface/image.php?url=http://colmard.com/images/Arduino-lcd 16x2.jpg"/></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"><img alt="lcd_pinout.png" src="<base_url>/applications/sslimageproxy/interface/image.php?url=http://www.aurel32.net/elec/lcd_pinout.png"/></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;text-align:center;"><span style="font-size:18px;font-weight:600;text-align:center;">--------------- Partie électrique ----------------</span></p><p> </p><p>Bien plus simple que le tutoriel précédent : Il n'y a que du câblage 😛 </p><p> </p><p><img alt="8SP48.png" src="https://puu.sh/8SP48.png"/></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;">Et voilà le petit schémas fait par mes soins. Il y a 3 types de commande pour un LCD : 8Bits, 4Bits(Que j'utilise ici) et série.</p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"> </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"><strong><span style="color:rgb(0,0,0);font-family:sans-serif;font-size:17px;">Mode 8 bits :</span></strong></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"> </p><p style="text-align:justify;color:rgb(0,0,0);font-family:sans-serif;font-size:12px;"><span style="font-size:12px;">Dans ce mode 8 bits, les données sont envoyées à l'afficheur sur les broches D0 à D7. On place la ligne RS à 0 ou à 1 selon que l'on désire transmettre une commande ou une donnée. Il faut aussi placer la ligne R/W à 0 pour indiquer à l'afficheur que l'on désire effectuer une écriture. Il reste à envoyer une impulsion d'au moins 450 ns sur l'entrée E, pour indiquer que des données valides sont présentes sur les broches D0 à D7. L'afficheur lira la donnée sur le front descendant de cette entrée.</span></p><p style="text-align:justify;color:rgb(0,0,0);font-family:sans-serif;font-size:12px;"><span style="font-size:12px;">Si on désire au contraire effectuer une lecture, la procédure est identique, mais on place cette fois la ligne R/W à 1 pour demander une lecture. Les données seront valide sur les lignes D0 à D7 lors de l'état haut de la ligne E.</span></p><p style="text-align:justify;color:rgb(0,0,0);font-family:sans-serif;font-size:12px;"><span style="font-size:10px;">(source: aurel32)</span></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"> </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"><strong><span style="color:rgb(0,0,0);font-family:sans-serif;font-size:17px;">Mode 4 bits :</span></strong></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"> </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"><span style="font-size:12px;">C'est celui que l'on utilise le plus, pourquoi ? Parce qu'il n'y a que 4 broches à connecté à l'arduino, et croyez moi, 4 broches au lieu de 8 c'est énorme ! On utilise les bits de D4 à D7.</span></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;">Je vous ai parler de lecture plus haut, on ne lira jamais notre LCD dans ce tutoriel, tout simplement car je n'en ai jamais eu l'utilité jusqu'à présent. Donc on peut relié R/W à la masse.</p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"> </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;">Voilà pour la théorie, Ah oui j'oubliais ! Le potentiomètre (Résistance variable) est là pour gérer l'éclairage du lcd. Il n'est pas obligatoire, si vous n'en avez pas, mettez V0 à la masse.</p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"> </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;text-align:center;"><span style="font-weight:600;font-size:18px;text-align:center;">--------------- Partie programmation --------------</span></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;">La question que vous posez sans doute est : Que peut-on faire sur un lcd ? Et bien c'est simple ... Un pénis animé évidemment !</p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"> </p><div class="ipsEmbeddedVideo" contenteditable="false"><div><iframe allowfullscreen="true" data-embed-src="https://www.youtube.com/embed/RWnDYdIin4Q?feature=oembed" frameborder="0" height="344" src="//melinyel.net/applications/core/interface/js/spacer.png" width="459"></iframe></div></div><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;text-align:center;"> </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;text-align:center;">Voici l'une de mes réalisations en cours ... Pas de tuto la dessus par contre, c'était pas en C mais en JAL et sur un autre µcontrolleur qu'arduino ...</p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;">Bref trêve de plaisanterie, voici quelques idée : Un ping pong(un vrai jeu avec de vrai bouton), une histoire animé, une horloge, tout simplement des informations sur votre code, des menus etc... y'a tellement de trucs amusants à faire sur un lcd !</p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"> </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"><img alt="8STgF.png" src="https://puu.sh/8STgF.png"/></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"> </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;">Voici les fonction de base tout est expliqué dans le code, n'hésitez pas si vous avez des questions 🙂 </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"> </p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"><span style="color:#ff0000;"><strong>/!\ J'oublie de préciser une chose importante ! Vous devez absolument respecter les ";", majuscules etc... sinon votre code ne fonctionnera JAMAIS.</strong></span></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;"><span style="color:#ff0000;"><strong>Par exemple : lcd.setCursor =/= lcd.setcursor</strong></span></p><p style="color:rgb(40,40,40);font-family:Helvetica, helvetica, arial, sans-serif;text-align:center;">C'est terminé pour les bases après on attaquera du lourd, on fera bouger les lettres et oui !  :ph34r: </p>

    Citation:
    Envoyé par Moi même
    Il parait que je suis un type horrible mais ce n'est pas vrai : j'ai le coeur d'un enfant..... dans un bocal...sur mon bureau.
     

    http://myanimelist.net/animelist/Leplayze

    1 Reply Last reply
    3
    • mars073M
      mars073M
      mars073
      wrote on last edited by
      #2

      <p>Sympa,</p><p>tu aurais due ept-être mettre le script de l'animation de la vidéo 😉 </p>

      Aide à l'apprentissage et la réalisation pour des graphismes, des programmes, des sites ou autres.Signature aléatoire, proposez vous aussi une signature ici!

      1 Reply Last reply
      0
      • LeplayzeL
        LeplayzeL
        Leplayze
        wrote on last edited by
        #3

        <p>Je vais t'avouer que je ne l'ai plus  <_< </p>
        <p>J'ai codé ça sur un pc qui ne lis pas un foutus disque dur externe ... Avec une version windows 2000 ... </p>

        Citation:
        Envoyé par Moi même
        Il parait que je suis un type horrible mais ce n'est pas vrai : j'ai le coeur d'un enfant..... dans un bocal...sur mon bureau.
         

        http://myanimelist.net/animelist/Leplayze

        1 Reply Last reply
        0
        • mars073M
          mars073M
          mars073
          wrote on last edited by
          #4

          <p>Je vais l'ajouter en option sur mon programme. x)</p>

          Aide à l'apprentissage et la réalisation pour des graphismes, des programmes, des sites ou autres.Signature aléatoire, proposez vous aussi une signature ici!

          1 Reply Last reply
          0
          • CyrionC
            CyrionC
            Cyrion
            wrote on last edited by
            #5

            <p>Tu aurais pu ajouter aussi que tu utilises un potentiomètre pour régler le blacklight sur ton écran LCD</p>

            1 Reply Last reply
            0
            • LeplayzeL
              LeplayzeL
              Leplayze
              wrote on last edited by
              #6

              <p>Peux pas, c'est du matériel de cours, le branchement ce fait via des genres de câbles style SATA ...</p>

              Citation:
              Envoyé par Moi même
              Il parait que je suis un type horrible mais ce n'est pas vrai : j'ai le coeur d'un enfant..... dans un bocal...sur mon bureau.
               

              http://myanimelist.net/animelist/Leplayze

              1 Reply Last reply
              0
              • AzadA
                AzadA
                Azad
                wrote on last edited by
                #7

                <p><strong>Message automatique</strong></p><p></p><p>Le sujet a été déplacé de « <a data-ipb="nomediaparse" href="<base_url>/forum/38-programmation/">Programmation</a> → <a data-ipb="nomediaparse" href="<base_url>/forum/43-c/">C</a> » to « <a data-ipb="nomediaparse" href="<base_url>/forum/51-informatique/">Informatique</a> → <a data-ipb="nomediaparse" href="<base_url>/forum/85-hardware/">Hardware</a> → <a data-ipb="nomediaparse" href="<base_url>/forum/155-arduino/">Arduino</a> ».</p>

                Administrateur du forum.
                Contactez-moi par message privé ou par mail.

                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