Étape 5: Apprentissage du Code de l’Arduino (facultatif)
Le code pour soutenir le gestionnaire de l’Arduino est principalement basé sur quatre fonctions supplémentaires :
- doWork - remplace les fonctions de boucle. Voilà votre code
- processIncomingMessages - envoie des informations sur le périphérique iOS connecté
- processOutgoingMessages - reçoit les informations de l’appareil iOS connecté
- doSync - envoie les informations de statut sur les appareils iOS dès qu’il se connecte
Nous allons voir chaque fonction.
La fonction doWork envoie simplement des informations sur l’État (marche/arrêt) de la LED rouge.
Le processIncomingMessages est appelé pour chaque message reçu et comporte deux paramètres :
- variable - le nom du widget qui envoie des données
- valeur - données liées au widget. Par exemple, dans le cas si la valeur de commutateur Widget est 0 si l’interrupteur est éteint et 1 si c’est sur.
Ainsi, la fonction allume et éteint la LED rouge selon la position de l’interrupteur sur le périphérique iOS et avec la position du curseur. Notez que le curseur envoie une valeur dans la plage 0-1023 et l’analogWrite accepte des valeurs dans la plage 0-255. La fonction map transforme une valeur dans une plage de la valeur correspondante dans l’autre gamme (voir documentation Arduino).
Le processOutgoingMessages est vide parce que dans ce cas nous n’avons pas informations envoyées de la carte Arduino.
La fonction doSync est appelée une seule fois lorsque le périphérique iOS doit être relié à l’Arduino et envoie des informations d’initialisation des Widgets comme Switch Widget et gadget de glisseur.
Si la LED a modifié le statut de connexion précédente, l’iOS est de savoir si le Widget de l’interrupteur doit être initialisé ou non. Idem pour la position du curseur Widget.
Vous pouvez facilement ajouter un commutateur et un code simple à allumer et éteindre la LED rouge directement de la carte pour voir comment fonctionne cette fonction.
Plus d’informations sur la façon d’écrire le code et sur les fonctions de bibliothèque disponibles sont dans la documentation (Documentation Arduino Manager).