<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.digitalspirit.org/blog/index.php/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>DigitalSpirit - Tag - rs232</title>
  <link>http://www.digitalspirit.org/blog/index.php/</link>
  <atom:link href="http://www.digitalspirit.org/blog/index.php/feed/tag/rs232/rss2" rel="self" type="application/rss+xml"/>
  <description>Blog personnel de Charles Rincheval contenant des descriptions de projets réalisés dans les domaines du logiciels libres en encore dans des développements de systèmes embarqués</description>
  <language>fr</language>
  <pubDate>Mon, 06 Feb 2012 16:31:19 +0100</pubDate>
  <copyright>© 2008 Charles Rincheval. Ce billet a été originellement publié sur le site www.DigitalSpirit.org</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Fabriquer un sniffer série compatible 3V / 5V</title>
    <link>http://www.digitalspirit.org/blog/index.php/post/2011/05/06/Fabriquer-un-sniffer-s%C3%A9rie-compatible-3V-/-5V</link>
    <guid isPermaLink="false">urn:md5:fbb8bcd78920d6159bceaf81b96e3448</guid>
    <pubDate>Fri, 06 May 2011 12:45:00 +0200</pubDate>
    <dc:creator>hugo</dc:creator>
        <category>Electronique</category>
        <category>bus pirate</category><category>diy</category><category>espion</category><category>rs232</category><category>rx</category><category>sniffer</category><category>série</category><category>tx</category><category>uart</category>    
    <description>    &lt;p&gt;Lors du développement d'interface série, il est toujours utile de savoir qui dit quoi, qu'envoi l'hôte à l'esclave, qu'envoi l'esclave à l'hôte, ça se fait très bien avec 2 interfaces séries mais encore faut-il en avoir 2, pour des signaux compatibles RS232 fluctuant entre -12V et +12V, pas de souci avec l'aide de 2 diodes comme dans le schéma ci-dessous, par contre, cela se corse lorsque les signaux sont à des niveaux TTL, voir en 3V.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.digitalspirit.org/blog/public/rs232_sniffer.png&quot; title=&quot;rs232 sniffer&quot;&gt;&lt;img src=&quot;http://www.digitalspirit.org/blog/public/.rs232_sniffer_m.jpg&quot; alt=&quot;rs232 sniffer&quot; title=&quot;rs232 sniffer, mai 2011&quot; /&gt;&lt;/a&gt; (image de &lt;a href=&quot;https://embeddedfreak.wordpress.com/2008/08/17/rs232-serial-sniffermonitoring-circuit/&quot; hreflang=&quot;en&quot; title=&quot;Embedded Freaks&quot;&gt;Embedded Freaks&lt;/a&gt;)&lt;/p&gt;


&lt;p&gt;Mes essais avec des diodes rapides n'ont rien donné pour des tensions de 3 ou 5V, j'ai donc cherché une autre méthode pour coupler les lignes RX et TX, j'ai alors fouillé dans mes tiroirs et ai fini par dégoter un CD4001 (une quadruple porte NOR) qui attendait son tour, mais rien n'y a fait, cette série est bien trop lente, il me fallait du HEF, appel des réparateurs du coin, rien, passage express chez un pote, non plus, que des CD40XX, enfin, mon salut à été mon ancien lycée qui a pu me fournir un HEF4001 (fin de la paranthèse, «&amp;nbsp;aventure pour un CMOS ») et là, aucun souci, la porte est suffisamment rapide, cela fonctionne parfaitement bien&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Voici le schéma de principe&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.digitalspirit.org/blog/public/rs232_sniffer_cmos.png&quot; title=&quot;Rs232 sniffer Cmos&quot;&gt;&lt;img src=&quot;http://www.digitalspirit.org/blog/public/.rs232_sniffer_cmos_m.jpg&quot; alt=&quot;Rs232 sniffer Cmos&quot; title=&quot;Rs232 sniffer Cmos, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;On oublie pas d'alimenter le CI et ça roule, on connecte les entrées RX et TX sur les lignes de données à sniffer et on retrouvera en sortie le mix des 2 permettant ainsi de voir les commandes envoyées par l'un et l'autre dans le bon ordre, rien de tel pour débugguer tranquillement...
Notez que j'ai utilisé une quadruple porte NOR mais vous pouvez bien sûr utiliser n'importe quelle portes combinées ensemble du moment qu'au final, votre montage réalise bien une fonction OU, le mieux étant de se procurer un HEF4071 (quadruple porte OU) et éventuellement utilisé les portes restantes en buffer.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.digitalspirit.org/blog/public/rs232_sniffer_montage.jpg&quot; title=&quot;rs232 sniffer montage&quot;&gt;&lt;img src=&quot;http://www.digitalspirit.org/blog/public/.rs232_sniffer_montage_m.jpg&quot; alt=&quot;rs232 sniffer montage&quot; title=&quot;rs232 sniffer montage, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Utilisé conjointement avec un &lt;a href=&quot;http://dangerousprototypes.com/docs/Bus_Pirate&quot; hreflang=&quot;en&quot; title=&quot;Bus Pirate&quot;&gt;Bus Pirate&lt;/a&gt;, on connecte l'alimentation du CMOS sur les broches GND et +5V du Bus Pirate, on active la ligne +5V (commande W), puis on branche la sortie de notre montage sur l'entrée RX (MISO), on entre dans le mode UART, on configure le tout, vitesse, etc...on bascule en mode «&amp;nbsp;&lt;a href=&quot;http://dangerousprototypes.com/docs/UART#Live_UART_monitor&quot; hreflang=&quot;en&quot; title=&quot;Live UART Monitor&quot;&gt;Live UART Monitor&lt;/a&gt;&amp;nbsp;» et voilà, vous verrez alors défilez toutes les données circulant dans les lignes RX et TX de votre liaison série...&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.digitalspirit.org/blog/public/rs232_sniffer_buspirate.jpg&quot; title=&quot;Rs232 sniffer Bus Pirate&quot;&gt;&lt;img src=&quot;http://www.digitalspirit.org/blog/public/.rs232_sniffer_buspirate_m.jpg&quot; alt=&quot;Rs232 sniffer Bus Pirate&quot; title=&quot;Rs232 sniffer Bus Pirate, mai 2011&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.digitalspirit.org/blog/index.php/post/2011/05/06/Fabriquer-un-sniffer-s%C3%A9rie-compatible-3V-/-5V#comment-form</comments>
      <wfw:comment>http://www.digitalspirit.org/blog/index.php/post/2011/05/06/Fabriquer-un-sniffer-s%C3%A9rie-compatible-3V-/-5V#comment-form</wfw:comment>
      <wfw:commentRss>http://www.digitalspirit.org/blog/index.php/feed/atom/comments/1433</wfw:commentRss>
      </item>
    
  <item>
    <title>Librairie Arduino pour afficheur Oled : Oled4d</title>
    <link>http://www.digitalspirit.org/blog/index.php/post/2009/12/14/Librairie-pour-afficheur-Oled4d-Arduino</link>
    <guid isPermaLink="false">urn:md5:c1bdee6d17f20c6370a11b09e3ebece9</guid>
    <pubDate>Mon, 21 Dec 2009 11:09:00 +0100</pubDate>
    <dc:creator>hugo</dc:creator>
        <category>Electronique</category>
        <category>4d system</category><category>arduino</category><category>diy</category><category>gpl</category><category>libre</category><category>logiciel libre</category><category>oled</category><category>Oled 4d</category><category>Planet-Libre</category><category>rs232</category><category>série</category>    
    <description>    &lt;p&gt;
&lt;a href=&quot;http://www.digitalspirit.org/blog/public/oled_4d.png&quot;&gt;&lt;img title=&quot;Oled 4D, déc. 2009&quot; alt=&quot;&quot; src=&quot;http://www.digitalspirit.org/blog/public/oled_4d.png&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://www.digitalspirit.org/blog/public/oled_4d_verso.jpg&quot;&gt;&lt;img title=&quot;Oled 4D, déc. 2009&quot; alt=&quot;&quot; src=&quot;http://www.digitalspirit.org/blog/public/oled_4d_verso.jpg&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Voici une librairie libre de gestion d'afficheur &lt;acronym title=&quot;Organic light-emitting diode&quot;&gt;&lt;a href=&quot;http://fr.wikipedia.org/wiki/Diode_%C3%A9lectroluminescente_organique&quot; hreflang=&quot;fr&quot;&gt;OLED&lt;/a&gt;&lt;/acronym&gt; de la société &lt;a href=&quot;http://www.4dsystems.com.au/&quot; hreflang=&quot;en&quot;&gt;4D Systems&lt;/a&gt; pour &lt;a href=&quot;http://arduino.cc/&quot; hreflang=&quot;en&quot;&gt;Arduino&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
Comme leur nom l'indique très bien, ils utilisent la technologie &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Diode_%C3%A9lectroluminescente_organique&quot;&gt;OLED&lt;/a&gt; avec tous les avantages de cette technologie : pas besoin d'un rétroéclairage, ils ont un angle de vue de 180°, bonne consommation, très bon contraste, vous pouvez les trouver entre autres chez &lt;a href=&quot;http://www.lextronic.fr/P4470-afficheur-oled-couleur-uoled128-g1.html&quot; hreflang=&quot;fr&quot;&gt;Lextronic&lt;/a&gt; ou encore chez &lt;a href=&quot;http://www.sparkfun.com/commerce/product_info.php?products_id=8537&quot; hreflang=&quot;en&quot;&gt;Sparkfun&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Le jeu d'instructions n'est pas toujours très logique mais est assez complet, le principal défaut de ces afficheurs est le prix, à 65€ l'unité, j'imagine mal comment espérer faire de la petite série...
&lt;/p&gt;
&lt;p&gt;Ces afficheurs sont pilotables directement par le biais d'une connection série dans lequel on envoie directement des commandes d'assez hauts niveaux :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set Background Color&lt;/li&gt;
&lt;li&gt;Put Pixel&lt;/li&gt;
&lt;li&gt;Erase Screen&lt;/li&gt;
&lt;li&gt;Draw Rectangle&lt;/li&gt;
&lt;li&gt;Place String of ASCII Text&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Ils disposent également d'un port microSD permettant ainsi de charger des images ou encore des bouts de programmes, attention cependant, car n'espérez pas mettre des images jpg dans la microSD ou autre et les afficher comme ça, d'un coup, ça ne fonctionnera pas, tout d'abord, car le chip de 4D ne gère pas les images compressées mais uniquement des champs de bits et surtout car il n'y a aucune gestion de FAT gérée par le controleur, ainsi, il est possible d'accéder au contenu de la microSD depuis votre programme mais uniquement en brut : à nous de gérer la couche du système de fichiers... &lt;/p&gt;
&lt;h2&gt;Tester la libraire&lt;/h2&gt;
&lt;p&gt;Voici la marche à suivre pour tester cette librairie avec Arduino (&lt;ins&gt;la librairie peut parfaitement fonctionner hors du projet Arduino...&lt;/ins&gt;) :&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;
Créer un dossier Oled4d dans le dossier Libraries de votre installation Arduino et copiez dedans le fichier Oled4d.h.&lt;/li&gt;
&lt;li&gt;Créez un nouveau projet Arduino et copiez le contenu du fichier oled4d.pde dedans.&lt;/li&gt;
&lt;li&gt;Compilez le source, envoyez dans la cible et voilà, vous devriez avoir quelque chose de ce genre s'afficher :&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;http://www.digitalspirit.org/blog/public/arduino_oled4d.jpg&quot;&gt;&lt;img title=&quot;Arduino avec afficheur Oled de 4DSystems, déc. 2009&quot; alt=&quot;&quot; src=&quot;http://www.digitalspirit.org/blog/public/.arduino_oled4d_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Oui, il s'agit bien de Tux ! ;)&lt;/p&gt;
&lt;h2&gt;Comment ça fonctionne ?&lt;/h2&gt;
&lt;p&gt;
Voici un petit bout de code :
&lt;/p&gt;
&lt;pre&gt;// Créer l'objet en interface série logiciel&lt;br /&gt;Oled4dSoft oled = Oled4dSoft(serial, 8);&lt;br /&gt;&lt;br /&gt;// Pour utiliser l'uart « hardware », procéder ainsi :&lt;br /&gt;//Oled4dHard oled = Oled4dHard(Serial, OLED_RESET_PIN);&lt;br /&gt;&lt;br /&gt;// Initialise l'écran&lt;br /&gt;oled.init();&lt;br /&gt;&lt;br /&gt;// Efface l'écran&lt;br /&gt;oled.clear();&lt;br /&gt;&lt;br /&gt;// Dessine un cercle&lt;br /&gt;oled.drawCircle(64, 64, 20, RGB(255, 255, 0));&lt;br /&gt;&lt;br /&gt;// Affiche du texte&lt;br /&gt;oled.drawText(1, 3, SMALL, GREEN, &quot;Hello world !&quot;);&lt;/pre&gt;
&lt;p&gt;
Voilà, je pense que l'exemple est assez explicite et logique...
&lt;/p&gt;
&lt;p&gt;
Vour remarquerez qu'il est possible de passer par l'uart intégré à l'Atmel ou de passer par l'uart logiciel avec la libraire &lt;a href=&quot;http://arduiniana.org/libraries/NewSoftSerial/&quot; hreflang=&quot;en&quot;&gt;NewSoftSerial&lt;/a&gt; (cette librairie dispose de fonctions avancées et est bien supérieure à la librairie d'uart fourni par défaut dans le projet Arduino).
&lt;/p&gt;
&lt;h2&gt;Démo&lt;/h2&gt;
&lt;p&gt;
Voici une petite démo affichant en vrac des lignes, des triangles, des cercles, des polygones, des rectangles...
&lt;br /&gt;
La vidéo reflète assez mal les couleurs de l'écran qui sont bien vives en réel.
&lt;/p&gt;
&lt;div class=&quot;external-media&quot; style=&quot;margin: 1em auto; text-align: center;&quot;&gt;
&lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;http://www.vimeo.com/moogaloop.swf?clip_id=8001458&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;color=00ADEF&amp;amp;fullscreen=1&quot; height=&quot;302&quot; width=&quot;400&quot;&gt;	&lt;param name=&quot;quality&quot; value=&quot;best&quot; /&gt;
&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot; /&gt;
&lt;param name=&quot;scale&quot; value=&quot;showAll&quot; /&gt;
&lt;param name=&quot;movie&quot; value=&quot;http://www.vimeo.com/moogaloop.swf?clip_id=8001458&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;color=00ADEF&amp;amp;fullscreen=1&quot; /&gt;
&lt;p&gt;Écran Oled de 4D System piloté par Arduino&lt;/p&gt;
&lt;/object&gt;
&lt;/div&gt;
&lt;h2&gt;Futures évolutions&lt;/h2&gt;
&lt;p&gt;
Actuellement, cette librairie supporte uniquement les instructions standards (General Command Set), les autres (Extended Command Set), qui permettent entre autre un accès au contenu de la microsd, ne sont pas encore gérées mais le plus gros du travail est fait...
&lt;/p&gt;
&lt;h2&gt;Téléchargement&lt;/h2&gt;
&lt;p&gt;
Cette librairie est mise à disposition sous license GPL.&lt;br /&gt;
Vous pouvez télécharger la toute dernière version de cette librairie depuis mon compte &lt;a href=&quot;http://github.com/&quot;&gt;GitHub&lt;/a&gt; à l'adresse suivante : &lt;a hreflang=&quot;en&quot; href=&quot;http://github.com/hugokernel/Oled4D&quot;&gt;http://github.com/hugokernel/Oled4D&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Je mettrai à jour également la page sur le wiki : &lt;a href=&quot;http://www.digitalspirit.org/wiki/projets/oled4d&quot; hreflang=&quot;fr&quot;&gt;http://www.digitalspirit.org/wiki/projets/oled4d&lt;/a&gt;.
&lt;/p&gt;</description>
    
    
    
          <comments>http://www.digitalspirit.org/blog/index.php/post/2009/12/14/Librairie-pour-afficheur-Oled4d-Arduino#comment-form</comments>
      <wfw:comment>http://www.digitalspirit.org/blog/index.php/post/2009/12/14/Librairie-pour-afficheur-Oled4d-Arduino#comment-form</wfw:comment>
      <wfw:commentRss>http://www.digitalspirit.org/blog/index.php/feed/atom/comments/900</wfw:commentRss>
      </item>
    
</channel>
</rss>
