App Inventor : Communication via bluetooth App...

6
App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016 App Inventor App Inventor : Communication via bluetooth Dans cet exemple il s’agit, de piloter la puissance d’éclairage une del (variation de lumière) depuis le smartphone (application Android) Pour cela nous allons utiliser les sorties « analogiques » (PWM) des microcontroleurs (Picaxe ou Arduino) pour faire varier la puissance lumineuse de la del. Voir autre ressource pour davantage de précisions. Côté application, nous allons utiliser un curseur qui permet de communiquer une valeur entre 0 et 255 (soit les 256 possibilités en 8 bits) en bluetooth. Curseur de 0 à 255 et initialement à 128 (valeur milieu) Une sortie PWM sur un microcontroleur est une sortie Numérique dont les signaux ont toujours une valeur LOW (0 logique) ou HIGH (1 logique). Mais le principe est de construire un signal qui est alternativement LOW et HIGH et de répéter très vite cette alternance en faisant varier la fréquence du signal. Dans le cas d'une DEL, elle est alternativement allumée et éteinte mais le cycle est tellement rapide que la persistance rétinienne nous donne l’illusion d’une DEL allumée en permanence. Prenons par exemple une période de 10ms, soit une fréquence de 100Hz. Si la DEL est allumée pendant 5ms et éteinte pendant 5ms, comme sur la figure ci-contre, l’impression sera une luminosité de 50% de la luminosité maximum. Exemple avec PMW à 50% La fréquence est de 100Hz, le rapport cyclique de 50% Application Android Communication sans fil bluetooth Interface programmable (Picaxe ou Arduino) Module bluetooth Acquérir Traiter Communiquer Chaine d’énergie Energie

Transcript of App Inventor : Communication via bluetooth App...

Page 1: App Inventor : Communication via bluetooth App Inventormoncoursdetechno.ovh/didacticiels/appinventor/... · App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

App InventorApp Inventor : Communication via bluetooth

Dans cet exemple il s’agit, de piloter la puissance d’éclairage une del (variation de lumière) depuis le smartphone (application Android)

Pour cela nous allons utiliser les sorties « analogiques » (PWM) des microcontroleurs (Picaxe ou Arduino) pour faire varier la puissance lumineuse de la del. Voir autre ressource pour davantage de précisions.

Côté application, nous allons utiliser un curseur qui permet de communiquer une valeur entre 0 et 255 (soit les 256 possibilités en 8 bits) en bluetooth.

Curseur de 0 à 255 et initialement à 128 (valeur milieu)

Une sortie PWM sur un microcontroleur est une sortie Numérique dont les signaux ont toujours une valeur LOW (0 logique) ou HIGH (1 logique). Mais le principe est de construire un signal qui est alternativement LOW et HIGH et de répéter très vite cette alternance en faisant varier la fréquence du signal.

Dans le cas d'une DEL, elle est alternativement allumée et éteinte mais le cycle est tellement rapide que la persistance rétinienne nous donne l’illusion d’une DEL allumée en permanence. Prenons par exemple une période de 10ms, soit une fréquence de 100Hz. Si la DEL est allumée pendant 5ms et éteinte pendant 5ms, comme sur la figure ci-contre, l’impression sera une luminosité de 50% de la luminosité maximum.

Exemple avec PMW à 50%

La fréquence est de 100Hz, le rapport cyclique de 50%

Application Android

Communication sans fil

bluetooth

Interface programmable

(Picaxe ou Arduino)

Module bluetooth

Acquérir Traiter Communiquer

Chaine d’énergieEnergie

Page 2: App Inventor : Communication via bluetooth App Inventormoncoursdetechno.ovh/didacticiels/appinventor/... · App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

Côté interface design de l’application, il suffit d’ajouter un curseur (renommé « Variation_Lum »: Ascenseur en dessous des2 boutons « Allumer » « Eteindre ».

4

Reprendre l’application Appli_Lampe_Bluetooth vue précédemment et l’enregistrer sous un nouveau nom de projet

1

Ajouter les images que l’on vautiliser par la suite :

Image variation et nouveau logo de l’application

2

Changez les propriétés de l’application : Logo et nomme l’application

3

L’ascenseur doit avoir pour valeur max et min respectivement 255 et 1 (car nous sommes en 8 bits, voir tableau en bas de page). Egalement il peut être initialisé en position milieu (Position puce) soit à 128.

Page 3: App Inventor : Communication via bluetooth App Inventormoncoursdetechno.ovh/didacticiels/appinventor/... · App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

Côté programmation … Quelques ajouts et modifications sont à réaliser pour communiquer les valeurs de l’ascenseur via le bluetooth

5

La partie de code correspondant à la fonction bluetooth ne change pas

Quand le curseur de l’ascenseur change de position :

Le Client_Bluetooth envoi la position actuelle du curseur :Soit une valeur entière entre 1 et 255, d’ou l’utilisation du bloc arrondi

Initialiser une variable var_lum à 128 (valeur milieu du curseur par défaut)

Le bouton « ON » envoi donc maintenant le contenu de la variable var_lum

Côté bouton « OFF » rien ne change : il communique 0 via le client bluetooth

Page 4: App Inventor : Communication via bluetooth App Inventormoncoursdetechno.ovh/didacticiels/appinventor/... · App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

Vcc pour l’alimentation 3,3V ou 5V

Gnd pour l’alimentation : 0V

Tx et Rx pour la communication

L’application est terminée, vous pouvez la tester et l’installer sur la tablette ou smartphone Android

6

Il reste maintenant à réaliser un montage électronique qui permet de recevoir en bluetooth les valeurs de 1 à 255 générés par l’application.

La solution la plus simple étant d’utiliser une interface programmable Picaxe ou Arduino et leurs sorties PWM associées

RxTx

GndVcc

Début

Communication bluetooth ? NON

OUI

Initialisation bluetooth

Acquisition de la valeur dans « variable »

Fixer la sortie PWM à la valeur de « variable »

Quelque soit l’interface choisie, voici l’algorithme qu’il faut programmer

variable = 0 Initialisation de la variable à 0

Page 5: App Inventor : Communication via bluetooth App Inventormoncoursdetechno.ovh/didacticiels/appinventor/... · App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

Exemple avec un microcontroleur Picaxe sous Blockly

RxTx

GndVcc

Ne pas oublier une résistance pour limiter le courant dans la del : 300 à 500 Ohms

Page 6: App Inventor : Communication via bluetooth App Inventormoncoursdetechno.ovh/didacticiels/appinventor/... · App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

App Inventor - Appli Lampe via Bluetooh N. Tourreau - P. Pujades - Janv2016

Exemple avec une interface Arduino sous Ardublock

RxTx

GndVcc

Ne pas oublier une résistance pour limiter le courant dans la del :300 à 500 Ohms

D3 car sortie PWM

Initialisation de la variable transmise par bluetooth à 0

Ne pas hésiter à ajouter un afficheur afin de visualiser la valeur transmise par bluetooth

Attention ici on utile le port D3 car seuls les ports 3, 5, 6, 9, 10 et 11 peuvent fournir une sortie analogique (PWM). Ils sont repérés par le symbole :