Axée sur le solaire, horloge Arduino-Powered (3 / 10 étapes)

Étape 3: Logiciel - système de Menu

La première chose que j’ai développé avec le système de menu et de réglage. Création des menus est facile - juste incrémentent ou décrémentent un index de tableau et ensuite lire la chaîne hors flash en utilisant la directive PROGMEM. Je suppose qu’il y avait des cordes assez peu vous pourriez il suffit de mettre dans la RAM, mais à l’aide de FLASH lorsque cela est possible est une bonne habitude.

Le véritable travail a été la configuration du système. Je voulais être en mesure de définir chaque valeur caractère par caractère. Certains des chiffres, comme la longitude et la latitude sont 5 à 6 chiffres (sans tenir compte de la virgule) - je ne voulais pas utiliser une presse et maintenez de la méthode change, même avec un incrément de saut sur le bouton. En parlant de boutons, ce projet utilise des Button.h, qui je pensais initialement traitée anti-rebond GPIO mais ne fait pas. Un meilleur choix serait Bounce.h. Il suffisait de jeter un petit retard dans les boucles du scrutin bouton, puisque le CPU lui-même n’est pas faire autre chose - le CCF garde temps ses propres.

De toute façon, le premier problème d’un système de fixation par caractère est de savoir où le curseur est autorisé à passer, cela est géré par un ensemble de deux-dimension qui stocke un 1 ou 0 pour chaque poste sur le mécanisme d’entraînement pour indiquer si le curseur est autorisé là ou non. Sinon, le curseur passe à la prochaine place disponible ou des séjours à la dernière place. J’ai fait l’utilisation libérale de constantes définies donc je ne dois pas mémoriser quelle valeur de l’index va avec tableau de réglage.

Le deuxième problème d’un système de fixation par caractère gère la validation des données. On pourrait penser c’est aussi simple que de ré-assemblage de vos chiffres dans la valeur et puis en faisant une comparaison avec la valeur max, mais pour empêcher l’utilisateur de se rendre à la prochaine valeur il faut voir ce que cette valeur + 1 ferait au nombre dans son ensemble. Ce n’est pas mauvais pour un couple de chiffres, mais c’est un gâchis pour 5-6. J’ai trouvé que c’était plus facile d’avoir un tableau à deux dimensions comme le tableau de position pour contenir la valeur maximum autorisée par caractère. Cela vous permet de vérifier la même chose selon index chaque fois que l’utilisateur essaie d’incrémenter, et couplé avec un chèque de la valeur max dans son ensemble, cela capte la plupart des violations de limites. Il sera toujours possible pour l’utilisateur de mettre parfois une valeur illégale. C’était ça ou beaucoup plus de code.

Dans le même sens, je n’aimais pas si l’utilisateur a essayé de mettre quelque chose comme 30 février. Vous pouvez ajouter cela trie de vérification si vous voulez de limites. J’avoue que je me suis « fatigue du projet » et laissé ce genre de chose dehors.

Articles Liés

Cadran solaire d’Arduino alimenté !

Cadran solaire d’Arduino alimenté !

Récemment, j'ai été intéressé par énergie solaire et ses applications. Avec les avancements en technologie de panneau solaire, panneaux solaires sont devenus beaucoup plus efficaces et bon marché en même temps. Cependant, ils sont encore un peu chers
Un contrôle sans fil, babillard électronique Arduino-Powered

Un contrôle sans fil, babillard électronique Arduino-Powered

construire vous-même un babillard électronique sans fil contrôlé, Arduino-powered !Voici un projet simple qui crée un babillard électronique programmable sans fil. Il utilise des modules XBee pour fournir une liaison série sans fil entre votre ordina
Arduino-Powered binaire thermomètre

Arduino-Powered binaire thermomètre

j'ai récemment acquis un Arduino Uno et était à la recherche d'un projet de « getting started » cool. J'ai décidé de faire un thermomètre, que le kit, j'ai eu toutes les pièces nécessaires (thermistance, fils, résistances, diodes). Par le biais de qu
Un connecté à Facebook, la fête de la musique Arduino-Powered

Un connecté à Facebook, la fête de la musique Arduino-Powered

fête de la musique est une nouvelle façon d'écouter de la musique avec d'autres. En appuyant sur un dispositif RFID/NFC qui est synchronisé à un compte Facebook sur un lecteur RFID Arduino bouclier et envoyant que ID unique au serveur de fête de la m
Arduino Powered Home

Arduino Powered Home

J'ai fait quelques mises à jour à cette instructable depuis août 2014 ***J'ai décidé de partager ces informations afin que cela pourrait aider d'autres personnes qui ont eu du mal à faire des choses semblables avec leur Arduino. J'ai récemment obtenu
Calculatrice scientifique avec Evive (arduino Powered Embedded Platform)

Calculatrice scientifique avec Evive (arduino Powered Embedded Platform)

Nous avons construit une calculatrice scientifique, d'avoir beaucoup de fonctions telles queLes opérations algébriques élémentaires (+, -, *, %)Fonctions trigonométriques (sinus, cosinus, tangente)Fonctions trigonométriques inverses (arcSin, arcCos,
Arduino-powered LED horloge

Arduino-powered LED horloge

Une amusante, simple LED horloge, qui vous donnera le temps à la demi-heure plus proche à l'aide de simple-couleur LED. Pièces nécessaires sont les suivantes :Arduino Nano400 points cravate BreadboardCâble en nappeDS1307 IC RTC32,768 kHz Crystal(12)
Transmission de données d’internet non-connecté systèmes solaires avec Arduino, PHP et MySQL

Transmission de données d’internet non-connecté systèmes solaires avec Arduino, PHP et MySQL

DescriptionL'objectif de ce projet arduino est d'acquérir et de transférer des données via le réseau GSM. L'avantage est de pouvoir collecter des données (par exemple la surveillance d'une installation solaire) même s'il n'y a pas de connexion intern
Berlin horloge, Arduino Nano, DS1307 horloge en temps réel. Registre à décalage 8 bits 74HC595N.

Berlin horloge, Arduino Nano, DS1307 horloge en temps réel. Registre à décalage 8 bits 74HC595N.

Depuis un certain temps, j'ai voulu construire une horloge de Berlin. Je ne sais vraiment pas pourquoi ? J'aime juste la démarche « différente » pour dire l'heure.Alors, comment ça marche??Commençant par le bas il y a 4 jaune s'allume chaque lumière
Arduino powered Solar Battery Charger

Arduino powered Solar Battery Charger

Le dessin suivant est pour un chargeur de batterie solaire a couru par un Arduino Nano. Il peut gérer une batterie acide 12V au plomb standard, comme pour une voiture ou un scooter. En outre, la conception a été testée et fonctionne avec une efficaci
Arduino Powered Tubes Nixie : Assemblage de protection pilote ArduiNIX Nixie

Arduino Powered Tubes Nixie : Assemblage de protection pilote ArduiNIX Nixie

www.ArduiNIX.com présente : assemblage de protection pour le pilote ArduiNIX NixieLe bouclier de ArduiNIX est une plateforme programmable de l'utilisateur pour la conduite multiplexé tube Nixie ou autres affichages haute tension **. Le ArduiNIX est l
VU-mètre analogique et horloge (Arduino alimenté)

VU-mètre analogique et horloge (Arduino alimenté)

ce projet ramène l'ancien temps VU-mètre analogique, avec la fonctionnalité supplémentaire d'une horloge à la recherche soignée ! Lorsque vous éteignez votre musique les compteurs balancent automatiquement en mode horloge. Derrière tout cela est l'Ar
Traqueur solaire avec arduino à partir de matériaux chaque jour

Traqueur solaire avec arduino à partir de matériaux chaque jour

Cette construction de modèle traqueur solaire est si simple qu'il n'y a pas besoin d'un laboratoire entièrement équipé afin de le créer. Je l'ai fait en fait dans ma cuisine ! En revanche, l'idée principale et les logiciels sont afin que j'oserais le
Bronzé chien chargeur solaire sac à dos Powered Gadgets

Bronzé chien chargeur solaire sac à dos Powered Gadgets

Nous avons apprécié bricoler avec Brown Dog Gadgets solaires portefeuilles pour notre nuit de construire Instructables mars et alors que nous avons examiné un grand nombre d'idées différentes la Land o ' Lakes bibliothèque Makerspace journée portes o