<?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=InputSerialServo.ino</id>
	<title>InputSerialServo.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=InputSerialServo.ino"/>
	<link rel="alternate" type="text/html" href="https://wikilipo.unige.ch/w/index.php?title=InputSerialServo.ino&amp;action=history"/>
	<updated>2026-05-04T02:58:53Z</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=InputSerialServo.ino&amp;diff=1236&amp;oldid=prev</id>
		<title>Pdunandf : Page créée avec « &lt;pre&gt; // extrait de Arduino, a Quick Start Guide, Maik Schmidt // chap. 10, pp. 211 et sequ. // utilisation du moniteur seriel // pour donner des angles au servo // testé av... »</title>
		<link rel="alternate" type="text/html" href="https://wikilipo.unige.ch/w/index.php?title=InputSerialServo.ino&amp;diff=1236&amp;oldid=prev"/>
		<updated>2012-04-15T12:47:19Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &amp;lt;pre&amp;gt; // extrait de Arduino, a Quick Start Guide, Maik Schmidt // chap. 10, pp. 211 et sequ. // utilisation du moniteur seriel // pour donner des angles au servo // testé av... »&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;
// extrait de Arduino, a Quick Start Guide, Maik Schmidt&lt;br /&gt;
// chap. 10, pp. 211 et sequ.&lt;br /&gt;
// utilisation du moniteur seriel&lt;br /&gt;
// pour donner des angles au servo&lt;br /&gt;
// testé avec un &amp;quot;micro servo 9g&amp;quot;&lt;br /&gt;
// bug?: ne répond pas aux valeurs au-dessus de 99 degrés&lt;br /&gt;
// 15.4.2012&lt;br /&gt;
// @atelierpdf.com&lt;br /&gt;
&lt;br /&gt;
// bibliothèque d&amp;#039;arduino&lt;br /&gt;
#include &amp;lt;Servo.h&amp;gt; &lt;br /&gt;
&lt;br /&gt;
// definitions de constantes &lt;br /&gt;
const unsigned int MOTOR_PIN = 9;&lt;br /&gt;
const unsigned int MOTOR_DELAY = 15;&lt;br /&gt;
const unsigned int SERIAL_DELAY = 5;&lt;br /&gt;
const unsigned int BAUD_RATE = 9600;&lt;br /&gt;
&lt;br /&gt;
//initialisation de l&amp;#039;objet Servo&lt;br /&gt;
Servo servo; // &amp;lt;label id=&amp;quot;code.motors.servo&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
void setup() { &lt;br /&gt;
  // initialisation du moniteur&lt;br /&gt;
  Serial.begin(BAUD_RATE);&lt;br /&gt;
  // port du servo&lt;br /&gt;
  servo.attach(MOTOR_PIN); // &amp;lt;label id=&amp;quot;code.motors.servo_attach&amp;quot;/&amp;gt;&lt;br /&gt;
  delay(MOTOR_DELAY);&lt;br /&gt;
 // premier message au servo&lt;br /&gt;
  servo.write(1);&lt;br /&gt;
  delay(MOTOR_DELAY);&lt;br /&gt;
} &lt;br /&gt;
 &lt;br /&gt;
void loop() {&lt;br /&gt;
  const int MAX_ANGLE = 4; // original value 3... seems to solve the angle bug&lt;br /&gt;
  &lt;br /&gt;
  // la chaine &amp;quot;string&amp;quot; doit pouvoir contenir jsuqu&amp;#039;à 5 caractères &lt;br /&gt;
  char degrees[MAX_ANGLE + 1]; // &amp;lt;label id=&amp;quot;code.motors.degrees&amp;quot;/&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  // si le moniteur sériel est ouvert&lt;br /&gt;
  if (Serial.available()) {&lt;br /&gt;
    int i = 0;&lt;br /&gt;
    while (Serial.available() &amp;amp;&amp;amp; i &amp;lt; MAX_ANGLE) {&lt;br /&gt;
      // on saisit le chiffre&lt;br /&gt;
      const char c = Serial.read();&lt;br /&gt;
      if (c != -1 &amp;amp;&amp;amp; c != &amp;#039;\n&amp;#039;)&lt;br /&gt;
        degrees[i++] = c;&lt;br /&gt;
      delay(SERIAL_DELAY);&lt;br /&gt;
    }&lt;br /&gt;
    // on se place au début de la chaine&lt;br /&gt;
    degrees[i] = 0;&lt;br /&gt;
    // on affiche la valeur saisie&lt;br /&gt;
    Serial.print(degrees);&lt;br /&gt;
    Serial.println(&amp;quot; degrees.&amp;quot;);&lt;br /&gt;
    // et on l&amp;#039;envoie au servo en traduisant les asci en entiers&lt;br /&gt;
    servo.write(atoi(degrees)); // &amp;lt;label id=&amp;quot;code.motors.servo_write&amp;quot;/&amp;gt;&lt;br /&gt;
    delay(MOTOR_DELAY);&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>