cartes nano arduino. Blog › Expérience d'apprentissage d'Arduino. Un autre poste. Matériel


La source:

Au milieu de 2013, j'ai acheté une planche Arduino Nano version 3.0. Il est clair que la carte est construite sur une plate-forme similaire à un arduino uno à part entière, mais il y a quelques nuances. Essayons de les comprendre dans cet article.

Plate-forme Arduino Nano 3.0 construit sur le microcontrôleur ATmega328, a une petite taille et peut être utilisé dans différents projets. Nano est développé et commercialisé par Gravitech. Ci-dessous les spécifications :

Microcontrôleur - ATmega328
Tension de fonctionnement - 5 V
Tension d'entrée (recommandée) - 7-12 V
Tension d'entrée (limite) - 6-20 V
E/S numériques - 14 (dont 6 peuvent être utilisées comme sorties PWM)
Entrées analogiques - 8
Courant continu par entrée/sortie - 40 mA
Mémoire flash - 32 Ko (dont 2 Ko utilisés pour le bootloader)
RAM - 2 Ko
EEPROM - 1 Ko
Fréquence d'horloge - 16 MHz
Dimensions - 1,85 cm x 4,3 cm

L'Arduino Nano est alimenté par le connecteur USB Mini-B, ainsi que par une alimentation externe non régulée 6-20V (broche 30) ou régulée 5V (broche 27). La source avec la tension la plus élevée est automatiquement sélectionnée.

Les 14 broches numériques (à l'aide des fonctions pinMode(), digitalWrite() et digitalRead()) peuvent être configurées comme entrée ou sortie. Les sorties fonctionnent à 5 V. Chaque sortie a une résistance pull-up de 20-50 kΩ (désactivée par défaut) et peut transporter jusqu'à 40 mA.

Il existe plusieurs façons de communiquer avec un ordinateur ou d'autres appareils et microcontrôleurs. L'ATmega328 prend en charge l'interface série UART TTL (5V) via les broches 0 (RX) et 1 (TX). La puce FTDI FT232RL achemine cette interface via USB, et Pilotes FTDI apporter COM virtuel port au programme arduino sur l'ordinateur. Les LED RX et TX sur la plate-forme clignotent lors de la transmission de données uniquement via la puce FTDI ou Connexion USB.


La plate-forme est programmée à travers Logiciel Arduino, dont la dernière version peut être téléchargée sur le site officiel.

Mais avant cela, il faut que le périphérique soit détecté sur votre ordinateur. C'est là que j'ai eu des ennuis. Lors de la connexion d'Arduino via un câble USB à un ordinateur, dans le système (Windows 7), la plate-forme était définie comme un périphérique UART. Dans le même temps, les pilotes n'ont pas été installés automatiquement (les pilotes peuvent être téléchargés sur le site Web du fabricant de la puce FTDI). J'ai dû le faire manuellement. Pour ce faire, sélectionnez un appareil non identifié dans le gestionnaire d'appareils. Dans les propriétés, sélectionnez l'élément installer ou mettre à jour le pilote, puis sélectionnez le modèle de convertisseur série USB dans la liste des pilotes déjà installés du fabricant FTDI. Après l'installation du pilote, un composite est apparu périphérique USB, et il ne reste plus qu'à installer le pilote sur les ports COM et LTP. De la même manière, j'ai choisi un pilote du même fabricant, et après cela, mon Arduino est devenu disponible pour télécharger des croquis.

Pour vérifier les performances, ouvrez l'application pour Arduino. Dans l'onglet service (Outils), dans le tableau de menu (tableau), sélectionnez Arduino Nano avec ATmega328. Copiez maintenant ce croquis dans votre programme et cliquez sur le bouton de téléchargement.

/* Faire clignoter la LED SOS. Croquis de clignotement LED standard légèrement modifié. Simule un signal SOS en code Morse, répétant alternativement trois clignotements courts, trois longs, puis à nouveau trois courts. Plus de détails ici http://www.craft-tech.ru */ // L'esquisse est allumée lorsque l'alimentation est appliquée ou lorsque le bouton de réinitialisation est enfoncé void setup() ( // fonctionne avec la broche 13. pinMode(13 , OUTPUT); ) // la fonction de boucle exécute l'esquisse dans un cercle void loop() ( digitalWrite (13, HIGH); // applique une tension à la 13e broche du retard LED (100); // attend 1 dixième de un deuxième digitalWrite(13, LOW); // coupe la tension à 13 pieds delay(100); digitalWrite(13, HIGH); delay(100); digitalWrite(13, LOW); delay(100); digitalWrite(13 , HIGH); delay(100); digitalWrite(13, LOW); delay (200); // attendre 2 dixièmes de seconde digitalWrite(13, HIGH); // activer la tension delay(500); // attendre une demi-seconde digitalWrite(13, LOW); // désactiver le retard de tension(100); digitalWrite(13 , HIGH); delay(500); digitalWrite(13, LOW); delay(100); digitalWrite(13, HIGH ); delay(500); digitalWrite(13, LOW); delay(200); digitalWrite(13, HIGH ); // et encore clignotements courts delay(100); digitalWrite(13, LOW); delay(100); digitalWrite (13, HAUTE); retard(100); digitalWrite(13, BAS); retard(100); digitalWrite(13, ÉLEVÉ); retard(100); digitalWrite(13, BAS); retard (6000); // attendez 6 secondes et tout se répète à nouveau)

Une fois l'esquisse compilée et téléchargée sur l'Arduino, la LED de la carte commencera à clignoter, répétant le signal SOS du code Morse. Cela signifie que la configuration a réussi.

informations générales

La plate-forme Nano, construite sur le microcontrôleur ATmega328 (Arduino Nano 3.0) ou ATmega168 (Arduino Nano 2.x), est de petite taille et peut être utilisée en laboratoire. Il a des fonctionnalités similaires à l'Arduino Duemilanove, mais diffère dans l'assemblage. La différence réside dans l'absence de connecteur d'alimentation courant continu et fonctionne via un câble USB Mini-B. Nano est développé et commercialisé par Gravitech.

Diagrammes schématiques et données initiales

Lien

Plusieurs appareils sont installés sur la plate-forme Arduino Nano pour communiquer avec un ordinateur, d'autres appareils Arduino ou des microcontrôleurs. L'ATmega168 et l'ATmega328 prennent en charge une interface série UART TTL (5V) via les broches 0 (RX) et 1 (TX). La puce FTDI FT232RL de la carte achemine cette interface via USB, et les pilotes FTDI (inclus dans le programme Arduino) fournissent un port COM virtuel au programme sur l'ordinateur. Le moniteur série Arduino vous permet d'envoyer et de recevoir des données texte lorsqu'il est connecté à la plate-forme. Les LED RX et TX sur la plate-forme clignotent lorsque les données sont transmises via la puce FTDI ou la connexion USB (mais pas lors de l'utilisation de la communication série sur les broches 0 et 1).

Avec la bibliothèque SoftwareSerial, il est possible de créer un transfert de données série via l'une des broches numériques du Nano.

ATmega168 et ATmega328 prennent en charge les interfaces I2C (TWI) et SPI. L'Arduino inclut la bibliothèque Wire pour une utilisation facile du bus I2C. Plus d'informations dans la documentation. Pour utiliser l'interface SPI, reportez-vous aux fiches techniques des microcontrôleurs ATmega168 et ATmega328.

Programmation

La plate-forme est programmée à l'aide du logiciel Arduino. Dans le menu Outils > Carte sélectionnez "Arduino Diecimila, Duemilanove ou Nano w/ ATmega168" ou "Arduino Duemilanove ou Nano w/ ATmega328" (selon le microcontrôleur installé). Des informations détaillées peuvent être trouvées dans le manuel et les instructions.

Les microcontrôleurs ATmega168 et ATmega328 sont livrés avec un chargeur de démarrage préchargé qui facilite l'écriture de nouveaux programmes sans utiliser de programmeurs externes. La communication est effectuée par le protocole original STK500.

Il est possible de ne pas utiliser le bootloader et de programmer le microcontrôleur via les sorties du bloc ICSP (programmation en circuit). Des informations détaillées se trouvent dans ce manuel.

Redémarrage automatique (logiciel)

Nano est conçu de telle manière qu'avant d'écrire un nouveau code, le programme lui-même redémarre, et non en appuyant sur un bouton de la plate-forme. L'une des lignes de contrôle de flux de données (DTR) FT232RL est connectée à la broche de réinitialisation des microcontrôleurs ATmega168 ou ATmega328 via un condensateur de 100 nF. Activation de cette ligne, c'est-à-dire signalisation niveau faible, redémarre le microcontrôleur. Le programme Arduino, en utilisant cette fonction, télécharge le code d'un simple clic sur le bouton Télécharger dans l'environnement de programmation lui-même. La signalisation de bas niveau sur la ligne DTR est coordonnée avec le début de l'écriture du code, ce qui réduit le délai d'attente du chargeur de démarrage.

La fonction a une autre application. Le Nano redémarre chaque fois qu'il se connecte à Programme Arduino sur un ordinateur Mac X ou Linux (via USB). La demi-seconde suivante après le redémarrage, le chargeur de démarrage fonctionne. Lors de la programmation, les premiers octets du code sont retardés pour éviter que la plateforme ne reçoive des données incorrectes (tout sauf le code du nouveau programme). Si vous effectuez un débogage ponctuel d'une esquisse écrite sur la plate-forme ou si vous entrez d'autres données lors de la première exécution, vous devez vous assurer que le programme sur l'ordinateur attend une seconde avant de transférer des données.

est une petite carte axée sur le travail avec des cartes de prototypage. Il est basé sur une puce ATmega328 (Arduino Nano 3.x) ou ATmega168 (Arduino Nano 2.x) et remplit à peu près les mêmes fonctions que Arduino Duemilanove, mais fabriqué dans un facteur de forme différent. À Arduino Nano il n'y a pas de prise d'alimentation, et cela fonctionne avec le type de câble USB mini-B. Cette carte est conçue et fabriquée par Gravitech.

Des idées d'inspiration

À propos des projets réalisables avec Arduino Nano, vous pouvez lire sur le Arduino Project Hub - c'est la plate-forme éducative du site officiel Arduino.

Documentation

Pour Arduino Nano 3.0 (ATmega328):

Pour Arduino Nano 2.0 (ATmega168):

Remarque : La version gratuite d'Eagle ne peut pas fonctionner avec plus de 2 couches, tandis que cette version de Nano en comporte 4. Par conséquent, pour que les utilisateurs puissent ouvrir le fichier et l'utiliser dans la version gratuite d'Eagle, il est fait avec des pads non connectés.

Caractéristiques

  • microcontrôleur– Atmel ATmega168 ou ATmega328
  • Tension de travail- 5 volts
  • Tension d'entrée (recommandée)- 7-12 volts
  • Tension d'entrée (limite)- 6-20 volts
  • Contacts E/S numériques- 14 pièces. (dont 6 pièces peuvent être utilisées pour produire PWM)
  • Contacts analogiques d'entrée- 8 pièces.
  • Courant maximal par broche d'E/S- 40 milliampères
  • Mémoire flash– 16 Ko (ATmega168) ou 32 Ko (ATmega328), dont 2 Ko sont utilisés par le bootloader
  • SRAM– 1 Ko (ATmega168) ou 2 Ko (ATmega328)
  • EEPROM– 512 octets (ATmega168) ou 1 Ko (ATmega328)
  • Fréquence d'horloge- 16 MHz
  • Longueur45 millimètres.

    4.5e-4 kilomètre
    0,45 mètre
    4,5 centimètres

  • Largeur18 millimètres.

    1.8e-4 kilomètre
    0,18 mètre
    1,8 centimètre

  • Le poids– 5 grammes

Aliments

Carte Arduino Nano peut être alimenté à partir du type de connexion USB mini-B, alimentation externe non régulée sur 6-20 volts (30e broche) ou à partir d'une alimentation externe régulée sur 5 volts (27e broche). La source avec la tension la plus élevée est sélectionnée comme source d'alimentation ; la sélection est automatique.

Mémoire

Ébrécher ATmega168équipé Flash de 16 Ko-mémoire pour stocker le code (dont 2 Ko utilisé par le bootloader), et la puce ATmega328 - 32 Ko(dont le même 2 Ko utilisé par le bootloader). De plus, les deux puces sont équipées de type de mémoire SRAM (ATmega168 Il a 1 Ko, un ATmega3282 Ko) et mémoire de type EEPROM (ATmega168 Il a 512 octets, un ATmega3281 Ko). Écrire et lire de EEPROM effectuée à l'aide de la bibliothèque EEPROM.

Contacts d'entrée et de sortie

N'importe quel 14 broches numériques nano peut être utilisé à la fois comme broche d'entrée et de sortie à l'aide des fonctions pinMode() , digitalWrite() et digitalRead() . Ils travaillent pour 5 volts. Chaque contact peut recevoir/donner pas plus de 40 milliampères, et dispose également d'une résistance pull-up intégrée (désactivée par défaut) sur 20-50 kOhm. De plus, certains contacts ont des fonctions particulières :

  • Communication série: 0e (RX) et 1er (TX) Contacts. Utilisé pour obtenir RX) et transmission ( TX) successif ( Durée de vie) Les données. Ces broches sont connectées aux broches correspondantes sur la puce. FTDI FT232RL, qui convertit USB-données dans Durée de vie-Les données.
  • Interruptions externes: 2ème et 3e Contacts. Ces broches peuvent être configurées pour déclencher des interruptions sur un passage à la valeur LOW, sur un front descendant/montant ou sur un changement de valeur. Pour en savoir plus, consultez l'article sur la fonction attachInterrupt().
  • PWM: 3e, 5ème, 6ème, 9ème, 10e et 11ème Contacts. Prise en charge de l'émission PWM 8 bits en utilisant la fonction analogWrite().
  • Interface SPI: 10e (ES), 11e (MOSI), 12e (MISO) et 13e (SCK) Contacts. Ces contacts prennent en charge le type de communication IPS Bibliothèques SPI.
  • DEL intégrée: 13ème contact numérique. Si vous appliquez une valeur HIGH à cette broche, la LED s'allumera, et si LOW, elle s'éteindra.

Payer Arduino Nano Il a 8 broches d'entrée analogiques et ils soutiennent tous résolution 10 bits(c'est-à-dire peut travailler avec 1024 valeurs différentes). Par défaut, la plage de tension qu'ils contiennent est masse à 5 volts, cependant, la limite supérieure de cette plage peut être augmentée à l'aide de la fonction analogReference(). Contacts analogiques 7 et 8 ne peuvent pas être utilisés comme contacts numériques.

  • Interface I2C: Contacts A4 (SDA) et A5(SCL). Prise en charge de la communication de type I2C (TWI), qui est implémenté à l'aide de la bibliothèque Wire.

Aussi sur Nano il y a quelques autres contacts spéciaux :

  • AREF– tension de référence pour les contacts d'entrée analogiques. Utilisé conjointement avec la fonction analogReference().
  • réinitialiser- si vous appliquez LOW à cette broche, cela réinitialisera le microcontrôleur. Généralement utilisé pour ajouter à "bouclier" bouton de réinitialisation car la connexion "bouclier" bloque le bouton de réinitialisation sur la carte elle-même.

Communication

Payer Arduino Nano dispose de plusieurs moyens pour communiquer avec un ordinateur, ainsi qu'avec d'autres Arduino et microcontrôleurs. frites ATmega168 et ATmega328 fournir cohérent UART-TTL (5 V) communication disponible sur 0 ohm (RX) et 1er (TX) contacts numériques. Il y a aussi une puce sur le tableau FTDI FT232RL, qui redirige cette communication série vers USB, et grâce aux pilotes FTDI (disponibles en EDI Arduino ) SE l'ordinateur voit le tableau comme virtuel COM-Port. aussi dans EDI Arduino un moniteur de port intégré qui vous permet d'envoyer des données texte simples - à la fois vers et depuis la carte. De plus, sur Nano il y a des leds RX et TX, qui s'allument lorsque des données sont transmises via la puce FTDI et USB- connexion à un ordinateur (mais pas via un port série sur 0ème et 1er Contacts).

Tous les contacts numériques Nano prend en charge la communication série, qui est implémentée à l'aide de la bibliothèque SoftwareSerial.

De plus, les puces ATmega168 et ATmega328 prendre en charge le type de communication I2C (TWI) et IPS. Pour simplifier le travail avec le bus I2C dans EDI Arduino la bibliothèque Wire est intégrée, et pour IPS- Bibliothèque SPI.

Programmation

frites ATmega168 et ATmega328 sur le Arduino Nano livré avec un chargeur de démarrage pré-écrit qui vous permet de télécharger un nouveau code sur la carte sans utiliser de programmeur matériel externe.

Le chargeur communique via le protocole STK500(la description , ).

Réinitialisation (logicielle) automatique

Carte Arduino Nano est conçu de manière à ce que vous n'ayez pas à appuyer sur le bouton de réinitialisation avant de télécharger un nouveau croquis - cela peut faire SUR sur l'ordinateur auquel votre carte est connectée.

Une des lignes de contrôle du flux de données sur la puce FT232RL(à savoir, la ligne DTR) connecté à réinitialiser-lignes sur la puce ATmega168(ou ATmega328) à travers Condensateur de 100 nanofarads. Si LOW est appliqué à cette ligne, la valeur sur la ligne réinitialiser déposer suffisamment pour réinitialiser la puce. Cette fonctionnalité peut être utilisée pour télécharger un nouveau code en cliquant simplement sur EDI Arduino bouton de téléchargement. Cela signifie que le chargeur peut avoir un délai d'attente plus court, car l'alimentation d'une valeur LOW à la ligne DTR peut être coordonné avec le début du téléchargement de l'esquisse.

Cela affecte le fonctionnement du conseil d'autres façons. Si un Nano connecté à un ordinateur linux ou Mac OS X, il se réinitialisera chaque fois que vous ouvrirez USB- liaisons entre la carte et SUR sur l'ordinateur. Pendant la demi-seconde suivante (ou plus) sur Nano le chargeur de démarrage va démarrer. Bien qu'il soit programmé pour ignorer les mauvaises données (c'est-à-dire tout ce qui n'est pas lié au téléchargement de code), il interceptera toujours les premiers octets envoyés à la carte après l'ouverture de la connexion. Ainsi, si l'esquisse reçoit des paramètres initiaux ou d'autres données importantes lors du lancement de la carte, assurez-vous que SUR, avec lequel le sketch communique, attend environ une seconde après l'ouverture de la connexion et avant d'envoyer ces données.

La plate-forme Nano, construite sur le microcontrôleur ATmega328 (Arduino Nano 3.0) ou ATmega168 (Arduino Nano 2.x), est de petite taille et peut être utilisée en laboratoire.

Carte Arduino Nano

L'Arduino Nano peut être alimenté via la connexion USB Mini-B, ou à partir d'une alimentation externe non régulée 6-20V (broche 30) ou régulée 5V (broche 27). La source avec la tension la plus élevée est automatiquement sélectionnée.

Spécifications de la carte Arduino Nano

microcontrôleur

ATmega168 ou ATmega328

Tension de travail

5V

7-12V

Tension d'entrée (limite)

6-20V

Entrées/sorties numériques

14 (dont 6 peuvent être utilisées comme sorties PWM)

Entrées analogiques

Courant continu via entrée/sortie

40mA

CC pour sortie 3.3V

50mA

Mémoire flash

16 Ko (ATmega168) ou 32 Ko (ATmega328) avec 2 Ko utilisés pour le bootloader

RAM

1 Ko (ATmega168) ou 2 Ko (ATmega328)

informations générales

L'Arduino Nano est un appareil miniature entièrement fonctionnel basé sur le microcontrôleur ATmega328 (Arduino Nano 3.0) ou ATmega168 (Arduino Nano 2.x) adapté pour une utilisation avec des planches à pain. En termes de fonctionnalité, l'appareil est similaire à l'Arduino Duemilanove, mais en diffère par sa taille, l'absence de connecteur d'alimentation et un câble USB de type différent (Mini-B). L'Arduino Nano est développé et fabriqué par Gravitech.

Schéma et projet original

En plus de celles énumérées au tableau, il existe plusieurs autres conclusions:

  • AREF. Tension de référence pour les entrées analogiques. Peut être utilisé avec la fonction.
  • réinitialiser. La formation d'un niveau bas (LOW) sur cette broche réinitialisera le microcontrôleur. Généralement, cette broche est utilisée pour actionner le bouton de réinitialisation sur les cartes d'extension.

Lien

L'Arduino Nano offre un certain nombre d'options pour communiquer avec un ordinateur, un autre Arduino ou d'autres microcontrôleurs. L'ATmega168 et l'ATmega328 ont un émetteur-récepteur UART qui permet une communication série via les broches numériques 0 (RX) et 1 (TX). La puce FTDI FT232RL assure la communication entre l'émetteur-récepteur et le port USB de l'ordinateur, et lorsqu'elle est connectée à un PC, permet à Arduino d'être défini comme port COM virtuel(Les pilotes FTDI sont inclus dans le package logiciel Arduino). Le progiciel Arduino comprend également programme spécial, qui vous permet de lire et d'envoyer des données textuelles simples à l'Arduino. Lors du transfert de données vers un ordinateur via USB, les LED RX et TX sur la carte clignotent. (La communication série via les broches 0 et 1 n'allume pas ces LED.)

Réinitialisation (logicielle) automatique

Pour éviter d'avoir à appuyer sur le bouton de réinitialisation à chaque fois avant de télécharger un programme, l'Arduino Nano est conçu de manière à pouvoir être réinitialisé par programme à partir d'un ordinateur connecté. L'une des broches de contrôle de flux de données (DTR) du FT232RL est connectée à la broche RESET de l'ATmega168 ou de l'ATmega328 via un condensateur de 100 nF. Lorsque la ligne DTR passe à zéro, la broche RESET passe également au niveau bas pendant une période suffisamment longue pour réinitialiser le microcontrôleur. Cette fonctionnalité est utilisée afin de pouvoir flasher le microcontrôleur en un seul clic dans l'environnement de programmation Arduino. Cette architecture vous permet de réduire le délai d'attente du chargeur de démarrage, car le processus de clignotement est toujours synchronisé avec la décroissance du signal sur la ligne DTR. Cette architecture vous permet de réduire le délai d'attente du chargeur de démarrage, car le processus de clignotement est toujours synchronisé avec la décroissance du signal sur la ligne DTR.

Cependant, ce système peut entraîner d'autres conséquences. À connecter Arduino Nano aux ordinateurs exécutant Mac OS X ou Linux, son microcontrôleur se réinitialise à chaque fois que le logiciel est connecté à la carte. Après une réinitialisation, l'Arduino Nano active le chargeur de démarrage pendant environ une demi-seconde. Bien que le chargeur de démarrage soit programmé pour ignorer les données superflues (c'est-à-dire toutes les données qui ne sont pas liées au processus de flashage d'un nouveau programme), il peut intercepter les premiers octets de données d'un paquet envoyé à la carte immédiatement après l'établissement de la connexion. . Par conséquent, si le programme exécuté sur Arduino prévoit de recevoir des paramètres ou d'autres données de l'ordinateur au premier démarrage, assurez-vous que Logiciel, avec lequel Arduino interagit, envoie une seconde après l'établissement de la connexion.

Les principales versions des cartes Arduino sont représentées par les modèles suivants :

informations générales

La plate-forme Nano, construite sur le microcontrôleur ATmega328 (Arduino Nano 3.0) ou ATmega168 (Arduino Nano 2.x), est de petite taille et peut être utilisée en laboratoire. Il a des fonctionnalités similaires à l'Arduino Duemilanove, mais diffère dans l'assemblage. La différence réside dans l'absence de connecteur d'alimentation DC et fonctionne via un câble USB Mini-B. Nano est développé et commercialisé par Gravitech.

Diagrammes schématiques et données initiales

Lien

Plusieurs appareils sont installés sur la plate-forme Arduino Nano pour communiquer avec un ordinateur, d'autres appareils Arduino ou des microcontrôleurs. L'ATmega168 et l'ATmega328 prennent en charge une interface série UART TTL (5V) via les broches 0 (RX) et 1 (TX). La puce FTDI FT232RL de la carte achemine cette interface via USB, et les pilotes FTDI (inclus dans le programme Arduino) fournissent un port COM virtuel au programme sur l'ordinateur. Le moniteur série Arduino vous permet d'envoyer et de recevoir des données texte lorsqu'il est connecté à la plate-forme. Les LED RX et TX sur la plate-forme clignotent lorsque les données sont transmises via la puce FTDI ou la connexion USB (mais pas lors de l'utilisation de la communication série sur les broches 0 et 1).

Avec la bibliothèque SoftwareSerial, il est possible de créer un transfert de données série via l'une des broches numériques du Nano.

ATmega168 et ATmega328 prennent en charge les interfaces I2C (TWI) et SPI. L'Arduino inclut la bibliothèque Wire pour une utilisation facile du bus I2C. Plus d'informations dans la documentation. Pour utiliser l'interface SPI, reportez-vous aux fiches techniques des microcontrôleurs ATmega168 et ATmega328.

Programmation

La plate-forme est programmée à l'aide du logiciel Arduino. Dans le menu Outils > Carte sélectionnez "Arduino Diecimila, Duemilanove ou Nano w/ ATmega168" ou "Arduino Duemilanove ou Nano w/ ATmega328" (selon le microcontrôleur installé). Des informations détaillées peuvent être trouvées dans le manuel et les instructions.

Les microcontrôleurs ATmega168 et ATmega328 sont livrés avec un chargeur de démarrage préchargé qui facilite l'écriture de nouveaux programmes sans utiliser de programmeurs externes. La communication est effectuée par le protocole original STK500.

Il est possible de ne pas utiliser le bootloader et de programmer le microcontrôleur via les sorties du bloc ICSP (programmation en circuit). Des informations détaillées se trouvent dans ce manuel.

Redémarrage automatique (logiciel)

Nano est conçu de telle manière qu'avant d'écrire un nouveau code, le programme lui-même redémarre, et non en appuyant sur un bouton de la plate-forme. L'une des lignes de contrôle de flux de données (DTR) FT232RL est connectée à la broche de réinitialisation des microcontrôleurs ATmega168 ou ATmega328 via un condensateur de 100 nF. Activation de cette ligne, c'est-à-dire un signal de niveau bas, réinitialise le microcontrôleur. Le programme Arduino, en utilisant cette fonction, télécharge le code d'un simple clic sur le bouton Télécharger dans l'environnement de programmation lui-même. La signalisation de bas niveau sur la ligne DTR est coordonnée avec le début de l'écriture du code, ce qui réduit le délai d'attente du chargeur de démarrage.

La fonction a une autre application. Le Nano redémarre chaque fois qu'il est connecté au programme Arduino sur un ordinateur Mac X ou Linux (via USB). La demi-seconde suivante après le redémarrage, le chargeur de démarrage fonctionne. Lors de la programmation, les premiers octets du code sont retardés pour éviter que la plateforme ne reçoive des données erronées (tout sauf le code du nouveau programme). Si vous effectuez un débogage ponctuel d'une esquisse écrite sur la plate-forme ou si vous entrez d'autres données lors de la première exécution, vous devez vous assurer que le programme sur l'ordinateur attend une seconde avant de transférer des données.

(Fichier ouvert Arduino MEGA Référencez Design.brd dans Eagle CAD, puis Fichier -> Exporter... -> Image)

Composants pour l'auto-assemblage de la carte Arduino Nano avec d'éventuels remplacements / analogues

La désignation Dénomination Explication Noter
1 C1 0.1uF Condensateur 0.1uF smd 0805 total 5 pièces
2 C2 4.7uF total 2 pièces
3 C3 0.1uF Condensateur 0.1uF smd 0805
4 C4 0.1uF Condensateur 0.1uF smd 0805
5 C7 0.1uF Condensateur 0.1uF smd 0805
6 C8 4.7uF Condensateur tantale 4.7uF smd A
7 C9 0.1uF Condensateur 0.1uF smd 0805
8 D1 MBR0520 Diode, CMS SOD-123 Toute diode ou diode Schottky, U>20V, I>0.5A
9 J1 HEAD15-NOSS
10 J2 HEAD15-NOSS-1 Connecteur mâle 1x15 ("mâle")
11 J3 USB-MINI-B%C connecteur mini-USB - prise sur la carte, type B
12 J4 HEAD3X2 Connecteur à broche 2x3 ("mâle")
13 LED1 RED_RX LED smd 0805 "RX" - indication des données reçues via UART total 4 pièces
14 LED2 VERT_TX LED smd 0805 "RX" - indication de transfert de données via UART
15 LED3 L_AMBRE LED smd 0805 "L" - connecté au port numéro 13
16 DEL4 bleu LED smd 0805 "PWR" - indicateur de puissance
17 RP1 1K Assemblage de résistances 4x1 kOhm, smd 4D03
18 RP2 330 Assemblage de résistance 4х330 Ohm, smd 4D03
19 SW1 RÉINITIALISER Bouton de réinitialisation 2 broches, smd Dimensions 3x6 mm maximum !
20 U1 ATMEGA ATMEGA168-20AU, ou ATMEGA328-20AU, smd TQFP-32
21 U2 FT232RL FT232RL, CMS SSOP28
22 U3 UA78M05 Stabilisateur linéaire à faible chute
entrée/sortie de tension 0,5 A, smd SOT223
Remplacement possible : tout régulateur de tension linéaire 7805 (SMD, SOT223), avec broches : 1-Vin, 2-Gnd, 3 - Vout
23 Y1 16MHz Résonateur à quartz 16 MHz CMS Dimensions 3,7x3,1x1,0 mm ou moins !