Contrôle avec Bluetooth Nano
Avec un peu’ le temps disponible, je pensais mettre sur un contrôle via Bluetooth. La chose est assez simple en utilisant les modules disponibles sur le marché. Je pris un HC-06, qui permet une communication simple via des données série. Le projet n'est pas récent, pardonne tout manque de manque d'expérience.
J'ai aussi essayé avec un PIC 16F84A, avec un certain succès, mais microcontrôleur pour des problèmes de planification du projet I suspendu. Un micro plutôt dépassée, mais je pense que je pourrais le faire avec un 16F628A ou 16F182x, qui sont compatibles broche à broche. Aussi parce que maintenant je n'ai plus les micro-contrôleurs dans les tiroirs.
Il est une opération simple reliant les sorties’ Arduino avec les modules suivants et une poignée de composants discrets pour entraîner un haut-parleur et pour retirer le’ l'alimentation du module Bluetooth afin de se déconnecter de périphériques connectés lorsque l'on oublie.
Description
Un projet est Arduino Nano, un module Bluetooth et un relais’ opto-isolé.
Le projet comprend quelques fonctions spéciales :
-
Le nombre de sorties et les ports sont configurables via firmware. Vous devez régler 2 les variables [1].
-
Les sorties sont configurables haute ou basse actif. Dans le programme par défaut a pris des sorties de faible activité.
-
Les sorties peuvent être configurés soit comme fixe ou chronométré. L’ Arduino prend en charge le nombre de garde, même si ceux qui appellent la commande n'est plus présente. Je le fais parce que je remarqué des programmes de synchronisation avec votre smartphone, qui doit prendre le compte de l'ensemble de la période. Cela implique une connexion constante avec votre téléphone.
-
commandes [2] Ils envoient une commande fin par espace ou un return-to-tête, à la limite quand ils ont été envoyés 6 caractères Il termine seul. Pourquoi, pour le simple fait que de nombreux programmes, par Android, ne donnent pas la possibilité d'ajouter des caractères non-impression telles que le retour à la tête.
Je choisi le programme DCmote. Un peu spartiate pour la configuration, mais facile à comprendre. Surtout pour ceux qui ne connaissent pas beaucoup l’ l'utilisation de fonctions compliquées smartphone. L’ spécification d'interface et aussi simple que possible et permet un accès rapide aux commandes, après avoir relié à la commande. -
Le contrôle se déconnecte les’ inactif utilisateur (sans retour chariot) après 30 secondes. Cela permet aux autres utilisateurs d'accéder au contrôle. Peut-être un espace récepteur Bluetooth, plutôt que d'une amélioration. De cette façon, si l'on oublie la connexion active, Il est déconnecté et les autres membres (de ma famille) Ils peuvent accéder aux commandes.
-
clignotant, juste pour voir que le système est en cours d'exécution.
-
Une commande pour déclencher une alarme ou un un autre son.
Le-mail [1] e [2] voir plus bas.
schéma électrique
Il est évident que les transistors ne sont pas critiques, tout NPN et PNP faire le travail. Le R2 a une valeur de 330 Ohm, de manière à entraîner une LED à être mis sur le tableau de récipient.
Les cavaliers seront utilisés pour la programmation sur place, les enlever pouvait programmer la’ Arduino, sans interférence, mais donc j'inclinerais tellement que je m'y attendais sabots pour accueillir la Nano. Cela évitera les fuites possibles de tension vers la’ bloc d'alimentation.
L’ doit être de l'alimentation 5 Volt stabilisé et peu robuste pour alimenter le relais, si elle est alimentée à partir de la carte. Mieux que les deux un ampère.
L’ Arduino pas’ inclus dans l'impression. Dans ce schéma, il désigne une série de connecteurs (4 la 8 Poli) pour recevoir le’ Arduino.
Circuits imprimés
CI-DESSOUS![]() |
CI-DESSUS ![]() |
MISE EN GARDE !
L'imprimé est-dessous Corretà, de le mettre sur la face cuivrée.
FProgramme UNCTIONALITY
Tel que défini par les particularités, vous pouvez également modifier le firmware afin d'obtenir la flexibilité désirée.
[1] Les variables qui sont utilisées pour configurer les paramètres suivants:
#définir ACTIVE_LOW s'il est venu avec une ligne de commentaire, les sorties deviennent actifs haut. I rele’ Je travaille plutôt utilisé dans la logique négative.
#définir buflen Vous modifiée si vous pouvez utiliser une capacité différente de l'entrée série. Pour ceux qui souhaitent modifier le firmware à des fins différentes.
#définir OUTPUTMASK Il définit les sorties qui ne seront pas affectés par une inflammation générale. Dans mon cas, Je ne peux pas garder le contact fermé pour la commande définie pour impulsion utiliser pour déplacer la porte. Le système de porte a déjà ses titres, De toute évidence.
#définir NUMTIMER Vous pouvez vous modifié si déterminer le nombre de sorties que vous voulez lier. J'ai un module 4 relayer, donc il mis quatre. Mais vous pouvez augmenter jusqu'à huit prises en compte que les affectations définies par le programme sont les jambes 12,11,10,9, A0, A1, A2, A3. Ceux-ci aussi peut être facilement modifié, voir ci-dessous.
#définir INPUT_TMO une définition de la durée d'attente avant de déconnecter un utilisateur inactif. La valeur est exprimée en secondes moyens. La valeur maximale est 255 (sur 4 minutes), sans affecter les autres parties du programme.
tableau port_pin[] vous pouvez définir les pieds assignent. De gauche comme premier affecté.
Comme vous pouvez le deviner les valeurs ont été mis sur une liste’ démarrage firmware. Pour ceux qui comprennent la programmation, il sera facile à repérer.
[2] Les commandes devant être envoyés à la commande sont telles:
-
Pour l'allumage d'une sortie fixe est contrôlée par une lettre capital la UNE une H. Interverrune’ la limite imposée par combien de sorties a été configuré avec NUMTIMER.
-
Pour démarrer une mélodie à l'aide d'une lettre p, peu importe qu'ils soient immobilisés ou miniscola. Les mélodies sont effectuées en séquence. Pour plus vous connu pouvez le configurer pour même jouer une sorte de sirène ou autre. Il suffit de mettre sur la liste const uint16_t mélodie et le changement TUNENUM qui établit combien sont. Il y a une limite dans le LUN.-Ghezza d'un tableau qui est 127. Pour plus de sécurité, la seule la première fonction de charge 126 des valeurs ou des arrêts avec deux zéros conseguitivi. pour clarifier, la fonction attend une paire de valeurs qui sont la fréquence et la durée.
-
Pour désactiver toutes les sorties en utilisant la lettre X minuscule y compris sorties chronométré.
-
pour la’ Allumage de toutes les sorties, en utilisant une lettre X capital. Ils seront exclus ceux définis non accessibles à partir du masque de sortie.
-
Pour les commandes avec minuterie à l'aide de la chaîne suivante:
t (personnage principal)
définition pour indiquer une minuterie, Peu importe si majuscules ou minuscules.un certain nombre de 0 le nombre de minuteries
défini par le firmware. MISE EN GARDE que’ frais HEX pour 4 sorties. (deuxième caractère). Maintenant, il compte seulement 4. Si on a activé la communication série, vous voyez les messages d'erreur. Ainsi, par exemple 0 une 3. L'indexation commence à zéro.s la m ou h
définition uni’ mesures visant à établir. Avec s Il indique les secondes, m Il indique les minutes et h les heures.par un à trois chiffres
valeure pour régler la minuterie de la taille souhaitée précédente. Pendant des heures est la limite 9 minerai. Il peut y avoir un problème ensemble 999 minutes. Je pense que nous mettrons à jour au début du programme.un espace
Il conclut la chaîne reçue. DCmote le programme doit définir les contrôles avec une terminaison avec l'espace. Les extrémités retour-à-tête.Par exemple, t3s45, si translatées l’ sortie 4 actif 45 secondes.
cas de limite, par l'envoi d'une valeur nulle à une minuterie, cette conclusion.
la paquet Il est toujours disponible dans son intégralité, y compris l'esquisse Arduino. S'il y avait quelques difficultés à compiler, laissez-moi savoir.
J'ai aussi fait le programme qui convertit RTTTL en valeurs à être chargées dans C. Comme vous pouvez le remarquer de la liste il y a plusieurs Melodie Je me suis converti mon programme. inclus dans paquet. Pour fonction need version python 3.5 .






Etes-vous sûr que vous ne pouvez pas obtenir un imprimé que dans le visage extrêmement facile à réaliser pour un bricoleur, Je compte porter à mon garage / atelier quand j'ai créé un réseau wifi fiable
Pour le moment, je peux obtenir internet là-bas portant juste la ligne superposée sur les câbles de l'alimentation 230 V et site decode. Alors que pour atteindre l'objectif que j'ai forte limitation de la quantité de données qui peuvent le transmettre, d'autres solutions se sont révélées plus coûteuses et moins efficaces ou moins fiables.