PIllole di diritto per creativi. Esiste davvero una tutela sulle idee?
Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere...
Transcript of Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere...
![Page 1: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/1.jpg)
Quaderni di Elettronica corso per creativi ed inventoriSpazio Chirale alla GarbatellaStefano Capezzone
SSID: spazio chirale bestPass: persico32www.chirale.it/download-elettronica
This document is licensed under Creative Common Attribution 4.0 International license
![Page 2: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/2.jpg)
Segnali dall’ambiente
Comandi elettronici verso altri dispositivi
Sensori
Attuatori
Microcontrollore
![Page 3: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/3.jpg)
CPU
![Page 4: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/4.jpg)
Schema logico di un MCU
![Page 5: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/5.jpg)
Schema ATMega 328P
![Page 6: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/6.jpg)
Come si programma un mcu?
Ambiente IDE su PC, ad esempio Atmel Studio
Programmatore ISP, o HVSP
+
![Page 7: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/7.jpg)
Esempio di codice per ATMega328p#include <avr/io.h> #include <util/delay.h>
int main(void) { DDRB = (1<<PB5); for(;;)
{PORTB |= (1<<PB5)_delay_ms(1000); PORTB &= ~(1<<PB5); _delay_ms(1000);
} return 0;
}
Compilatore
Linker
Loader
![Page 8: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/8.jpg)
Configurazione mediante impostazioni dei fuse
Sui PCB si usano deboli connessioni in stagno tra due pin per consentire all’utente di configurare la scheda elettronica fondendo (programmando) i collegamenti.
Nei circuiti integrati digitali è rimasto il nome di fusibile ma si tratta di registri fatti di bit riscrivibili.I “fuse” di un MCU determinano la sua configurazione hardware.
![Page 9: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/9.jpg)
Configurare il MCU
I “fuse” devono essere programmati per far funzionare correttamente il firmware
Gli IDE professionali come Atmel Studio hanno delle utility proprie per questo compito
Nel mondo maker si utilizza il tool open source “avrdude”, che serve anche a caricare il firmware
![Page 10: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/10.jpg)
I fuse sono critici
Un errore nella programmazione dei fuse può portare al blocco del MCU
Il problema del brick!
![Page 11: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/11.jpg)
Unbrick dei microcontrollori Atmel
In realtà una cattiva configurazione dei fuse non crea un vero “brick” del MCU, semplicemente non consente la programmazione via “internal systemprogrammer”.
Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione di 12V pone l’elettronica interna nello stato di programmazione.
Un programmatore professionale come STK500 di Atmel consente di riprogrammare i fuse.
![Page 12: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/12.jpg)
Il progetto Arduino
![Page 13: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/13.jpg)
Coding semplificato e intuitivo
IDE ARDUINO
www.arduino.cc -> Download
![Page 14: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/14.jpg)
Ecco a voi l’AtTiny85!
Il più piccolo microcontrollore di casa Atmel
2 Euro circa se comprato al dettaglio
Bassa potenza elettrica, si alimenta con una pila a bottone da 3V
Arduino compatibile, come tutti gli Atmel
![Page 15: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/15.jpg)
![Page 16: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/16.jpg)
Attiny85 pin mapping
![Page 17: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/17.jpg)
Il programmatore USBASP
![Page 18: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/18.jpg)
1. Selezionare il modello del programmatore
2. Compilare il software come al solito
3. Tenere premuto lo SHIFT mentre si preme il pulsante di caricamento
Il comando di menù “Scrivi il bootloader” programma i fuse e poi carica sul MCU il bootloader di Arduino
L’IDE può utilizzare un programmatore esterno
![Page 19: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/19.jpg)
Definiamo la nuova scheda
Per default l’IDE Arduino non conosce le board “ATtiny85”, per cui dobbiamo scaricare da Internet il file di configurazione.
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
![Page 20: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/20.jpg)
”
Scaricare la nuova definizione della scheda
![Page 21: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/21.jpg)
Verificare che l’ide abbia acquisito la nuova scheda
Selezionando ATtiny85Compaiono due voci nuove di menù
![Page 22: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/22.jpg)
Configuriamo i FUSE
Questa funzione imposta i FUSE!L’ATTiny85 non ha il BOOTLOADER che vedremo dopo
![Page 23: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/23.jpg)
Il “blink”
![Page 24: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/24.jpg)
5. Prepariamo lo sketch blink
![Page 25: Quaderni di Elettronica corso per creativi ed inventori...Gli Atmel, come altri MCU, possono essere programmati anche con la modalità High Voltage, dove l’applicazione di una tensione](https://reader036.fdocuments.in/reader036/viewer/2022071413/610c4ffad9af1f2f29254390/html5/thumbnails/25.jpg)
6. Carichiamo (firmware burn)
Per prima cosa dobbiamo selezionare nell’IDE la scheda ATtiny25/45/85
Poi impostiamo il processore ATtiny85
Poiché le librerie Arduino sono tarate per un clock di 8 Mhz, impostiamo tale clock. Attenzione a non impostare un clock esterno!!!
Effettuiamo la programmazione dei fuse caricando il bootloader. ATtiny non prevede alcun bootloader ma la procedura serve a programmare i fuse.
Se tutto è andato bene, premiamo lo shift e carichiamo lo sketch blink.