eo – en fr

Aŭtonoma Atmega328P, paŝ-paŝe

2022-09-12
elektroniko, Arduino

Ĉi tiu gvido priskribas kiel programi aŭtonoman mikrokontrolilon Atmega328P uzante karton Arduino, kaj exteran oscilatoron je 16MHz. Ĝi rezultas el mia frustro kaŭzita de ĉiuj miaj malsukcesaj provoj, kaj de legoj de malkompletaj instruiloj. Nun mi trovis funkciantan metodon, mi ĝin publikigas tie por ne perdi ĝin.

§Necesa aparataro

§Komento

Se vi ne havas kondensilon je 22pF, vi povas trovi iujn en malnovaj aparatoj (ekzemple, videosurbendigiloj enhavas multan). Malfeliĉe la trairantaj kondensiloj je tiu valoro ŝajne malabundas, do vi eble devos malveldi multajn surfacajn kondensilojn kaj trovi la bonaj uzante unu [simpla ]

Si vous n'avez aucun condensateur de 22pF, vous pouvez en récupérer dans un vieil appareil (par exemple il y en a plein dans les magnétoscopes). Malheureusement les condensateurs traversants de cette valeur ont l'air assez rares, donc vous devrez peut-être récupérer plein de condensateurs montés en surface et trouver les bons en fabriquant un capacimètre tout simple avec une Arduino.

§Circuit

Circuit for programming the Atmega using an Arduino.

La description des broches de l'Atmega328P peut être trouvée dans sa fiche technique.

Vérifiez bien les branchements. Le MOSI va sur le MOSI et le MISO sur le MISO, ils ne sont pas échangés.

§En production

Les branchements suivants sont nécessaires seulement quand le microcontrôleur n'est pas connecté à l'Arduino.

§Programmation

J'utilise l'IDE Arduino.

D'abord, programmons l'Arduino pour en faire une sorte de relais entre l'ordinateur et le microcontrôleur :

  1. Ouvrez le programme d'exemple ArduinoISP.
  2. Si vous utilisez une Arduino Uno, décommentez la ligne #define USE_OLD_STYLE_WIRING.
  3. Choisissez votre carte dans le Type de carte (Arduino Micro pour moi).
  4. Choisissez votre programmateur habituel (en général AVR ISP).
  5. Envoyez le programme normalement.

Nous pouvons enfin programmer le microcontrôleur :

  1. Ouvrez le programme voulu. (ou testez avec l'exemple Blink)
  2. Choisissez le type de carte Arduino Uno. (même si vous utilisez une autre carte comme programmateur ; c'est parce qu'un Atmega328P seul avec un oscillateur 16MHz se comporte comme une Arduino Uno)
  3. Choisissez le programmateur Arduino as ISP.
  4. Si le microcontrôleur ne contient pas encore de bootloader, faites Outils -> Graver la séquence d'initialisation.
  5. Envoyez le programme avec Croquis -> Téléverser avec un programmateur.