Table des matières:
- Étape 1: Tension d'alimentation
- Étape 2: Température interne
- Étape 3: Comparateur analogique (interruption)
- Étape 4: Compteur
- Étape 5: Constantes prédéfinies
- Étape 6: conserver la variable dans la RAM via la réinitialisation
- Étape 7: accéder au signal de l'horloge
- Étape 8: Structure interne du port d'ATmega328P
- Étape 9: LED embarquée (intégrée) comme photodétecteur
Vidéo: Fonctionnalités moins connues d'Arduino : 9 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Il s'agit plutôt d'une liste de fonctionnalités moins souvent mentionnées des plates-formes Arduino généralement utilisées (par exemple, Uno, Nano). Cette liste devrait servir de référence chaque fois que vous avez besoin de rechercher ces fonctionnalités et de faire passer le mot.
Regardez le code afin de voir des exemples pour toutes ces fonctionnalités car je les ai utilisées dans plusieurs de mes projets ici sur instructable (par exemple Arduino 1-wire Display (144 Chars)). Les étapes suivantes expliquent chacune une fonctionnalité.
Étape 1: Tension d'alimentation
L'Arduino peut mesurer sa propre tension d'alimentation de manière indirecte. En mesurant la référence interne avec la tension d'alimentation comme référence de limite supérieure, vous pouvez obtenir le rapport entre la référence interne et la tension d'alimentation (la tension d'alimentation agissant comme limite supérieure pour la lecture analogique/CAN). Comme vous connaissez la valeur exacte de la référence de tension interne, vous pouvez alors calculer la tension d'alimentation.
Pour plus de détails sur la façon de procéder, y compris un exemple de code, consultez:
- Voltmètre Arduino secret – Mesurer la tension de la batterie:
-
Arduino peut-il mesurer son propre Vin ?:
Étape 2: Température interne
Certains Arduino sont équipés d'un capteur de température interne et peuvent donc mesurer leur température interne (semi-conducteur).
Pour plus de détails sur la façon de procéder, y compris un exemple de code, consultez:
Capteur de température interne:
Arduino peut-il mesurer son propre Vin ?:
Étape 3: Comparateur analogique (interruption)
Arduino peut configurer un comparateur analogique entre les broches A0 et A1. Donc l'un donne le niveau de tension et l'autre est vérifié pour un croisement de cette tension. Une interruption est déclenchée selon que le croisement est un front montant ou descendant (ou les deux). L'interruption peut alors être interceptée par le logiciel et agi en conséquence.
Pour plus de détails sur la façon de procéder, y compris un exemple de code, consultez:
Interruption du comparateur analogique:
Étape 4: Compteur
Bien sûr, les AVR ont plusieurs compteurs inclus. Ils sont généralement utilisés pour configurer la minuterie de différentes fréquences et déclencher des interruptions en cas de besoin. Une autre utilisation peut être très ancienne consiste à les utiliser comme des compteurs sans aucune magie supplémentaire, il suffit de lire la valeur lorsque vous en avez besoin (sondage). Une utilisation intéressante de ceci pourrait être de faire rebondir les boutons, par ex. Confer par exemple ce poste: AVR Exemple T1 compteur
Étape 5: Constantes prédéfinies
Certaines variables prédéfinies peuvent être utilisées pour ajouter des informations de version et de compilation à votre projet.
Pour plus de détails sur la façon de procéder, y compris un exemple de code, consultez:
Serial.println(_DATE_); // date de compilation
Serial.println(_TIME_); // temps de compilation
Chaîne chaîneUn = Chaîne(ARDUINO, DEC);
Serial.println(stringOne); // version arduino ide
Serial.println(_VERSION_); // version gcc
Serial.println(_FILE_); // fichier compilé
ces extraits de code afficheront ces données sur la console série.
Étape 6: conserver la variable dans la RAM via la réinitialisation
Il est bien connu que l'Arduino Uno (ATmega328) possède une EEPROM interne qui vous permet de conserver les valeurs et les paramètres lors de la mise hors tension et de les restaurer à la prochaine mise sous tension. Un fait moins connu est peut-être qu'il est en fait possible de conserver la valeur pendant la réinitialisation, même dans la RAM - mais les valeurs sont perdues pendant le cycle d'alimentation - avec la syntaxe:
variable longue non signée_qui_est_préservée _attribut_ ((section (".noinit")));
Cela vous permet par exemple de compter le nombre de RESET et en utilisant l'EEPROM également le nombre de mises sous tension.
Pour plus de détails sur la façon de procéder, y compris un exemple de code, consultez:
- Conserver la variable dans la RAM via la réinitialisation:
- Bibliothèque EEPROM:
Étape 7: accéder au signal de l'horloge
Les Arduinos et autres AVR (comme ATtiny) ont une horloge interne vous permettant de les exécuter sans utiliser d'oscillateur à cristal externe. De plus, en même temps, ils sont également capables de connecter ce signal à l'extérieur en le mettant sur une broche (par exemple PB4). La partie délicate ici est que vous devez changer les bits de fusible des puces afin d'activer cette fonctionnalité et que changer les bits de fusible comporte toujours le risque de briquer la puce.
Vous devez activer le fusible CKOUT et le moyen le plus simple de le faire est de suivre les instructions sur Comment changer les bits de fusible de l'AVR Atmega328p - Microcontrôleur 8 bits à l'aide d'Arduino.
Pour plus de détails sur la façon de procéder, y compris un exemple de code, consultez:
- Réglage de l'oscillateur interne ATtiny:
- Comment changer les fusibles de l'AVR Atmega328p - Microcontrôleur 8 bits à l'aide d'Arduino:
Étape 8: Structure interne du port d'ATmega328P
Connaître la structure interne des ports de l'ATmega328P nous permet d'aller au-delà des limites d'utilisation standard. Conférez la section sur le Capacimètre pour la plage 20 pF à 1000 nF pour plus de détails et un schéma du circuit interne.
L'exemple simple consiste à utiliser des boutons avec des ports numériques ne nécessitant aucune résistance en raison de l'utilisation d'une résistance de rappel interne, comme le montre l'exemple série de rappel d'entrée ou le bouton Arduino instructable sans résistance.
Plus avancée est l'utilisation de ces connaissances comme mentionné pour mesurer des condensateurs aussi petits que 20 pF et de plus sans aucun câblage supplémentaire ! Afin d'atteindre ces performances, l'exemple utilise l'impédance interne/d'entrée, la résistance de rappel interne et le condensateur parasite. Comparez avec le didacticiel Arduino CapacitanceMeter qui ne peut pas descendre en dessous de quelques nF.
Étape 9: LED embarquée (intégrée) comme photodétecteur
De nombreuses cartes Arduino ont des LED embarquées ou intégrées qui peuvent être contrôlées à partir du code, par ex. les cartes Uno ou Nano sur la broche 13. En ajoutant un seul fil de cette broche à une broche d'entrée analogique (par exemple A0), nous pouvons également utiliser cette LED comme photodétecteur. Cela peut être utilisé de différentes manières, comme; utiliser pour mesurer l'éclairage environnemental, utiliser la LED comme bouton, utiliser la LED pour la communication bidirectionnelle (PJON AnalogSampling), etc.
Conseillé:
Carte d'extension RaspberryPi 3/4 pour ajouter des fonctionnalités supplémentaires à Raspberry Pi : 15 étapes (avec photos)
Carte d'extension RaspberryPi 3/4 pour ajouter des fonctionnalités supplémentaires à Raspberry Pi : nous savons que raspberry pi 3/4 n'est pas livré avec un ADC intégré (convertisseur analogique-numérique) et RTC (horloge en temps réel), donc je conçois un PCB qui contient 16 CAN 12 bits, RTC, module SIM7600 4G, boutons poussoirs, relais, sortie d'alimentation USB, sortie d'alimentation 5V, alimentation 12V
Mettez à niveau le DIY Mini DSO vers un véritable oscilloscope avec des fonctionnalités impressionnantes : 10 étapes (avec photos)
Mettez à niveau le DIY Mini DSO vers un vrai oscilloscope avec des fonctionnalités impressionnantes : la dernière fois que j'ai partagé comment faire un Mini DSO avec MCU. Pour savoir comment le construire étape par étape, veuillez vous référer à mon précédent instructable : https://www.instructables. com/id/Make-Your-Own-Osc…Comme beaucoup de gens sont intéressés par ce projet, j'ai passé quelques ti
Cultiver plus de laitue dans moins d'espace ou Cultiver de la laitue dans l'espace (plus ou moins) : 10 étapes
Cultiver plus de laitue dans moins d'espace ou… Cultiver de la laitue dans l'espace (plus ou moins) : il s'agit d'une soumission professionnelle au concours Growing Beyond Earth, Maker, soumise via Instructables. Je ne pourrais pas être plus excité de concevoir pour la production de cultures spatiales et de publier mon premier Instructable. Pour commencer, le concours nous a demandé de
Stylo infrarouge minimaliste : pas de soudure, moins d'une minute, moins d'un dollar. : 3 étapes
Stylo IR minimaliste : pas de soudure, moins d'une minute, moins d'un dollar. ..) ou le programme Smoothboard sur www.smoothboard.net (à des années-lumière, car Boon Jin a commencé
Assemblage de "Wise Clock 2" (réveil basé sur Arduino avec de nombreuses fonctionnalités supplémentaires): 6 étapes
Assemblage de "Wise Clock 2" (réveil basé sur Arduino avec de nombreuses fonctionnalités supplémentaires): Ce didacticiel montre comment assembler le kit pour Wise Clock 2, un projet open source (matériel et logiciel). Un kit complet Wise Clock 2 peut être acheté ici. En résumé, c'est ce que Wise Clock 2 peut faire (avec le logiciel open source actuel