<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://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="https://arts-numeriques.codedrops.net/spip.php?id_mot=21&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>Bios, the Bible Scribe, Robotlab, 2007</title>
		<link>https://arts-numeriques.codedrops.net/Bios-the-Bible-Scribe-Robotlab-2007</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/Bios-the-Bible-Scribe-Robotlab-2007</guid>
		<dc:date>2010-08-31T23:43:12Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Installation</dc:subject>
		<dc:subject>Citation - hommage</dc:subject>
		<dc:subject>Robotique</dc:subject>
		<dc:subject>Performance</dc:subject>
		<dc:subject>Data mining</dc:subject>

		<description>&lt;p&gt;&lt;i&gt;The bible scribe&lt;/i&gt; [Bios] (pour &#034;basic input output system&#034;) est une pi&#232;ce fonctionnant sur le contraste entre inhumanit&#233; et anthropomorphisme. Le robot est un bras et se comporte comme tel, &#233;crivant lentement et minutieusement en &#233;criture gothique un texte fondateur de la culture occidentale.&lt;/p&gt;

-
&lt;a href="https://arts-numeriques.codedrops.net/-Catalogue-virtuel-" rel="directory"&gt;Catalogue virtuel&lt;/a&gt;

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-Installation-+" rel="tag"&gt;Installation&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Citation-hommage-+" rel="tag"&gt;Citation - hommage&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Robotique-+" rel="tag"&gt;Robotique&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Performance-+" rel="tag"&gt;Performance&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Data-mining-+" rel="tag"&gt;Data mining&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L150xH100/arton237-c6e7d.jpg?1726735845' class='spip_logo spip_logo_right' width='150' height='100' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;&lt;i&gt;The bible scribe&lt;/i&gt; [Bios] (pour &#034;basic input output system&#034;) est une pi&#232;ce fonctionnant sur le contraste entre inhumanit&#233; et anthropomorphisme. Le robot est un bras et se comporte comme tel, &#233;crivant lentement et minutieusement en &#233;criture gothique un texte fondateur de la culture occidentale.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;i&gt;The bible scribe&lt;/i&gt;, comme son nom l'indique, est un scribe qui &#233;crit la bible. Cette action est charg&#233;e d'un fort pathos et associ&#233;e &#224; une image caricaturale : celle du moine bedonnant en chasuble brune, enluminant une bible, permettant au savoir de traverser un moyen-age obscurantiste et dangereux. Sauf qu'ici le scribe est un bras robotique industriel orange, et que son temps d'ex&#233;cution est calculable : il mettra 7 mois pour &#233;crire l'ancien testament et les livres de Mo&#239;se.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_334 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH332/bios-biacs06-9bc4c.jpg?1738488567' width='500' height='332' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Bios (pour &#034;basic input output system&#034;) est une pi&#232;ce fonctionnant sur le contraste entre inhumanit&#233; et anthropomorphisme. Le robot est un bras et se comporte comme tel, &#233;crivant lentement et minutieusement en &#233;criture gothique un texte fondateur de la culture occidentale. Depuis la pointe du porte-plume en contact avec le papier jusqu'&#224; la large base du robot, les mouvements appliqu&#233;s et lents de l'&#233;criture communiquent &#224; cet ench&#226;ssement de formes cylindriques une forme de vie et de sagesse, qui produit sur le spectateur un trouble &#233;motionnel et une exp&#233;rience esth&#233;tique proche de l'animisme.&lt;/p&gt;
&lt;p&gt;La force de la pi&#232;ce tient bel et bien dans sa haute technicit&#233;, la sensation de force induite par la masse, et de maitrise qui &#233;mane des gestes de la machine, en particulier de sa plume, &#224; chaque fois pos&#233;e avec la pression exacte. Son silence, ses courtes pauses &#233;voquent des qualit&#233;s humaines : la concentration, le recueillement, la solennit&#233;.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_333 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH333/bible-scribe-closeup-91c47.jpg?1738488568' width='500' height='333' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Une anecdote rapporte que Marcel Duchamp, lors d'une exposition a&#233;ronautique, montra &#224; Fernand L&#233;ger et Constantin Brancusi une h&#233;lice et demanda &#034;Qui pourrait mieux faire que cette h&#233;lice ?&#034;, r&#233;v&#233;lant une des cl&#233;s de lecture du ready-made : une r&#233;v&#233;rence au design industriel, avec lequel les artistes ne peuvent rivaliser dans la pr&#233;cision des formes. Ironiquement, &#034;Kuka&#034;, le bras robotique, est tr&#232;s proche d'un Brancusi avec sa base brute boulonn&#233;e au sol s'affinant et gagnant en pr&#233;cision au fur et &#224; mesure que l'on s'&#233;l&#232;ve.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_331 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH381/brancusi-e473e.jpg?1738488568' width='500' height='381' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Le bras, pr&#233;lev&#233; du monde industriel et isol&#233; dans des lieux prestigieux, devient sculpture, et son orange vif, ses courbes parfaites, ses mouvements accompagn&#233;s d'un bruit discret des rouages h&#233;lico&#239;daux, rivalise dans peine avec l'esth&#233;tique du mus&#233;e.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_332 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH333/bios-zkm05-6aae4.jpg?1738488568' width='500' height='333' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Revenant &#224; l'&#233;criture dans une &#233;poque domin&#233;e par le tapuscrit, Bible scribe nous murmure la question &#034;Et si les machines &#233;taient les meilleurs protecteurs de la culture ?&#034;.&lt;/p&gt;
&lt;p&gt;The Bible Scribe fait partie d'une s&#233;rie de travaux autour de la relation homme/machine r&#233;alis&#233;s par &lt;a href=&#034;http://www.robotlab.de/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;robotlab&lt;/a&gt;, cr&#233;&#233; par Matthias Gommel, Martina Haitz and Jan Zappe, avec le soutine du &lt;a href=&#034;http://www.zkm.de/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;ZKM&lt;/a&gt; (Zentrum f&#224;&#188;r Kunst und Medientechnologie).&lt;/p&gt;
&lt;iframe width=&#034;100%&#034; height=&#034;415&#034; src=&#034;https://www.youtube.com/embed/RvUpkO4bo0U&#034; frameborder=&#034;0&#034; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>&#034;International Dance Party&#034;, Niklas roy, 2007</title>
		<link>https://arts-numeriques.codedrops.net/International-Dance-Party-Niklas-roy-2007</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/International-Dance-Party-Niklas-roy-2007</guid>
		<dc:date>2010-08-18T20:59:49Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Installation</dc:subject>
		<dc:subject>Robotique</dc:subject>
		<dc:subject>physical computing</dc:subject>
		<dc:subject>Electro-mecanique</dc:subject>

		<description>&lt;p&gt;Le International Dance Party se pr&#233;sente sous la forme d'une flight-case sur roulettes, attendant un minimum d'animation pour se lancer. Il s'ouvre alors automatiquement et d&#233;couvre aux visiteurs un panneau led multicolore, des hauts-parleurs, un gyrophare et quelques autres accessoires, tout en montant le son.&lt;/p&gt;

-
&lt;a href="https://arts-numeriques.codedrops.net/-Catalogue-virtuel-" rel="directory"&gt;Catalogue virtuel&lt;/a&gt;

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-Installation-+" rel="tag"&gt;Installation&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Robotique-+" rel="tag"&gt;Robotique&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-physical-computing-+" rel="tag"&gt;physical computing&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Electro-mecanique-+" rel="tag"&gt;Electro-mecanique&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L150xH113/arton228-653e2.jpg?1726775370' class='spip_logo spip_logo_right' width='150' height='113' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Tags : installation, musique, electronique, participatif&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Dans la page d'entr&#233;e de son site, &lt;a href=&#034;http://www.niklasroy.com/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Niklas Roy&lt;/a&gt; dit simplement &#034;l like to make things&#034; et c'est de fait la parfaite d&#233;finition de ce bricoleur allemand excentrique et &#233;nergique.&lt;/p&gt;
&lt;p&gt;Int&#233;ress&#233; aussi bien par l'&#233;lectro-m&#233;canique que la programmation, Roy a &#224; son actif un bon nombre de prototypes : de &lt;a href=&#034;http://www.vimeo.com/598752&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;l'escabeau motoris&#233;&lt;/a&gt; &#224; des &lt;a href=&#034;http://www.niklasroy.com/articles/55/homemade-diy-sleds&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;prototypes de luges&lt;/a&gt;, la prise de courant auto-aliment&#233;e, le &lt;a href=&#034;http://www.niklasroy.com/pongmechanik/indexen.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;pong m&#233;canique&lt;/a&gt; et m&#234;me un &lt;a href=&#034;http://www.niklasroy.com/articles/71/raphael-rogenmoser-eat-shit-duchamp-champion-2010-zuerich&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;urinoir de Duchamp de comp&#233;tition &#224; roulettes&lt;/a&gt;. Un humour potache traverse son travail, pas &#233;loign&#233; du fran&#231;ais Paul Granjon. Mais Roy insiste sur la dimension participative : la plupart de ses machines sont destin&#233;es &#224; &#234;tre manipul&#233;e par le public, ce qui d&#233;montre sa confiance dans ses capacit&#233;s techniques.&lt;/p&gt;
&lt;p&gt;La combinaison de ces facteurs l'a amen&#233; &#224; &#233;laborer un objet complexe, connu sous le nom &#034;International dance party&#034;. Il s'agit de la combinaison d'un sound-system, (ampli et hauts parleurs), d'un light-show, et d'un syst&#232;me de g&#233;n&#233;ration de musique (une techno assez carr&#233;e), le tout rendu autonome par des capteurs de mouvement.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_319 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH375/idp_wallpaper_1024x768-14551.jpg?1743055122' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_297 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH333/06_large-35a72.jpg?1743055122' width='500' height='333' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Le International Dance Party se pr&#233;sente sous la forme d'une flight-case sur roulettes, attendant un minimum d'animation pour lancer une s&#233;quence rythmique simple. Si l'agitation augmente autour de l'appareil, il s'ouvre automatiquement et d&#233;couvre aux visiteurs un panneau led multicolore, des hauts-parleurs, un gyrophare et quelques autres accessoires, tout en montant le son. Si les spectateurs r&#233;agissent en dansant (en produisant une activit&#233; plus forte), la machine r&#233;pond en cons&#233;quence : le son se diversifie, le light-show se d&#233;ploie, la machine va jusqu'&#224; ajouter de la fum&#233;e et couper la lumi&#232;re ambiante pour faire chauffer la salle.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_318 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L470xH419/The-International-Dance-Party--a5fca.jpg?1726843910' width='470' height='419' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;L'exp&#233;rience est la plupart du temps aussi inattendue que jouissive,simple et imm&#233;diate mais parfaitement men&#233;e &#224; son terme, et loin d'&#234;tre stupide. Politiquement, Niklas Roy sugg&#232;re que l'on ne doit pas &#234;tre spectateur mais acteur du dispositif. Si on en veut plus, il faut en donner plus. Ergonomiquement, il est sur le m&#234;me terrain qu'une foule d'ing&#233;nieurs du qui travaillent en ce moment sur des dispositifs destin&#233;s &#224; accompagner et motiver l'activit&#233; de leurs usagers. Roy propose un objet qui r&#233;pond parfaitement &#224; cet objectif, qui de plus est collectif et festif.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_298 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH375/99-4bfc0.jpg?1743055123' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_299 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH375/100-34e50.jpg?1743055123' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Un Pecha Kucha (pr&#233;sentation en 6 minutes et 40 secondes d'un projet) du &lt;a href=&#034;http://vimeo.com/1056619&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;projet International Dance Party est disponible&lt;/a&gt;.&lt;/p&gt;
&lt;object width=&#034;480&#034; height=&#034;267&#034;&gt;&lt;param name=&#034;allowfullscreen&#034; value=&#034;true&#034; /&gt;&lt;param name=&#034;allowscriptaccess&#034; value=&#034;always&#034; /&gt;&lt;param name=&#034;movie&#034; value=&#034;http://vimeo.com/moogaloop.swf?clip_id=612459&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0&#034; /&gt;&lt;embed src=&#034;http://vimeo.com/moogaloop.swf?clip_id=612459&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0&#034; type=&#034;application/x-shockwave-flash&#034; allowfullscreen=&#034;true&#034; allowscriptaccess=&#034;always&#034; width=&#034;480&#034; height=&#034;267&#034;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Flat earth : communication entre internet, processing et arduino</title>
		<link>https://arts-numeriques.codedrops.net/Flat-earth-communication-entre</link>
		<guid isPermaLink="true">https://arts-numeriques.codedrops.net/Flat-earth-communication-entre</guid>
		<dc:date>2008-05-28T17:11:51Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Installation</dc:subject>
		<dc:subject>Robotique</dc:subject>
		<dc:subject>(X)html</dc:subject>
		<dc:subject>Php</dc:subject>
		<dc:subject>Open Source</dc:subject>
		<dc:subject>Processing</dc:subject>
		<dc:subject>Arduino</dc:subject>

		<description>
&lt;p&gt;Mon projet lors du workshop &#034;Hybrid scrapyard&#034; mettait en jeu la connection entre un formulaire sur le web et le micro-contr&#195;&#180;leur arduino, &#195; travers un script de processing, qui ne servait qu'&#195; passer l'info. Trois portions de code donc, pr&#195;&#169;sent&#195;&#169;es de mani&#195;&#168;re brute ici. &lt;br class='autobr' /&gt;
1. La page web Cette page pr&#195;&#169;sente un formulaire et en r&#195;&#169;colte apr&#195;&#168;s postage l'information pour la traiter. Le script php &#195;&#169;crit ensuite l'information dans un simple fichier texte. Il r&#195;&#169;colte aussi l'image d'une (&#8230;)&lt;/p&gt;


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

/ 
&lt;a href="https://arts-numeriques.codedrops.net/+-Installation-+" rel="tag"&gt;Installation&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Robotique-+" rel="tag"&gt;Robotique&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-X-html-+" rel="tag"&gt;(X)html&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Php-+" rel="tag"&gt;Php&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Open-Source-+" rel="tag"&gt;Open Source&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Processing-+" rel="tag"&gt;Processing&lt;/a&gt;, 
&lt;a href="https://arts-numeriques.codedrops.net/+-Arduino-+" rel="tag"&gt;Arduino&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L113xH150/arton49-04a25.jpg?1757838258' class='spip_logo spip_logo_right' width='113' height='150' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Mon projet lors du workshop &lt;a href=&#034;http://www.imal.org/NewBraveWorld/NBW2/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&#034;Hybrid scrapyard&#034;&lt;/a&gt; mettait en jeu la connection entre un formulaire sur le web et le micro-contr&#195;&#180;leur arduino, &#195; travers un script de processing, qui ne servait qu'&#195; passer l'info. Trois portions de code donc, pr&#195;&#169;sent&#195;&#169;es de mani&#195;&#168;re brute ici.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;span class='spip_document_43 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH375/2530336257_aeaa116518-3cb25.jpg?1726880067' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;1. La page web&lt;/h2&gt;
&lt;p&gt;Cette page pr&#195;&#169;sente un formulaire et en r&#195;&#169;colte apr&#195;&#168;s postage l'information pour la traiter. Le script php &#195;&#169;crit ensuite l'information dans un simple fichier texte. Il r&#195;&#169;colte aussi l'image d'une webcam mais ceci a &#195;&#169;t&#195;&#169; abandonn&#195;&#169; lors de la pr&#195;&#169;sentation.&lt;br class='manualbr' /&gt;Le fichier html n&#195;&#169;cessite la librairie jquery, et le fichier a &#195;&#169;crire &#034;donnees.txt&#034;, ainsi qu'une css qui habille le tout.&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;&lt;!DOCTYPE html PUBLIC &#034;-//W3C//DTD XHTML 1.0 Transitional//EN&#034; &#034;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#034;&gt; &lt;html xmlns=&#034;http://www.w3.org/1999/xhtml&#034;&gt; &lt;head&gt; &lt;meta http-equiv=&#034;Content-Type&#034; content=&#034;text/html;charset=utf-8&#034;/&gt; &lt;title&gt;Move the world&lt;/title&gt; &lt;link rel=&#034;shortcut icon&#034; href=&#034;favicon.ico&#034; type=&#034;image/x-icon&#034;/&gt; &lt;link rel=&#034;stylesheet&#034; type=&#034;text/css&#034; href=&#034;move.css&#034;/&gt; &lt;script type=&#034;text/javascript&#034; src=&#034;jquery.js&#034;&gt;&lt;/script&gt; &lt;script type=&#034;text/javascript&#034;&gt; $(document).ready(function(){ $(&#034;#message&#034;).fadeOut(2000); lawebcam=window.setInterval(&#034;webcam()&#034;,30000); }); } function webcam(){ chiffrealea=(Math.random())*1000000 + &#034;&#034;; $(&#034;#ima&#034;).attr(&#034;src&#034;,&#034;webcam.jpg?&#034; + chiffrealea); } &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div id=&#034;general&#034;&gt; &lt;h1&gt;Petite terre carr&#195;&#169;e&lt;/h1&gt; &lt;?php if(isset($_POST['action'])){ $move=addslashes($_POST['dieu']); $chemin_fichier=&#034;donnees.txt&#034;; // ecriture du fichier if(!$fichier = fopen($chemin_fichier, &#034;r+&#034;)) { echo &#034;&lt;div style='color:red'&gt;lecture du fichier &#034;. $requete . &#034;impossible&lt;/div&gt;&#034;; } else { $recup=&#034;&#034;; while (!feof($fichier)) { $buffer = fgets($fichier, 4096); $recup .=$buffer; } fclose ($fichier); } // recuperer le compteur $lignes=split(&#034;/n&#034;,$recup); $compteur=intval($lignes[0]); $compteur++; echo &#034;&lt;span style='color:#fff'&gt;compteur &#034;.$compteur.&#034;&lt;/span&gt;&#034;; $lehtml=$compteur.&#034; \n&#034;.$move; if(!$fichier = fopen($chemin_fichier, &#034;w+&#034;)) { echo &#034;&lt;div style='color:red'&gt;lecture du fichier &#034;. $requete . &#034;impossible&lt;/div&gt;&#034;; } else { fputs($fichier, $lehtml); fclose ($fichier); echo &#034;&lt;div id='message'&gt;Ainsi Soit-il.&lt;/div&gt;&#034;; } } ?&gt; &lt;form action=&#034;index.php&#034; method=&#034;post&#034;&gt; &lt;img src=&#034;god.jpg&#034; /&gt; &lt;div id=&#034;introduction&#034;&gt; &lt;/div&gt; &lt;div id=&#034;imgwebcam&#034;&gt; &lt;img id=&#034;ima&#034; src=&#034;webcam.jpg&#034; /&gt; &lt;/div&gt; &lt;div id=&#034;formulaire&#034;&gt; &lt;h2&gt;Je veux...&lt;/h2&gt; &lt;select name=&#034;dieu&#034; id=&#034;dieu&#034;&gt; &lt;option value=&#034;X&#034;&gt;laisser faire...&lt;/option&gt; &lt;option value=&#034;a&#034;&gt;un feu de camp, et une guitare&lt;/option&gt; &lt;option value=&#034;b&#034;&gt;un centre-ville anim&#195;&#169;&lt;/option&gt; &lt;option value=&#034;c&#034;&gt;une bonne guerre&lt;/option&gt; &lt;option value=&#034;d&#034;&gt;une tremblement de terre&lt;/option&gt; &lt;option value=&#034;e&#034;&gt;Donner un coup de boost&lt;/option&gt; &lt;option value=&#034;f&#034;&gt;Ralentir un peu le cours des choses&lt;/option&gt; &lt;/select&gt; &lt;input type=&#034;hidden&#034; name=&#034;action&#034; value=&#034;avance&#034; /&gt; &lt;div class=&#034;lesubmit&#034;&gt; &lt;input type=&#034;submit&#034; value=&#034;Maintenant&#034; /&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class=&#034;clearer&#034;&gt;&lt;/div&gt; &lt;/form&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&#034;http://www.workplace.lescorsaires.be/active_world/index.php&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;La page est ici et active&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;2. Le code processing&lt;/h2&gt;
&lt;p&gt;Le code processing lit le fichier &#034;donnees.txt&#034; et en lit la premi&#195;&#168;re ligne. C'est un compteur. Si le chiffre a chang&#195;&#169;, il prend le caract&#195;&#168;re &#195;&#169;crit en deuxi&#195;&#168;me ligne et l'envoie au micro-contr&#195;&#180;leur par le port s&#195;&#169;rie. Ici, le Xbee fait la connection.&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;/* charge le fichier du web donne l'info &#195; arduino par le port s&#195;&#169;rie */ import processing.serial.*; int compteurprecedent=0; int value=0; Serial port; // Create object from Serial class char actuel; void setup() { size(600, 140); PFont fontA = loadFont(&#034;TradeGothic-BoldCondTwenty-32.vlw&#034;); textFont(fontA, 32); smooth(); background(30); println(Serial.list()); frameRate(10); // Open the port that the board is connected to and use the same speed (9600 bps) port = new Serial(this, Serial.list()[0], 9600); } void draw() { fill(255); text(&#034;Just reading a file on the web&#034;, 10, 40); text(&#034;and pass the information to arduino&#034;, 10, 100); String lines[] = loadStrings(&#034;http://www.workplace.lescorsaires.be/active_world/donnees.txt&#034;); int compteuractuel=int(trim(lines[0])); // envoyer, un caract&#195;&#168;re par ligne dans le fichier texte pomp&#195;&#169;... if(compteurprecedent !=compteuractuel){ println(&#034;compteur : &#034; + compteuractuel); for(int li=1; li&lt;lines.length;li++){ actuel = lines[li].charAt(0); if (actuel != 88){ println(&#034;on envoie -&#034; + actuel + &#034;-&#034;); port.write(actuel); } } compteurprecedent=compteuractuel; } // retour d'info de arduino while (port.available() &gt; 0) { int inByte = port.read(); println(&#034;re&#195;&#167;u &#034; + char(inByte)); } } void keyPressed() { if(key == 'z' &amp;&amp; value==0) { value = 1; port.write(90); } else { value = 0; } }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;3. Le code embarqu&#195;&#169; sur Arduino&lt;/h2&gt;
&lt;p&gt;Le code d&#195;&#169;marre de mani&#195;&#168;re autonome et pr&#195;&#169;voit des &#195;&#169;v&#195;&#169;nements dans le futur en fonction de param&#195;&#168;tres : temps avant l'&#195;&#169;v&#195;&#169;nement, dur&#195;&#169;e de l'&#195;&#169;v&#195;&#169;nement, a quel contact envoyer le signal. Il &#195;&#169;coute ensuite le port s&#195;&#169;rie pour y recevoir les informations envoy&#195;&#169;e par 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;// Flat earth par S. Noel // definit les prochains evenements int next[] = { 10,20,30,40,50 }; int average[] = { 420,340,320,200,180 }; int action[] = { 0,0,0,0,0 }; // move : 7 shake : 12, war : 11, fete : 6, campfire : 7, autre : 10 int sortie[] = { 12,7,11,9,6 }; int delai= 500; int nbeve = 5; void setup() { // dans le setup Serial.begin(9600); // declare toutes les sorties for(int u=0; u&lt;nbeve; u++){ pinMode(sortie[u], OUTPUT); } pinMode(13, OUTPUT); } void loop(){ // decroit les evenements, verifie s'ils sont arrives &#195; zero for(int u=0; u&lt;nbeve; u++){ next[u]--; if (next[u]&lt;1){ // declenche une action, met le compteur de l'evenement if (u == 0) { action[u]=16; } if (u == 1) { action[u]=8; } if (u == 2) { action[u]=60; } if (u == 3) { action[u]=36; } if (u == 4) { action[u]=70; } next[u]=random(50,average[u]); Serial.print(sortie[u]); } if(action[u] &gt; 0){ action[u]--; // active l'action digitalWrite(sortie[u], HIGH); } else { digitalWrite(sortie[u], LOW); } } if (Serial.available() &gt; 0) { char valeur = Serial.read(); switch(valeur) { case 'a': // feu de camp, - deville, + de shake, + de war next[3]=1; // feu de camp average[4]=average[4]+20; // moins de fetes average[0]=average[0]-20; // plus de shake average[2]=average[2]-20; // plus de war break; case 'b': // concert -ville : ville, - de feu de camp, - de war, + de shake next[4]=1; // feu de camp average[3]=average[3]+20; // moins de fetes average[0]=average[0]-20; // plus de shake average[2]=average[2]+20; // moins de war break; case 'c': // guerre next[2]=1; // guerre average[3]=average[3]+20; // moins de ville average[4]=average[4]-20; // plus de campfire average[0]=average[0]-20; // plus de shake break; case 'd': // tremblement : - de ville + campfire - shake, +guerre next[0]=1; // tremblement average[3]=average[3]+20; // moins de ville average[4]=average[4]-20; // plus de campfire average[0]=average[0]+20; // moins de shake average[2]=average[2]-20; // plus de guerre break; case 'e': // moins de delay delai=delai-30; // tremblement if(delai &lt; 100) { delai=100; } average[1]=average[1]-20; // plus de move break; case 'f': // augmente le delay delai=delai+30; // tremblement average[1]=average[1]+20; // moins de move break; case 'Z': // teste tout Serial.print(valeur); for(int u=0; u&lt;nbeve; u++){ digitalWrite(sortie[u], HIGH); } delay(2000); for(int u=0; u&lt;nbeve; u++){ digitalWrite(sortie[u], LOW); } break; } // verifie les limites basses for(int u=0; u&lt;nbeve; u++){ if(average[u] &lt; 50) { average[u]=50; } } Serial.print(valeur); } delay(delai); // toutes les demi secondes par d&#195;&#169;faut }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le programme est bas&#195;&#169; sur 5 relais, donc 5 p&#195;&#169;riph&#195;&#169;riques que l'on active ou d&#195;&#169;sactive. Dans mon cas, 2 moteurs et 3 ensembles de diodes et lampes aliment&#195;&#169;s en 3 et 6 volts.&lt;/p&gt;
&lt;p&gt;Le code n'est pas des plus propres, mais il a &#195;&#169;t&#195;&#169; produit int&#195;&#169;gralement pendant la dur&#195;&#169;e du workshop.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_42 spip_documents spip_documents_center'&gt;&lt;img src='https://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH375/2530336355_37dbdf263d-9dc0d.jpg?1726880067' width='500' height='375' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
