Étape 3: App Inventor
Pour créer l’application, j’ai utilisé MIT App Inventor, ses gratuit et assez facile à apprendre/utiliser. J’ai dû tout d’abord créer les écrans App/graphiques - cela peut être fait dans photoshop etc.. Il facilite en App Inventor si vous avez tous les éléments qui composent les écrans comme images/fichiers séparés.
App Inventor a deux points de vue, theres l’onglet « Designer » pour les trucs visual front-end et l’onglet « Blocs » pour obtenir le code.
À l’aide de l’onglet « Designer » j’ai accumulé les écrans de l’application. Une question, que j’ai trouvé est que le composant bluetooth ne fonctionne pas sur les multiples écrans donc après l’écran « Bienvenue », tous les autres (alarme temp, de connexion, RVB, couleurs) sont tous créé dans le même écran - efficacement les couches que j’ai activer/désactiver.
Les principaux outils que j’ai utilisé sont pour 'mise en page/orientation' et la « toile ». Une toile est une zone sensible de touch que vous pouvez afficher sous forme d’image.
Une fois que les visuels sont configurés, son temps à basculer vers l’onglet « Blocs » et écrivez le code. Je vais décrire dans brèves, mais c’est sans doute plus facile si vous importez mon fichier dans App Inventor et avez un jeu autour de vous...
Ces premiers blocs sont pour les écrans de connexion. Pour permettre l’application à essayer de vous connecter automatiquement au module bluetooth Arduinos j’ai créer et définir une variable à l’adresse de mon HC06. J’ai utiliser une minuterie pour changer l’image de fond alors qu’il se connecte. Si la connexion est réussie, puis il charge l’écran temp de couleur. Si le bluetooth ne parvient pas à se connecter automatiquement, vous devrez appuyer sur le bouton « se connecter au périphérique ». Cela fera apparaître une liste de tous les périphériques bluetooth, que votre téléphone peut voir. La commande « bluetoothclient1.connect » utilise l’adresse de périphérique vous sélectionnez dans cette liste pour se connecter avec.
Ces blocs de contrôlent ce qui se passe quand vous touchez chacun des boutons de menu - changez entre RVB, temp de couleur et d’alarme. Comme ils sont touchés les couches visuelles applicables sont activés et désactivé. C’est à dire lorsque vous appuyez sur le bouton de menu RGB il bascule l’image d’arrière-plan de la toile de boutons sur l’icône sombre, désactive l’écran RVB et l’autre.
Le contrôle de la puissance et la luminosité est partagé entre les écrans temporaires RVB et les couleurs. Afin que l’Arduino savoir qui a LED de contrôle, j’ai besoin de lui dire à quel écran est chargé. Une chaîne de texte dans le format (écran)? est envoyé par votre téléphones bluetooth à l’aide de la commande BluetoothClient1.SendText.
Ce bloc envoie la chaîne (puissance)? chaque fois que le bouton d’alimentation est branché.
Ces blocs de contrôlent le réglage de température de couleur. Quand vous touchez la toile, la coordonnée Y de votre point de contact est utilisée pour définir la variable « cool ». La valeur Y est entraînée par la taille en pixels de la toile, dans mon cas, une valeur comprise entre 0 et 450. J’utilise le coefficient multiplicateur qui convertir une valeur utilisable de PWM (0-255). J’ai ensuite envoyer une chaîne avec cette valeur et un identifiant sous la forme (Tempvalue)?.
Blocs similaires comme ci-dessus, mais pour le réglage de la luminosité. En utilisant la coordonnée X cette fois et multiplicateurs différents pour définir la variable « Claire » à une valeur comprise entre 10 et 100.
Ces blocs sont pour le contrôle de RVB. Il y a une commande appelée « GetPixelColor » qui peut être utilisée pour obtenir une valeur RGB du pixel est en contact avec votre doigt. Il affiche la valeur avec un 255 supplémentaire à la fin pour une raison quelconque, alors je fais un peu de travail pour obtenir la valeur dans le format (RVBredvalue.greenvalue.bluevalue.)? Encore une fois c’est ensuite envoyé à l’Arduino, mais avec RGB comme identificateur dans la chaîne.
La section suivante de blocs est pour les réglages de l’alarme. Le premier bloc contrôle ce qui se passe quand vous toucher/glisser le soleil monte et descend. Encore une fois, les commandes de « get actuel X et Y » sont utilisées pour obtenir une valeur lorsque le doigt est et changer l’image de fond selon la hauteur du soleil. Les suns position également pilotes si l’alarme est activée ou désactivée, il s’agit d’envoi par bluetooth.
Lorsque vous touchez ou terminez le mouvement du soleil, qu'il fait apparaître le sélecteur de temps pour vous permettre de définir une alarme. La partie principale de ce bloc suivant utilise l’heure actuelle d’établir combien de millisecondes il existe jusqu’au réglage de l’alarme. Cette valeur est ensuite envoyée à l’Arduino
Dans l’étape suivante, je couvre comment l’Arduino lit et utilise les chaînes...