Pagine

lunedì 16 settembre 2013

Scrivere Bootloader ATmega328p con arduino su BreadBoard con e senza quazo.

In questo tutorial vediamo come scrivere il bootloader su un ATmega328 usando l'Arduino UNO.

Scrivere il bootloader su atmega 328p a 16mhz
Ci servirà:
  • Una breadboard
  • Un Arduino UNO
  • 2 condensatori da 18 o 22pf
  • Un cristallo da 16 MHz
  • Una resistenza da 10K
  1. Selezionare il modello di Arduino che si sta utilizzando dal menu: strumenti --> tipo di Arduino.
  2. Fare l'upload dello sketch "Arduino ISP" (negli esempi) sull'Arduino da usare come programmatore.
  3. Collegare l'Arduino e l'ATmega 328 come nel seguente schema, (nello schema non è indicato ma bisogna aggiungere un condensatore da 10uF tra il pin reset e 3,3V di Arduino, con Arduino r3 non è necessario).
  4. Selezionare "Arduino UNO" dal menù strumenti, tipo di Arduino.
  5. Poi menù strumenti --> Programmatore--> Arduino as ISP
  6. E infine menù --> Strumenti --> Scrivi il bootloader

Circuito minimale con quarzo interno 8mhz
Con questa configurazione non sono necessari i 2 condensatori da 18 - 22pf, il quarzo e la resistenza da 10K.


Per utilizzare il quarzo interno da 8mhz, bisogna creare una sottocartella chiamata "breadboard" nella cartella "hardware" di Arduino e copiarci dentro questo file e riavviare L'IDE di Arduino.
Il circuito da realizzare è il seguente:
Il procedimento è identico a quello sopra, basterà selezionare "ATmega328 on a breadboard 8mhz" dal menu tipo di Arduino, selezioniamo come programmatore Arduino as ISP e scrivere il bootloader.
Volendo possono essere aggiunti dei led con resistenza da 220ohm dai seguenti pin a gnd.

  • Pin 9 Arduino, led verde: indica che il programmatore è in funzione.
  • Pin 8 Arduino, led rosso: serve ad indicare un errore.
  • Pin 7 Arduino, led giallo:  lampeggia durante la programmazione.

Alcune foto:



Nel prossimo post vedremo come caricare li sketch usando lo stesso procedimento.
Per qualsiasi domanda scrivete nei commenti qui sotto.
Fonte: From Arduino to a Microcontroller on a Breadboard



Nessun commento:

Posta un commento