Table des matières:

Fonctionnalités moins connues d'Arduino : 9 étapes
Fonctionnalités moins connues d'Arduino : 9 étapes

Vidéo: Fonctionnalités moins connues d'Arduino : 9 étapes

Vidéo: Fonctionnalités moins connues d'Arduino : 9 étapes
Vidéo: 📚APPRENDRE ARDUINO : Les Bases de la Programmation🦾 | Pour les Débutants👨‍💻 2024, Novembre
Anonim
Fonctionnalités moins connues d'Arduino
Fonctionnalités moins connues d'Arduino

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é: