<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://arts-numeriques.codedrops.net/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Arts num&#233;riques</title>
	<link>https://arts-numeriques.codedrops.net/</link>
	<description>artsnumeriques est le support des cours de St&#233;phane Noel, professeur &#224; l'&#233;cole de recherche graphique.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="http://arts-numeriques.codedrops.net/spip.php?id_rubrique=47&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>Arduino &gt; Processing : envoyer des messages structur&#195;&#169;s</title>
		<link>http://arts-numeriques.codedrops.net/Arduino-Processing-envoyer-des</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Arduino-Processing-envoyer-des</guid>
		<dc:date>2013-08-01T10:46:30Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>



		<description>
&lt;p&gt;Ce script permet de r&#195;&#169;cuperer dans Processing une chaine de caract&#195;&#168;re et la convertir en un chiffre plus grand que 255, ou avec une virgule. On peut ais&#195;&#169;ment le transformer en un moteur de traitement plus complexe. &lt;br class='autobr' /&gt; Dans cet exemple simple, d&#195;&#169;riv&#195;&#169; de l'exemple &#034;vitrual color mixer&#034; de Arduino, on envoie la valeur du potentiom&#195;&#168;tre, qui est un chiffre entre 0 et 1023, trop grand donc pour &#195;&#170;tre stock&#195;&#169; en un seul octet. &lt;br class='autobr' /&gt;
Code Arduino const int pot = A0 ; &lt;br class='autobr' /&gt;
void setup() (&#8230;)&lt;/p&gt;


-
&lt;a href="http://arts-numeriques.codedrops.net/-Plus-" rel="directory"&gt;Plus&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Ce script permet de r&#195;&#169;cuperer dans Processing une chaine de caract&#195;&#168;re et la convertir en un chiffre plus grand que 255, ou avec une virgule. On peut ais&#195;&#169;ment le transformer en un moteur de traitement plus complexe.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Dans cet exemple simple, d&#195;&#169;riv&#195;&#169; de l'exemple &#034;vitrual color mixer&#034; de Arduino, on envoie la valeur du potentiom&#195;&#168;tre, qui est un chiffre entre 0 et 1023, trop grand donc pour &#195;&#170;tre stock&#195;&#169; en un seul octet.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Code Arduino&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;const int pot = A0; void setup(){ Serial.begin(9600); } void loop(){ Serial.println(analogRead(pot)); delay(50); }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Code Processing&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;import processing.serial.*; float lacouleur = 0; Serial myPort; void setup() { size(200, 200); // List all the available serial ports println(Serial.list()); // I know that the first port in the serial list on my mac // is always my Arduino, so I open Serial.list()[0]. // Open whatever port is the one you're using. myPort = new Serial(this, Serial.list()[0], 9600); // don't generate a serialEvent() unless you get a newline character: myPort.bufferUntil('\n'); } void draw() { // set the background color with the color values: background(lacouleur); fill(255); rect(30, width-300, 20, lacouleur); } void serialEvent(Serial myPort) { // lire une chaine jusqu'au retour chariot: String inString = myPort.readStringUntil('\n'); if (inString != null) { // supprimer les espace en trop: inString = trim(inString); float col = float(inString); // convertir en un chiffre de 0 a 255: lacouleur = col/4; } }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Arduino, le projet</title>
		<link>http://arts-numeriques.codedrops.net/Arduino-le-projet</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Arduino-le-projet</guid>
		<dc:date>2013-01-19T15:29:14Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>



		<description>
&lt;p&gt;Arduino est un projet qui allie hardware et software. Pour comprendre sa spe&#204; cificite&#204; il faut reprendre la notion de microcontro&#204;&#8218;leur. &lt;br class='autobr' /&gt; Microcontro&#204;&#8218;leurs everywhere les microcontro&#204;&#8218;leurs existent dans bon nombre d&#226;&#8364;&#8482;objets de notre quotidien : voitures, alarmes des maisons, partout ou&#204;&#8364; de l&#226;&#8364;&#8482;e&#204; lectronique est programmable. ils sont base&#204; s sur des puces. Arduino utilise la puce AtMel, un standard. la plupart des microcontro&#204;&#8218;leurs sont des projets commerciaux de&#204; veloppe&#204; s pour (&#8230;)&lt;/p&gt;


-
&lt;a href="http://arts-numeriques.codedrops.net/-Formation-73-" rel="directory"&gt;Formation&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Arduino est un projet qui allie hardware et software. Pour comprendre sa spe&#204; cificite&#204; il faut reprendre la notion de microcontro&#204;&#8218;leur.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Microcontro&#204;&#8218;leurs everywhere&lt;/h2&gt;
&lt;p&gt;les microcontro&#204;&#8218;leurs existent dans bon nombre d&#226;&#8364;&#8482;objets de notre quotidien : voitures, alarmes des maisons, partout ou&#204;&#8364; de l&#226;&#8364;&#8482;e&#204; lectronique est programmable. ils sont base&#204; s sur des puces. Arduino utilise la puce AtMel, un standard.&lt;br class='autobr' /&gt;
la plupart des microcontro&#204;&#8218;leurs sont des projets commerciaux de&#204; veloppe&#204; s pour des usages spe&#204; cifiques : tuning de voiture, alarmes de maison, etc.&lt;br class='manualbr' /&gt;Certains assemblages plus ge&#204; ne&#204; riques existent, comme le projet Wire, dont il semble que Arduino soit inspir&#195;&#169;. Arduino appartient a&#204;&#8364; cette famille.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;E&#204; lectronique programmable&lt;/h2&gt;
&lt;p&gt;le fait de combiner de l&#226;&#8364;&#8482;e&#204; lectronique et de la programmation rend les microcontro&#204;&#8218;leurs tre&#204;&#8364;s pointus, hors de porte&#204; e du quidam. Mettre cette technologie a&#204;&#8364; porte&#204; e des artistes est le projet des 3 de Arduino, Massimo Banzi, david cuartielles, tom igoe.&lt;br class='autobr' /&gt;
Pour arriver a&#204;&#8364; produire ce projet, des choix techniques ont du e&#204;&#8218;tre fait : - Pour rendre le hardware le moins cou&#204;&#8218;teux mais le plus fiable possible - diminuer le nombre d&#226;&#8364;&#8482;e&#204; tape dans la fabrication d&#226;&#8364;&#8482;un prototype - rendre accessible le code
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; tenir compte des habitudes potentielles des utilisateurs&lt;br class='autobr' /&gt;
Arduino est donc un compromis, un choix d&#195; &#187;ment pese&#204; . Rien que cet aspect en fait un projet exceptionnel.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Articulation hardware/software&lt;/h2&gt;
&lt;p&gt;Hardware : un circuit imprime&#204; muni d&#226;&#8364;&#8482;une puce Atmel et d&#226;&#8364;&#8482;un ensemble d&#226;&#8364;&#8482;entre&#204; es/sorties Software : un e&#204; diteur de code avec colorisation syntaxique, un compilateur, un uploader et une console.&lt;br class='autobr' /&gt;
la connection entre l&#226;&#8364;&#8482;ordinateur passe par le port usb (port se&#204; rie pour les vieux mode&#204;&#8364;les)&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Communaute&#204; Arduino&lt;/h2&gt;
&lt;p&gt;Arduino ne peut fonctionner que parce qu&#226;&#8364;&#8482;il est entoure&#204; d&#226;&#8364;&#8482;une strate&#204; gie de communication :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; la disponibilite&#204; du hardware (vente en ligne) &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; la disponibilite&#204; du software (te&#204; le&#204; chargement gratuit) &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; un site web documentant hardware et software &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; une communaute&#204; alimentant :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; un forum &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; des didactitiels &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; des formations et workshop&lt;/p&gt;
&lt;p&gt;Arduino en tant que projet open source a aussi permis &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; des clones et &#194;&#171; forks&#194; &#187; &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; des &#194;&#171; shields&#194; &#187; produits de&#204; rive&#204; s&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>R&#195;&#169;cup&#195;&#169;rer une info dans une page web avec l'ethernet shield</title>
		<link>http://arts-numeriques.codedrops.net/Recuperer-une-info-dans-une-page</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Recuperer-une-info-dans-une-page</guid>
		<dc:date>2012-08-08T22:41:30Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Arduino</dc:subject>

		<description>&lt;p&gt;Ce script permet de tester de mani&#195;&#168;re r&#195;&#169;guli&#195;&#168;re une page et v&#195;&#169;rifier une information dans son code, pr&#195;&#169;par&#195;&#169; &#195; cette fin. Pas de parsing html complexe ici.&lt;/p&gt;

-
&lt;a href="http://arts-numeriques.codedrops.net/-Plus-" rel="directory"&gt;Plus&lt;/a&gt;

/ 
&lt;a href="http://arts-numeriques.codedrops.net/+-Arduino-+" rel="tag"&gt;Arduino&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L150xH150/arton343-07a7c.jpg?1726838346' class='spip_logo spip_logo_right' width='150' height='150' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Ce script permet de tester de mani&#195;&#168;re r&#195;&#169;guli&#195;&#168;re une page et v&#195;&#169;rifier une information dans son code, pr&#195;&#169;par&#195;&#169; &#195; cette fin. Pas de parsing html complexe ici.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Ce script est une version modifi&#195;&#169;e du code de Tom Igoe pour r&#195;&#169;cup&#195;&#169;rer des tweets, pour permettre une utilisation plus large.&lt;/p&gt;
&lt;p&gt;Pour pr&#195;&#169;parer le terrain, j'ai fabriqu&#195;&#169; une page php qui lit et update une valeur dans un fichier txt avec du php. Si ceci vous &#195;&#169;chappe, vous pouvez d&#195;&#169;poser un simple fichier html ou m&#195;&#170;me un fichier texte sur un serveur.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;1. Pr&#195;&#169;parer un code PHP/HTML&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;?php // on ouvre en lecture - ecriture if(!$fichier = fopen(&#034;compteur.txt&#034;, &#034;r+&#034;)) { echo &#034;&lt;div style='color:red'&gt;lecture du fichier impossible&lt;/div&gt;&#034;; } else { $lehtml=&#034;&#034;; // Tant quon est pas &#195; la fin while (!feof($fichier)) { $buffer = fgets($fichier, 4096); $lehtml .=$buffer; } } $lehtml = (int) $lehtml; $lehtml++; echo &#034;&lt;info&gt;&#034;.$lehtml.&#034;&lt;/info&gt;&#034;; fseek($fichier, 0); // On remet le curseur de lecture/ecriture au d&#195;&#169;but du fichier fputs($fichier, $lehtml); // fermeture du fichier - important fclose ($fichier); ?&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La page contiendra juste &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;info&gt;1&lt;/info&gt;&lt;/code&gt; et s'incr&#195;&#169;mente de 1 &#195; chaque rechargement.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;2. r&#195;&#169;cup&#195;&#169;rer l'adresse de votre fichier&lt;/h2&gt;
&lt;p&gt;Gr&#195;&#162;ce au site &lt;a href=&#034;http://web-sniffer.net&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://web-sniffer.net/&lt;/a&gt;, vous pouvez connaitre les information n&#195;&#169;cessaire &#195; param&#195;&#169;trer le script arduino.&lt;br class='manualbr' /&gt;Entrez l'url web de votre fichier et la page conformera le nom du serveur et le GET.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Coder arduino&lt;/h2&gt;
&lt;p&gt;Voici un code de base pour r&#195;&#169;cup&#195;&#169;rer la page proprement.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; l'adresse ip du shield doit &#195;&#170;tre plac&#195;&#169;e dans le d&#195;&#169;but du code. Le shield tente une connection automatique (en dhcp) mais on placera par s&#195;&#169;curit&#195;&#169; une addresse manuelle, en fonction du r&#195;&#169;seau local. Ici &#034;IPAddress ip(192,168,1,20) ;&#034; (attention, les chiffres sont s&#195;&#169;par&#195;&#169;s par des virgules.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; L'adresse du fichier &#195; rapatrier est s&#195;&#169;par&#195;&#169;e en deux : le nom de domaine lui-m&#195;&#170;me, (ici &lt;a href=&#034;http://www.codedrops.net&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;www.codedrops.net&lt;/a&gt;), et la requ&#195;&#170;te (grosso modo ce qui suit l'adresse), est ici &#034;/sandbox/writefile/update.php&#034;. Le protocole est HTTP/1.1 (c'est souvent le cas mais v&#195;&#169;rifiez avec web-sniffer.net) . Le host &#195; la ligne suivante est parfois obligatoire, c'est aussi une forme de politesse, ici &lt;a href=&#034;http://www.codedrops.net&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;www.codedrops.net&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;/* lire un fichier net avec une info bas&#195;&#169; sur le script de tweet de Tom Igoe * Ethernet shield attached to pins 10, 11, 12, 13 This code is in the public domain. */ #include &lt;SPI.h&gt; #include &lt;Ethernet.h&gt; // Enter a MAC address and IP address for your controller below. // The IP address will be dependent on your local network: byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x01 }; IPAddress ip(192,168,1,20); // initialize the library instance: EthernetClient client; const unsigned long requestInterval = 60000; // delay between requests char serverName[] = &#034;www.codedrops.net&#034;; boolean requested; // whether you've made a request since connecting unsigned long lastAttemptTime = 0; // last time you connected to the server, in milliseconds String currentLine = &#034;&#034;; // string to hold the text from server String message = &#034;&#034;; // string to hold the message boolean lecture = false; // if you're currently reading the message void setup() { // reserve space for the strings: currentLine.reserve(256); message.reserve(150); // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } // attempt a DHCP connection: Serial.println(&#034;Attempting to get an IP address using DHCP:&#034;); if (!Ethernet.begin(mac)) { // if DHCP fails, start with a hard-coded address: Serial.println(&#034;failed to get an IP address using DHCP, trying manually&#034;); Ethernet.begin(mac, ip); } Serial.print(&#034;Mon adresse:&#034;); Serial.println(Ethernet.localIP()); // premiere connection : connectToServer(); } void loop(){ if(message.length() &gt; 0 &amp;&amp; lecture==false){ Serial.print(&#034;je viens de recevoir un message : &#034;); Serial.println(message); message=&#034;&#034;; } if (client.connected()) { checke_page(); } else if (millis() - lastAttemptTime &gt; requestInterval) { // if you're not connected, and two minutes have passed since // your last connection, then attempt to connect again: connectToServer(); } } void checke_page(){ if (client.available()) { // read incoming bytes: char inChar = client.read(); // add incoming byte to end of line: currentLine += inChar; // si on a un retour chariot, c'est que ce n'est pas encore le debut, on supprime: if (inChar == '\n') { currentLine = &#034;&#034;; } // si on trouve le message &lt;text&gt;, c'est // que le message suit: if ( currentLine.endsWith(&#034;&lt;info&gt;&#034;)) { // debut du message, on vide la string message: lecture = true; message = &#034;&#034;; inChar = client.read(); // lire le caractere suivant } // on lit caractere par caractere, // et les ajoute au message if (lecture) { if (inChar != '&lt;') { message += inChar; } else { // isi vous avez un &#034;&lt;&#034;, // c'est la fin du message: lecture = false; // fermer la connexion au serveur: client.stop(); } } } } void connectToServer() { // attempt to connect, and wait a millisecond: Serial.println(&#034;connecting to server...&#034;); if (client.connect(serverName, 80)) { Serial.println(&#034;making HTTP request...&#034;); // make HTTP GET request: client.println(&#034;GET /sandbox/writefile/update.php HTTP/1.1&#034;); client.println(&#034;Host: www.codedrops.net&#034;); client.println(); } // remettre le compteur a zero pour la prochaine connexion: lastAttemptTime = millis(); } &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une fois le message r&#195;&#169;cup&#195;&#169;r&#195;&#169;, on peut le traiter, le comparer et d&#195;&#169;clencher quelque chose...&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Communiquer &#195; arduino plusieurs valeurs sur le port s&#195;&#169;rie</title>
		<link>http://arts-numeriques.codedrops.net/Communication-de-plusieurs-valeurs</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Communication-de-plusieurs-valeurs</guid>
		<dc:date>2012-08-06T12:44:50Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Arduino</dc:subject>

		<description>
&lt;p&gt;Traiter une information plus complexe qu'un seul caract&#195;&#168;re est tout &#195; fait possible. Voici une des m&#195;&#169;thodes possibles. &lt;br class='autobr' /&gt; Signalons d'entr&#195;&#169;e de jeu qu'il existe une m&#195;&#169;thode propos&#195;&#169;e dans les exemples de arduino (ReadASCIIString) et d&#195;&#169;crite dans un article sur le site d'arduino.cc. Elle est efficace et emploie la m&#195;&#169;thode Serial.parseInt() qui permet de r&#195;&#169;cup&#195;&#169;rer des valeurs s&#195;&#169;par&#195;&#169;es pas des vigules. &lt;br class='autobr' /&gt;
Nous proposons une autre m&#195;&#169;thode, qui nous permettra d'envoyer des donn&#195;&#169;es de (&#8230;)&lt;/p&gt;


-
&lt;a href="http://arts-numeriques.codedrops.net/-Formation-73-" rel="directory"&gt;Formation&lt;/a&gt;

/ 
&lt;a href="http://arts-numeriques.codedrops.net/+-Arduino-+" rel="tag"&gt;Arduino&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Traiter une information plus complexe qu'un seul caract&#195;&#168;re est tout &#195; fait possible. Voici une des m&#195;&#169;thodes possibles.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Signalons d'entr&#195;&#169;e de jeu qu'il existe une m&#195;&#169;thode propos&#195;&#169;e dans les exemples de arduino (ReadASCIIString) et &lt;a href=&#034;http://arduino.cc/en/Tutorial/ReadASCIIString&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;d&#195;&#169;crite dans un article sur le site d'arduino.cc&lt;/a&gt;. Elle est efficace et emploie la m&#195;&#169;thode Serial.parseInt() qui permet de r&#195;&#169;cup&#195;&#169;rer des valeurs s&#195;&#169;par&#195;&#169;es pas des vigules.&lt;/p&gt;
&lt;p&gt;Nous proposons une autre m&#195;&#169;thode, qui nous permettra d'envoyer des donn&#195;&#169;es de mani&#195;&#168;re non lin&#195;&#169;aire.&lt;/p&gt;
&lt;p&gt;Pour communiquer avec ce script, on accompagnera chaque valeur d'un index. Par exemple a212, ou d47. Le script r&#195;&#169;cup&#195;&#168;re l'index et la valeur et ex&#195;&#169;cute alors une op&#195;&#169;ration au choix.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;// envoyer des valeurs de mani&#195;&#168;re ind&#195;&#169;pendante vers arduino int led=13; // une led sur la pin 13 int moteur=6; // un transistor sur la pin 6 void setup() { // initialize serial: Serial.begin(9600); pinMode(led, OUTPUT); pinMode(moteur, OUTPUT); } void loop() { // if there's any serial available, read it: while (Serial.available() &gt; 0) { int index=Serial.read(); // lire un premier caract&#195;&#168;re // controle &#195;&#169;ventuel : d&#195;&#169;commenter pour voir ce qui arrive //Serial.print(&#034;index : &#034;); Serial.println(index); // filtrer : il doit etre une lettre minuscule ou majuscule if(index &gt;= 'A' &amp;&amp; index &lt;= 'z'){ int valeur = Serial.parseInt(); // controle eventuel de la valeur //Serial.print(&#034;valeur : &#034;); Serial.println(valeur); // traitement switch(index){ case 'L': // allume/eteint la led en envoyant L1 et L0 // allume la led si le chiffre est superieur a 0 if(valeur &gt; 0){ digitalWrite(led,HIGH); } else { digitalWrite(led,LOW); } break; case 'M': // envoyer de la puissance vers un transistor en envoyant M130 par ex. valeur=constrain(valeur,0,256); // eviter les d&#195;&#169;passements analogWrite(moteur,valeur); break; } } } delay(10); //pas la peine de tourner &#195; plein r&#195;&#169;gime }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Utiliser un d&#233;tecteur de pr&#233;sence infrarouge</title>
		<link>http://arts-numeriques.codedrops.net/Utiliser-un-detecteur-de-presence-infrarouge</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Utiliser-un-detecteur-de-presence-infrarouge</guid>
		<dc:date>2012-08-04T21:07:59Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Arduino</dc:subject>

		<description>&lt;p&gt;Ce capteur complexe est bien connu : il est utilis&#233; par les syst&#232;mes d'alarme et les &#233;clairages automatiques de lieux publics et priv&#233;s. Relativement abordable, il est assez simple d'utilisation.&lt;/p&gt;

-
&lt;a href="http://arts-numeriques.codedrops.net/-Plus-" rel="directory"&gt;Plus&lt;/a&gt;

/ 
&lt;a href="http://arts-numeriques.codedrops.net/+-Arduino-+" rel="tag"&gt;Arduino&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L150xH115/arton341-d0982.jpg?1726838346' class='spip_logo spip_logo_right' width='150' height='115' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Ce capteur complexe est bien connu : il est utilis&#233; par les syst&#232;mes d'alarme et les &#233;clairages automatiques de lieux publics et priv&#233;s. Relativement abordable, il est assez simple d'utilisation.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;C'est un capteur complexe, ce qui signifie qu'il embarque une &#233;l&#233;ctronique propre, complexe, ce qui lui permet d'envoyer une information simple alors qu'en fait il traite une information complexe, des filtres de parasitage, un timer, une m&#233;moire.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_524 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L470xH260/pirsensor-61db8.jpg?1726798598' width='470' height='260' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Le montage est donc un montage classique &#224; 3 fils : une alimentation en 5 volts venant d'Arduino, une pin sur une entr&#233;e digitale et un fil vers le ground. Se reporter &#224; la documentation du senseur pour connaitre la correspondance entre les fils et leurs fonctions. Voici un sch&#233;ma classique.&lt;/p&gt;
&lt;p&gt;La pin utilis&#233;e pour l'input de l'information recevra une information HIGH si il n'y a pas de pr&#233;sence d&#233;tect&#233;e et LOW si quelque chose est dans le champ.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_522 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH324/PIR-Arduino_hookup-bd9e8.png?1754859250' width='500' height='324' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Le code ci-dessous est comment&#233;. La r&#233;ception de l'information (sur la pin 2 dans ce code) est simple, le reste est l&#224; pour d&#233;tecter si quelqu'un vient d'entrer dans le champ vide, si quelqu'un est toujours l&#224; , un syst&#232;me de timer permet d'attendre un peu pour &#233;viter un passage trop rapide de HIGH &#224; LOW. Une temporisation qui peut &#234;tre r&#233;gl&#233;e avec la variable pir_delay et le delay entre chaque test.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;// Utiliser un PIR // plac&#233; sur la pin 2 int pirPin=2; // la pin sur laquelle est plac&#233; le PIR int pir_delay=12; // 3 secondes sans mouvement = fini int decompte=-1; // on signale qu'il n'y a personne void setup(){ Serial.begin(9600); pinMode(pirPin, INPUT); } void loop(){ int pirVal = digitalRead(pirPin); if(pirVal == LOW){ // quelque chose dans le champ if(decompte== -1){ // si la valeur est -1, c'est une entree Serial.println(&#034;quelque chose est dans le champ&#034;); } // tant qu'il y a quelque chose, on remet le compteur au max decompte=pir_delay; } else if(pirVal == HIGH &amp;&amp; decompte &gt; 0){ // plus personne, on commence &#224; d&#233;compter decompte--; Serial.print(&#034;plus personne - decompte : &#034;); Serial.println(decompte); } if(decompte==0 ){ // le temps d'attente est &#233;coul&#233; decompte=-1; // sp&#233;cifier la sortie de champ Serial.println(&#034;plus rien dans le champ&#034;); } // un test tout les quart de seconde delay(250); }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Quelques senseurs simples</title>
		<link>http://arts-numeriques.codedrops.net/Quelques-senseurs-simples</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Quelques-senseurs-simples</guid>
		<dc:date>2012-08-04T19:37:55Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>



		<description>&lt;p&gt;Un senseur est un composant &#195;&#169;lectronique parfois rudimentaire permettant &#195; Arduino de capter une modification de son environnement. Bouton, potentiom&#195;&#168;tre, capteur de lumi&#195;&#168;re, de temp&#195;&#169;rature, de champ magn&#195;&#169;tique, en voici quelques uns.&lt;/p&gt;

-
&lt;a href="http://arts-numeriques.codedrops.net/-Formation-73-" rel="directory"&gt;Formation&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Un senseur est un composant &#195;&#169;lectronique parfois rudimentaire permettant &#195; Arduino de capter une modification de son environnement. Bouton, potentiom&#195;&#168;tre, capteur de lumi&#195;&#168;re, de temp&#195;&#169;rature, de champ magn&#195;&#169;tique, en voici quelques uns.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Le montage de capteurs simples (on verra qu'il y a aussi des capteurs dits complexes) requiert peu de composants, la plupart du temps le capteur lui-m&#195;&#170;me s'accompagne d'une r&#195;&#169;sistance connect&#195;&#169;e au ground.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Boutons simples ou &#195;&#169;volu&#195;&#169;s&lt;/h2&gt;
&lt;p&gt;Le bouton est le plus simple des capteurs. Un flux &#195;&#169;lectrique est envoy&#195;&#169; par arduino, une des pin contr&#195;&#180;le digitalement ce qui lui parvient en retour.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Particularit&#195;&#169;s&lt;/strong&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un contact entre deux cables peut &#195;&#170;tre un bouton, c'est donc un des capteurs les plus faciles &#195; fabriquer
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; On utilise une entr&#195;&#169;e digitale, l'information captur&#195;&#169;e est donc HIGH (oui) ou LOW (non).&lt;/p&gt;
&lt;p&gt;Concr&#195;&#168;tement, le montage requiert tout de m&#195;&#170;me l'intervention d'une r&#195;&#169;sistance (g&#195;&#169;n&#195;&#169;ralement 10K, mais la tol&#195;&#169;rance est grande).&lt;/p&gt;
&lt;dl class='spip_document_517 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH429/button_schem-e2cf7306-15ecf.png?1781356597' width='500' height='429' alt='PNG - 25.7&#160;kio' /&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;a href=&#034;http://arduino.cc/en/Tutorial/Button&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Le code sur le site arduino.cc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le &#034;debounce&#034;&lt;/strong&gt;&lt;br class='manualbr' /&gt;Des parasites peuvent alt&#195;&#169;rer la bonne captation du bouton. Il est donc g&#195;&#169;n&#195;&#169;ralement recommand&#195;&#169; de placer un peu de code suppl&#195;&#169;mentaire pour faire ce qu'on appelle un &#034;debounce&#034;. En effet, un vieux bouton peut avoir dans un espace de temps tr&#195;&#168;s court 3 ou 4 passages du HIGH au LOW, &#195; cause de l'usure des composant, ou de la faible pression sur le bouton, ou un mauvais contact en g&#195;&#169;n&#195;&#169;ral. Pour &#195;&#169;viter que &#195;&#167;a ne perturbe le reste de la programmation, le d&#195;&#169;clenchement et l&#226;&#8364;&#8482;arr&#195;&#170;t intempestif d'action, on ajoutera quelques lignes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://arduino.cc/en/Tutorial/Debounce&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Le code et des explications sur le site arduino.cc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;L'astuce consiste a attendre un temps court (param&#195;&#169;trable) avant de d&#195;&#169;cider que le bouton a chang&#195;&#169; d'&#195;&#169;tat. Par d&#195;&#169;faut, 50 millisecondes, ce qui est tr&#195;&#168;s rapide mais suffisant pour &#195;&#169;viter &#195; un parasite de se faire passer pour une action humaine.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Un potentiom&#195;&#168;tre&lt;/h2&gt;&lt;dl class='spip_document_518 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L321xH372/AnalogReadSerial-63a37e13-84af9.png?1726767083' width='321' height='372' alt='PNG - 27&#160;kio' /&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;p&gt;Un potentiom&#195;&#168;tre est une r&#195;&#169;sistance variable, un composant qui permet de doser la quantit&#195;&#169; de flux &#195;&#169;lectrique. Les potentiom&#195;&#168;tres sont identifi&#195;&#169; par leur r&#195;&#169;sistance en ohms. 10K, 47K par exemple. Il existe des potentiom&#195;&#168;tres rotatifs de toutes sortes et des sliders (dit &#034;&#195; glissi&#195;&#168;re&#034;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Particularit&#195;&#169;s&lt;/strong&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un potentiom&#195;&#168;tre est variable, il donne donc une information &#034;analogique&#034; que l'on r&#195;&#169;cup&#195;&#168;re avec les entr&#195;&#169;es analogiques d'arduino
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Arduino peut r&#195;&#169;cup&#195;&#169;rer 1024 paliers maximum en provenance d'un potentiom&#195;&#168;tre (valeurs de 0 &#195; 1023)&lt;/p&gt;
&lt;p&gt;Techniquement, le potentiom&#195;&#168;tre comporte 3 broches. La broche du milieu sera connect&#195;&#169;e &#195; une des entr&#195;&#169;es analogiques de l'arduino. Les broches &#195; gauche et &#195; droite seront connect&#195;&#169;es au 5V et au ground indiff&#195;&#169;remment (l'ordre aura juste une influence sur le sens de rotation).&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://arduino.cc/en/Tutorial/AnalogReadSerial&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Voir la page avec sch&#195;&#169;ma et code sur le site arduino.cc&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Senseur magn&#195;&#169;tique (hall effect)&lt;/h2&gt;
&lt;p&gt;Le senseur magn&#195;&#169;tique n'est pas une boussole mais un capteur r&#195;&#169;agissant typiquement &#195; un aimant. C'est donc un capteur de proximit&#195;&#169;, puisque l'aimant ne doit pas toucher le senseur pour que celui-ci le d&#195;&#169;tecte. &lt;br class='manualbr' /&gt;Les applications sont diverses, par exemple savoir lorsqu'une boite est ouverte ou ferm&#195;&#169;e. Les compteurs embarqu&#195;&#169;s sur les v&#195;&#169;los utilisent ce type de capteur.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Particularit&#195;&#169;s&lt;/strong&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; C'est un capteur sans contact
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Il n&#195;&#169;cessite un aimant
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; On utilise une entr&#195;&#169;e digitale, l'information captur&#195;&#169;e est donc HIGH (oui) ou LOW (non).&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_521 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH175/hall_effect-71837.jpg?1781356598' width='500' height='175' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Le montage est classique, avec une r&#195;&#169;sistance et une entr&#195;&#169;e digitale.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://mchobby.be/wiki/index.php?title=Senseur_%C3%A0_Effet_Hall&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Une page d'info compl&#195;&#168;te avec du code sur le site de MC Hobby&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://bildr.org/2011/04/various-hall-effect-sensors/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Un autre article sur diff&#195;&#169;rents types de hall effect sensor&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Capteur de choc&lt;/h2&gt;
&lt;p&gt;Le piezo est un &#195;&#169;trange capteur, puisqu'il est &#195;&#169;galement employ&#195;&#169; pour &#195;&#169;mettre les sons, notamment les m&#195;&#169;lodies nasillardes des cartes de voeux musicales.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Particularit&#195;&#169;s&lt;/strong&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un piezo r&#195;&#169;cup&#195;&#168;re une information &#034;analogique&#034; que l'on r&#195;&#169;cup&#195;&#168;re avec les entr&#195;&#169;es analogiques d'arduino
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Arduino peut r&#195;&#169;cup&#195;&#169;rer 1024 paliers maximum en provenance d'un piezo (valeurs de 0 &#195; 1023)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; L'information d'un piezo est assez versatile (des pics tr&#195;&#168;s forts avec des retour &#195; z&#195;&#169;ro), la r&#195;&#169;cup&#195;&#169;ration de l'information demande une forme de &#034;debounce&#034; comme celle du bouton.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_114 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L481xH304/piezo-knock-ea594.png?1726767083' width='481' height='304' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_217 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH375/53535494_73f63436cb_o-9ad0b.jpg?1781356598' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Comme capteur, le piezo necessite un montage assez standard, mais avec une r&#195;&#169;sistance assez forte : 1 million de ohms dans le cas de ce sch&#195;&#169;ma.&lt;/p&gt;
&lt;p&gt;Pour tester un piezo, le m&#195;&#170;me sketch que pour le potentiom&#195;&#168;tre peut &#195;&#170;tre utilis&#195;&#169;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://www.arduino.cc/en/Tutorial/KnockSensor&#034;&gt;Exemple de sketch sur le site arduino:playground&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Capteur de lumi&#195;&#168;re&lt;/h2&gt;
&lt;p&gt;Le LDR (Light Dependent Resistor) est une r&#195;&#169;sistance variable, comme le potentiom&#195;&#168;tre, sauf qu'ici c'est la lumi&#195;&#168;re re&#195;&#167;ue sur le capteur qui d&#195;&#169;termine la puissance du flux &#195;&#169;lectrique qui le traverse. Le capteur est d'une taille variable (de quelques millim&#195;&#168;tres &#195; un centim&#195;&#168;tre environ).&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_519 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH176/ldr-f5697.jpg?1781356598' width='500' height='176' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Particularit&#195;&#169;s&lt;/strong&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un LDR est variable, il donne donc une information &#034;analogique&#034; que l'on r&#195;&#169;cup&#195;&#168;re avec les entr&#195;&#169;es analogiques d'arduino.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Arduino peut r&#195;&#169;cup&#195;&#169;rer 1024 paliers maximum en provenance d'un ldr (valeurs de 0 &#195; 1023), mais la plupart du temps on ne r&#195;&#169;cup&#195;&#168;re pas toute cette plage de valeur. Il faut donc &#195;&#169;talonner dans le programme les valeurs re&#195;&#167;ues
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Comme le capteur est li&#195;&#169; &#195; la lumi&#195;&#168;re qu'il re&#195;&#167;oit, les conditions d'utilisation sont tr&#195;&#168;s d&#195;&#169;terminantes.&lt;/p&gt;
&lt;p&gt;Le montage est similaire &#195; un bouton simple, la r&#195;&#169;sistance qui sera associ&#195;&#169;e d&#195;&#169;pend du capteur, entre 1 et 10k ohms suffisent g&#195;&#169;n&#195;&#169;ralement. La r&#195;&#169;sistance influencera les valeurs r&#195;&#169;cup&#195;&#169;r&#195;&#169;es.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_251 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L396xH275/ldr-mounting-ac5cc.png?1726767084' width='396' height='275' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Pour tester un ldr, le m&#195;&#170;me sketch que pour le potentiom&#195;&#168;tre peut &#195;&#170;tre utilis&#195;&#169;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Installation de Arduino</title>
		<link>http://arts-numeriques.codedrops.net/Installation-de-Arduino</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Installation-de-Arduino</guid>
		<dc:date>2011-03-10T11:12:34Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Arduino</dc:subject>
		<dc:subject>Electro-mecanique</dc:subject>

		<description>
&lt;p&gt;L'installation logicielle et mat&#195;&#169;rielle est la partie la plus p&#195;&#169;rilleuse d'un workshop. Chacun poss&#195;&#168;dant des ordinateurs avec des OS et des configurations diff&#195;&#169;rentes, l'op&#195;&#169;ration prend parfois des allures de cauchemar. Suivez cette page jusqu'au &#034;Hello world&#034; de Arduino. &lt;br class='autobr' /&gt; 1) Avoir le mat&#195;&#169;riel Il est n&#195;&#169;cessaire d'avoir au d&#195;&#169;part Un ordinateur (r&#195;&#169;cent). Mac, PC ou en Linux, peu importe. Une carte arduino Un cable USB pour relier l'un &#195; l'autre &lt;br class='autobr' /&gt;
2) Installer le logiciel Aller sur (&#8230;)&lt;/p&gt;


-
&lt;a href="http://arts-numeriques.codedrops.net/-Formation-73-" rel="directory"&gt;Formation&lt;/a&gt;

/ 
&lt;a href="http://arts-numeriques.codedrops.net/+-Arduino-+" rel="tag"&gt;Arduino&lt;/a&gt;, 
&lt;a href="http://arts-numeriques.codedrops.net/+-Electro-mecanique-+" rel="tag"&gt;Electro-mecanique&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;L'installation logicielle et mat&#195;&#169;rielle est la partie la plus p&#195;&#169;rilleuse d'un workshop. Chacun poss&#195;&#168;dant des ordinateurs avec des OS et des configurations diff&#195;&#169;rentes, l'op&#195;&#169;ration prend parfois des allures de cauchemar. Suivez cette page jusqu'au &#034;Hello world&#034; de Arduino.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;1) Avoir le mat&#195;&#169;riel&lt;/h2&gt;
&lt;p&gt;Il est n&#195;&#169;cessaire d'avoir au d&#195;&#169;part
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un ordinateur (r&#195;&#169;cent). Mac, PC ou en Linux, peu importe.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Une carte arduino
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un cable USB pour relier l'un &#195; l'autre&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;2) Installer le logiciel&lt;/h2&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://www.arduino.cc/en/Main/software&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Aller sur la page de download&lt;/a&gt; du site Arduino.cc et t&#195;&#169;l&#195;&#169;charger le logiciel adapt&#195;&#169; &#195; votre OS.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Installez le logiciel en suivant les instructions
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Installez le driver USB fourni avec l'installateur. C'est important ! Si ce driver n'est pas install&#195;&#169;, la communication entre Arduino et votre ordinateur ne sera pas possible
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Red&#195;&#169;marrez au besoin&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;3) Lancer le logiciel et &#195;&#169;tablir la connection&lt;/h2&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Connectez Arduino &#195; votre machine via le cable USB
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Si un message de votre machine signale la pr&#195;&#169;sence d'un hardware, ignorez la demande d'installation d'un driver.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Lancez le logiciel Arduino
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Choisissez la version de carte Arduino dans la liste que vous trouvez dans le menu Tolls/Board. Le nom de votre carte est indiqu&#195;&#169; sur celle-ci.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_423 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH343/arduino_board-99206.jpg?1754717459' width='500' height='343' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Choisissez le port usb sur lequel est connect&#195;&#169; votre arduino via le menu Tolls/Serial Port. Il faut parfois tester les possibilit&#195;&#169;s avant de trouver le bon. L'upload du sketch permettra de savoir si le port est bien choisi.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_422 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L485xH245/arduino_serial-1f92f.jpg?1726791243' width='485' height='245' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;4) Uploadez votre premier Sketch&lt;/h2&gt;
&lt;p&gt;Ce script est le &#034;hello world&#034; de Arduino, le script qui teste que tout fonctionne. Il n&#195;&#169;cessite de placer une led sur le Arduino. La led poss&#195;&#168;de deux tiges de longueur in&#195;&#169;gale. La plus longue sera plac&#195;&#169;e dans le pin 13 comme sur ce sch&#195;&#169;ma ;&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_424 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L300xH279/Arduino_LEDx1_blink-7cf34.jpg?1726791243' width='300' height='279' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Ouvrez le script File/Examples/1. Basics/Blink. C'est un script court que voici :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); // set the LED on delay(1000); // wait for a second digitalWrite(13, LOW); // set the LED off delay(1000); // wait for a second
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Envoyez-le vers la carte arduino en cliquant sur le bouton &#034;upload&#034; du logiciel.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_425 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L433xH122/arduinoIDE_upload-2f272.png?1726791243' width='433' height='122' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Si tout se passe bien, les deux petites diodes sur la carte &#034;tx&#034; et&#034;rx&#034; doivent clignoter intensivement durant un bref instant, et ensuite votre led doit s'allumer et s'&#195;&#169;teindre toutes les secondes. Si ce n'est pas le cas, c'est g&#195;&#169;n&#195;&#169;ralement que le port de communication a &#195;&#169;t&#195;&#169; mal choisi. Rev&#195;&#169;rifiez ce point et tentez un upload &#195; nouveau.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;5) Ooouf&lt;/h2&gt;
&lt;p&gt;Il ne reste plus qu'&#195; attendre que tout le monde aie rejoint le m&#195;&#170;me point pour avancer. Profitez en pour analyser le code comment&#195;&#169; du script, qui envoie de l'&#195;&#169;lectricit&#195;&#169; vers la led, attend une seconde puis la coupe.&lt;/p&gt;
&lt;p&gt;Plus d'explications sur ces quelques op&#195;&#169;rations &lt;a href=&#034;http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ExempleLEDBlink&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;sur ce site&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Plus : fournisseurs arduino</title>
		<link>http://arts-numeriques.codedrops.net/Plus-fournisseurs-arduino</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Plus-fournisseurs-arduino</guid>
		<dc:date>2010-03-27T20:54:06Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>



		<description>
&lt;p&gt;Watterott electronics
&lt;br class='autobr' /&gt;
Site allemand, 10 euros de livraison. &lt;br class='autobr' /&gt;
Libellium
&lt;br class='autobr' /&gt;
Fournisseur espagnol, les prix de livraison les moins cher, 5 euros. &lt;br class='autobr' /&gt;
Hobbycity
&lt;br class='autobr' /&gt;
Pi&#195;&#168;ces en tous genre, du chinois pas cher, pas mal fourni en robotique &lt;br class='autobr' /&gt;
rs components
&lt;br class='autobr' /&gt;
livraison gratuite, site tr&#195;&#168;s fourni et un peu technique. Vendent des arduino et un ensemble tr&#195;&#168;s large de composants.&lt;/p&gt;


-
&lt;a href="http://arts-numeriques.codedrops.net/-Formation-73-" rel="directory"&gt;Formation&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;http://www.watterott.com/en/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Watterott electronics&lt;/a&gt;&lt;/strong&gt;&lt;br class='autobr' /&gt;
Site allemand, 10 euros de livraison.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;http://www.libelium.com/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Libellium&lt;/a&gt;&lt;/strong&gt;&lt;br class='autobr' /&gt;
Fournisseur espagnol, les prix de livraison les moins cher, 5 euros.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;http://www.hobbycity.com/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Hobbycity&lt;/a&gt;&lt;/strong&gt;&lt;br class='autobr' /&gt;
Pi&#195;&#168;ces en tous genre, du chinois pas cher, pas mal fourni en robotique&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#034;http://be01.rs-online.com/web/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;rs components&lt;/a&gt;&lt;/strong&gt;&lt;br class='autobr' /&gt;
livraison gratuite, site tr&#195;&#168;s fourni et un peu technique. Vendent des arduino et un ensemble tr&#195;&#168;s large de composants.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Utiliser un micro</title>
		<link>http://arts-numeriques.codedrops.net/Utiliser-un-micro</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Utiliser-un-micro</guid>
		<dc:date>2009-10-11T15:50:43Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Arduino</dc:subject>

		<description>
&lt;p&gt;On peut r&#195;&#169;cup&#195;&#169;rer un volume sonor assez facilement sur arduino, pour d&#195;&#169;clencher des &#195;&#169;v&#195;&#169;nement au son. Ici un code permettant de travailler avec un micro et sa petite &#195;&#169;lectronique embarqu&#195;&#169;e, avec du code arduino pour &#034;booster&#034; &#195;&#169;lectroniquement le signal re&#195;&#167;u. &lt;br class='autobr' /&gt; Ce code permet de lire les informations provenant du micro et les booste un peu avant de les offrir au reste du code. &lt;br class='autobr' /&gt;
Le micro est dans cet exemple sur la pin analogique 0, et une led se trouve sur la pin digitale 13. (&#8230;)&lt;/p&gt;


-
&lt;a href="http://arts-numeriques.codedrops.net/-Plus-" rel="directory"&gt;Plus&lt;/a&gt;

/ 
&lt;a href="http://arts-numeriques.codedrops.net/+-Arduino-+" rel="tag"&gt;Arduino&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L150xH142/arton163-7bb93.jpg?1726838346' class='spip_logo spip_logo_right' width='150' height='142' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;On peut r&#195;&#169;cup&#195;&#169;rer un volume sonor assez facilement sur arduino, pour d&#195;&#169;clencher des &#195;&#169;v&#195;&#169;nement au son. Ici un code permettant de travailler avec un micro et sa petite &#195;&#169;lectronique embarqu&#195;&#169;e, avec du code arduino pour &#034;booster&#034; &#195;&#169;lectroniquement le signal re&#195;&#167;u.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Ce code permet de lire les informations provenant du micro et les booste un peu avant de les offrir au reste du code.&lt;/p&gt;
&lt;p&gt;Le micro est dans cet exemple sur la pin analogique 0, et une led se trouve sur la pin digitale 13.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_201 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L288xH272/micsetup-a45f4.jpg?1726880079' width='288' height='272' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Voici le code :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;// code cr&#195;&#169;ant la fonction digitalPullup inline void digitalPullup(byte pin, boolean b) { pinMode(pin, INPUT); digitalWrite(pin, b?HIGH:LOW); } #if defined(__AVR_ATmega1280__) inline void analogPullup(byte pin, boolean b) { digitalPullup(pin+54,b); } #else inline void analogPullup(byte pin, boolean b) { digitalPullup(pin+14,b); } #endif void setup() { Serial.begin(9600); // on utilise la pin 13 pour contr&#195;&#180;le pinMode(13, OUTPUT); analogPullup(0, true); // enable the 20kOhm pull-up on analog pin 0 } void loop() { // stocker ce qui vient du micro int analogValue = analogRead(0); // on peut &#195;&#169;ventuellement sortir le signal sur le port s&#195;&#169;rie pour contr&#195;&#180;le //Serial.println(analogValue); // wait 10 milliseconds for the analog-to-digital converter delay(10); // le signal re&#195;&#167;u est g&#195;&#169;n&#195;&#169;ralement au dessus de 500 if(analogValue &gt; 530){ digitalWrite(13,HIGH); delay(500); } else { digitalWrite(13,LOW); } // on peut mettre ici un delay entre chaque lecture // surtout utile pour lire les donn&#195;&#169;es envoy&#195;&#169;e par le port s&#195;&#169;rie }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Liens utiles&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#034;http://sarahlayne.wordpress.com/2009/08/21/values-from-electret-mic/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;La page d'origine du code&lt;/a&gt;, sur le site de &lt;a href=&#034;http://www.sarahsoriano.com/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Sarah Soriana&lt;/a&gt; :&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://www.sparkfun.com/commerce/product_info.php?products_id=8669&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Le lien vers la fiche du micro sur sparkfun&lt;/a&gt;.&lt;br class='manualbr' /&gt;(il peut &#195;&#170;tre command&#195;&#169; en Europe &#195; diff&#195;&#169;rents endroits)&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Pense b&#195;&#170;te : Sch&#195;&#169;mas de base pour arduino</title>
		<link>http://arts-numeriques.codedrops.net/Pense-bete-Schemas-de-base-pour</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Pense-bete-Schemas-de-base-pour</guid>
		<dc:date>2009-02-17T14:59:41Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Arduino</dc:subject>

		<description>
&lt;p&gt;Comment brancher des entr&#195;&#169;es et sorties pour arduino, c'est l'angoisse constante pour nous les bidouilleurs : un mosfet par exemple peut se griller si on le connecte mal. Donc, quelques sch&#195;&#169;mas ne feront pas de mal. &lt;br class='autobr' /&gt;
Connecter une led Une led permet d'&#195;&#169;mettre de la lumi&#195;&#168;re. Il y en a de diff&#195;&#169;rentes puissances, mais le voltage des sorties arduino est trop fort : il risque de griller votre led pr&#195;&#169;maturement. Il est donc n&#195;&#169;cessaire placer une r&#195;&#169;sistance entre la pin et la longue barre (&#8230;)&lt;/p&gt;


-
&lt;a href="http://arts-numeriques.codedrops.net/-Plus-" rel="directory"&gt;Plus&lt;/a&gt;

/ 
&lt;a href="http://arts-numeriques.codedrops.net/+-Arduino-+" rel="tag"&gt;Arduino&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Comment brancher des entr&#195;&#169;es et sorties pour arduino, c'est l'angoisse constante pour nous les bidouilleurs : un mosfet par exemple peut se griller si on le connecte mal. Donc, quelques sch&#195;&#169;mas ne feront pas de mal.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;span class='spip_document_117 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH362/arduino-descr-5fe82.png?1754859250' width='500' height='362' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Connecter une led&lt;/h2&gt;
&lt;p&gt;&lt;span class='spip_document_103 spip_documents spip_documents_left' style='float:left;'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L284xH294/LEDS01-1bbac.gif?1726880077' width='284' height='294' alt=&#034;&#034; /&gt;&lt;/span&gt;Une led permet d'&#195;&#169;mettre de la lumi&#195;&#168;re. Il y en a de diff&#195;&#169;rentes puissances, mais le voltage des sorties arduino est trop fort : il risque de griller votre led pr&#195;&#169;maturement. Il est donc n&#195;&#169;cessaire placer une r&#195;&#169;sistance entre la pin et la longue barre de la led, 10k est g&#195;&#169;n&#195;&#169;ralement suffisant. Ou d'utiliser la pin N&#194;&#176;13, qui comporte une r&#195;&#169;sistance int&#195;&#169;gr&#195;&#169;e (raison pour laquelle est sert pour les d&#195;&#169;mo de led clignotante).&lt;br class='manualbr' /&gt;La longue branche de la led est l'anode (+) et la courte le cathode (-).&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://www.arduino.cc/en/Tutorial/BlinkingLED&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;La page de test &#034;bliking led&#034; sur le site arduino.cc&lt;/a&gt;&lt;/p&gt;
&lt;div style=&#034;clear:left;&#034;&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Pour les boutons, potentiom&#195;&#168;tre, piezo, ldr, capteur hall effect, &lt;a href='http://arts-numeriques.codedrops.net/Quelques-senseurs-simples' class=&#034;spip_in&#034;&gt;se reporter &#195; l'article sur les capteurs simples sur ce site&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Utiliser un transistor pour contr&#195;&#180;ler un moteur dc&lt;/h2&gt;
&lt;p&gt;&lt;span class='spip_document_116 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH352/transistor-dc-motor-1ec4a.png?1754859250' width='500' height='352' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
&lt;span class='spip_document_123 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L223xH232/transistor-bffe6.jpg?1726880077' width='223' height='232' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Utiliser un relai comme interrupteur&lt;/h2&gt;
&lt;p&gt;&lt;span class='spip_document_115 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH150/relay-board-5fd12.png?1754859251' width='500' height='150' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Contr&#195;&#180;ler un moteur dc&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#034;http://itp.nyu.edu/physcomp/Tutorials/HighCurrentLoads&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://itp.nyu.edu/physcomp/Tutorials/HighCurrentLoads&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Construire un Hbridge&lt;/h2&gt;
&lt;p&gt;Un h-bridge permet de contr&#195;&#180;ler un moteur dans les deux sens, plut&#195;&#180;t qu'un seul avec un simple transistor. &lt;br class='autobr' /&gt;
&lt;a href=&#034;http://itp.nyu.edu/physcomp/Labs/DCMotorControl&#034;&gt;http://itp.nyu.edu/physcomp/Labs/DCMotorControl&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Connecter beaucoup de led (ou sorties digitales) avec un shift register&lt;/h2&gt;
&lt;p&gt;&lt;span class='spip_document_532 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L300xH249/shift-register-58763.jpg?1726880077' width='300' height='249' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
Une pi&#195;&#168;ce devient n&#195;&#169;cessaire : un &#034;shift register&#034;, une pi&#195;&#168;ce qui permet de piloter avec quelques pins de Arduino plus de pin de l'autre c&#195;&#180;t&#195;&#169; du shift register.&lt;br class='manualbr' /&gt;Voir une page compl&#195;&#168;te &lt;a href=&#034;http://arduino.cc/en/Tutorial/ShiftOut&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;sur le site arduino avec sch&#195;&#169;mas&lt;/a&gt;&lt;br class='manualbr' /&gt;Un autre &lt;a href=&#034;http://www.instructables.com/id/The-74HC164-Shift-Register-and-your-Arduino/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;didacticiel sur instructables&lt;/a&gt;&lt;br class='autobr' /&gt;
Un shift register permet aussi de piloter par exemple un affichage &#195;&#169;lectronique : &lt;a href=&#034;http://www.sqlskills.com/blogs/paulselec/post/arduino-cascading-shift-registers-to-drive-7-segment-displays.aspx&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;voir un exemple ici&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Connecter jusqu'&#195; 8 sorties gr&#195;&#162;ce &#195; un ULN2803&lt;/h2&gt;
&lt;p&gt;Le ULN2803 est un autre composant utile. Il s'agit en fait d'un composant qui permet de piloter ind&#195;&#169;pendamment jusqu'&#195; 8 actuateurs (moteurs, solenoids, relais, ...). Contrairement au shift register, il necessite une sortie arduino par &#195;&#169;l&#195;&#169;ments &#195; piloter. Mais il permet par contre de doser la puissance comme tout transistor qui se respecte.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_568 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH250/ULN2803-32ac9.jpg?1754859251' width='500' height='250' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;La puissance que peut piloter le composant est limit&#195;&#169;e. 500 ma par sortie, juqu'&#195; 40v maximum. Comme tous les transistors, il faut bien respecter le montage et placer l'actuateur entre la source d'&#195;&#169;nergie et le ULN2803.&lt;/p&gt;
&lt;p&gt;Une &lt;a href=&#034;http://www.chicoree.fr/w/ULN2803&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;page assez complete avec exemple et sch&#195;&#169;mas&lt;/a&gt; sur le site chicoree.fr&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
