<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wikilipo.unige.ch/w/index.php?action=history&amp;feed=atom&amp;title=ButtonOnFadingLed.ino</id>
	<title>ButtonOnFadingLed.ino - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wikilipo.unige.ch/w/index.php?action=history&amp;feed=atom&amp;title=ButtonOnFadingLed.ino"/>
	<link rel="alternate" type="text/html" href="https://wikilipo.unige.ch/w/index.php?title=ButtonOnFadingLed.ino&amp;action=history"/>
	<updated>2026-04-25T20:04:05Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>https://wikilipo.unige.ch/w/index.php?title=ButtonOnFadingLed.ino&amp;diff=1187&amp;oldid=prev</id>
		<title>Pdunandf : Page créée avec « &lt;pre&gt; // Getting Started with Arduino // p. 61 // Example 05: Turn on LED when the button is pressed  // and keep it on after it is released // including simple de-bouncing. ... »</title>
		<link rel="alternate" type="text/html" href="https://wikilipo.unige.ch/w/index.php?title=ButtonOnFadingLed.ino&amp;diff=1187&amp;oldid=prev"/>
		<updated>2012-04-13T13:39:33Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &amp;lt;pre&amp;gt; // Getting Started with Arduino // p. 61 // Example 05: Turn on LED when the button is pressed  // and keep it on after it is released // including simple de-bouncing. ... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
// Getting Started with Arduino&lt;br /&gt;
// p. 61&lt;br /&gt;
// Example 05: Turn on LED when the button is pressed &lt;br /&gt;
// and keep it on after it is released&lt;br /&gt;
// including simple de-bouncing.&lt;br /&gt;
// If the button is held, brightness changes.&lt;br /&gt;
// Une DEL est allumée par un boutton et reste allumée&lt;br /&gt;
// si le bouton est maintenu enfoncé, la DEL varie d&amp;#039;intensité&lt;br /&gt;
// April 13, 2012 revised by&lt;br /&gt;
// @atelierpdf.com&lt;br /&gt;
&lt;br /&gt;
#define LED 9     // la fiche de DEL (mode PWM)&lt;br /&gt;
#define BUTTON 7  // la fiche du poussoir&lt;br /&gt;
&lt;br /&gt;
int val = 0;      // contient l&amp;#039;état du bouton&lt;br /&gt;
&lt;br /&gt;
int old_val = 0;  // contient la version précédente de la variable &amp;quot;val&amp;quot; &lt;br /&gt;
int state = 0;    // 0 = LED étiente while 1 = LED allumée&lt;br /&gt;
&lt;br /&gt;
int brightness = 128;        // la valeur d&amp;#039;intensité de la DEL&lt;br /&gt;
unsigned long startTime = 0; // depuis quand le bouton est-il pressé?&lt;br /&gt;
&lt;br /&gt;
void setup() { &lt;br /&gt;
  pinMode(LED, OUTPUT);   // fiche de la DEL comme sortie&lt;br /&gt;
  pinMode(BUTTON, INPUT); // fiche du bouton comme entrée &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
 &lt;br /&gt;
  val = digitalRead(BUTTON); // lecture de l&amp;#039;état du bouton&lt;br /&gt;
&lt;br /&gt;
  // tester s&amp;#039;il y a eu une transition entre en et hors (0/1) &lt;br /&gt;
  if ((val == HIGH) &amp;amp;&amp;amp; (old_val == LOW)) {&lt;br /&gt;
 &lt;br /&gt;
    state = 1 - state; // inverser la valeur d&amp;#039;état&lt;br /&gt;
&lt;br /&gt;
    startTime = millis(); // millis() retourne la valeur de l&amp;#039;horloge de l&amp;#039;arduino&lt;br /&gt;
                          // combien de millème de secondes&lt;br /&gt;
                          // ont-elles passé depuis que le cuircuit a &lt;br /&gt;
                          // été réinitialisé?&lt;br /&gt;
                          // (on se souvient de quand le bouton a été&lt;br /&gt;
                          // sollicité la dernière fois)&lt;br /&gt;
    delay(10);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
// tester si le bouton est maintenu enclencché &lt;br /&gt;
  if ((val == HIGH) &amp;amp;&amp;amp; (old_val == HIGH)) {&lt;br /&gt;
&lt;br /&gt;
    // si le bouton est maintenu enfoncé pendant plus de 500 milisecondes&lt;br /&gt;
    if (state == 1 &amp;amp;&amp;amp; (millis() - startTime) &amp;gt; 500) {&lt;br /&gt;
&lt;br /&gt;
      brightness++; // auguementer la luminosité de la LED de 1&lt;br /&gt;
      delay(10);    // un délai d&amp;#039;attente pour éviter une&lt;br /&gt;
                    // montée en puissance trop rapide&lt;br /&gt;
&lt;br /&gt;
      if (brightness &amp;gt; 255) { // a-t-on atteint le maximum d&amp;#039;intensité?&lt;br /&gt;
&lt;br /&gt;
        brightness = 0; // si l&amp;#039;on a dépassé 255&lt;br /&gt;
                        // on retombe à 0&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  old_val = val; // la variable &amp;quot;val&amp;quot; est vieille, mettons-la en mémoire&lt;br /&gt;
&lt;br /&gt;
 // si le bouton est enclenché&lt;br /&gt;
  if (state == 1) {      &lt;br /&gt;
    analogWrite(LED, brightness); // allumons la DEL&lt;br /&gt;
                                  // à la valeur actuelle d&amp;#039;intensité&lt;br /&gt;
  } else { &lt;br /&gt;
    analogWrite(LED, 0);&lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pdunandf</name></author>
	</entry>
</feed>