Arduino Lezione 1 Descrizione della board e installazione
Transcript of Arduino Lezione 1 Descrizione della board e installazione
![Page 1: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/1.jpg)
Laboratorio di Elettronica
Arduino Lezione 1Descrizione della board e installazione
1
![Page 2: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/2.jpg)
Lezione 1
- Arduino: introduzione ai componenti fondamentali
- Hardware: microcontrollore e I/O
- Software: come programmare il microcontrollore
- Installazione passo passo
- Esercizio (blinking LED)
2
![Page 3: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/3.jpg)
Cosa è ArduinoArduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.
da Arduino.ccComponenti principali:- microcontrollore - pin di I/O analogici e digitali- memoria flash- porta USB per comunicazione in maniera seriale
3
![Page 4: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/4.jpg)
Cosa può fare ArduinoArduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.
da Arduino.cc
- Leggere sensori- Controllare periferiche- Comunicare tramite porta seriale- Programmabile
4
![Page 5: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/5.jpg)
MicrocontrolloreATMega 2560
5
![Page 6: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/6.jpg)
MicrocontrolloreEvoluzione del microprocessore per applicazioni specifiche. Ha una memoria interna ed è programmabile.
Componenti:- CPU- memoria ROM, EPROM, FLASH- memoria dati: RAM, EEPROM- oscillatore- porte I/O- componenti aggiuntivi: ADC, DAC, contatori, timer...
Arduino Mega2560 (la board che useremo) è composto da un microcontrollore ATmega2560.
DataSheet: http://www.atmel.com/Images/doc2549.pdf6
![Page 7: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/7.jpg)
Pin I/OPin I/O
7
![Page 8: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/8.jpg)
Pin I/O- 54 pin in totale, operano a +5 V.
- massima corrente sui pin: 40 mA
- pin 13: LED connesso
- AREF: per input analogici, voltaggio di riferimento.
- Reset
- 16 pin di input analogici: hanno risoluzione di 10 bit (1024 valori)
8
![Page 9: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/9.jpg)
Power
Voltage regulator
Power Jack
9
![Page 10: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/10.jpg)
Voltage Regulator
- Serve a stabilizzare la tenzione da fornire ai vari componenti della scheda.
- Output: 5V o 3.3V
- Corrente massima fino a 800 mA
- Datasheet: http://cds.linear.com/docs/Datasheet/1175ff.pdf
10
![Page 11: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/11.jpg)
ICSP e Clock
ICSP headerOscillatore
11
![Page 12: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/12.jpg)
Crystal Oscillator
- Circuito oscillante ad alta frequenza (fino ai MHz).
- Basato su oscillazione di un materiale piezoelettrico.
- In questo caso un quarzo, ma può essere anche ceramico.
- Quarzo su Arduino 16 MHz.
12
![Page 13: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/13.jpg)
ICSP- Acronimo per In Circuit Serial Programming
- Può essere usato per programmare Arduino senza passare dal bootloader (non lo useremo).
- Utile se si vuole caricare sulla scheda un programma già sviluppato in un altro ambiente.
- Siccome non usa il bootloader, permette di sfruttare più memoria sulla scheda (8kB su 256kB).
13
![Page 14: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/14.jpg)
USB port
Porta USB
ATMega16U2
14
![Page 15: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/15.jpg)
ATMega 16U2
- E’ un microcontrollore a tutti gli effetti.
- Meno potente del ATMega2560, è programmato apposta come USB to serial converter.
- Fa le veci del FTDI USB to serial driver, montato sulle vecchie schede.
- DataSheet: http://www.atmel.com/Images/doc7799.pdf
15
![Page 16: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/16.jpg)
Software- Arduino è programmabile. Ambiente di sviluppo dedicato.
- Linguaggio simile al C/C++.
- Libreria Wiring per gestire input/output
- Derivato da Processing ma con alcune differenze.
ArduinoBuy | Download | Getting Started | Learning | Reference | Hardware | FAQ
Blog » | Forum » | Playground »
Reference Language (extended) | Libraries | Comparison | Board
Arduino/Processing Language Comparison
The Arduino language (based on Wiring) is implemented in C/C++, and therefore has some differences from the Processinglanguage, which is based on Java.
Arrays
Arduino Processing
int bar[8]; bar[0] = 1;
int[] bar = new int[8]; bar[0] = 1;
int foo[] = { 0, 1, 2 }; int foo[] = { 0, 1, 2 }; or int[] foo = { 0, 1, 2 };
Loops
Arduino Processing
int i; for (i = 0; i < 5; i++) { ... }
for (int i = 0; i < 5; i++) { ... }
Printing
Arduino Processing
Serial.println("hello world"); println("hello world");
int i = 5; Serial.println(i);
int i = 5; println(i);
int i = 5; Serial.print("i = "); Serial.print(i); Serial.println();
int i = 5; println("i = " + i);
Reference Home
Corrections, suggestions, and new documentation should be posted to the Forum.
The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples inthe reference are released into the public domain.
Edit Page | Page History | Printable View | All Recent Site Changes
16
![Page 17: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/17.jpg)
Software
compilazione
upload
status17
![Page 18: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/18.jpg)
SoftwareFunzioni principali: setup() e loop()
setup(): chiamata una sola volta, all’inizio del programma. Usata per inizializzazione delle variabili e dello stato dei pin.
loop(): è un ciclo, all’interno del quale implementare il vero e proprio programma
Librerie e funzioni predefinite per accedere ai pin e impostare/leggere il valore.
ArduinoBuy | Download | Getting Started | Learning | Reference | Hardware | FAQ
Blog » | Forum » | Playground »
Reference Language (extended) | Libraries | Comparison | Board
loop()After creating a setup() function, which initializes and sets the initial values, the loop() function does precisely what its namesuggests, and loops consecutively, allowing your program to change and respond. Use it to actively control the Arduino board.
Example
int buttonPin = 3;
// setup initializes serial and the button pinvoid setup(){ beginSerial(9600); pinMode(buttonPin, INPUT);}
// loop checks the button pin each time,// and will send serial if it is pressedvoid loop(){ if (digitalRead(buttonPin) == HIGH) serialWrite('H'); else serialWrite('L');
delay(1000);}
Reference Home
Corrections, suggestions, and new documentation should be posted to the Forum.
The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples inthe reference are released into the public domain.
Edit Page | Page History | Printable View | All Recent Site Changes
18
![Page 19: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/19.jpg)
Installazione
http://arduino.cc/en/Main/Software
Passo 1: scaricare il software da qui
19
![Page 20: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/20.jpg)
InstallazionePasso 2: connettere la board al pc tramite USB.
A questo punto il LED PWR dovrebbe accendersi.
20
![Page 21: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/21.jpg)
InstallazionePasso 3: installare i driver per Arduino.
1) cliccare su Start Menu2) Control Panel3) System and Security4) System5) Device Manager6) Ports (COM & LPT)7) cliccare col destro su Arduino e scegliere Update Driver Software8) scegliere “browse my computer” e selezionare il file .inf appena scaricato (sotto la cartella Drivers).
21
![Page 22: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/22.jpg)
Installazione
Passo 4: lanciare l’applicazione.
Passo 5: aprire l’esempio blink.Andare sotto File, Examples, 1.Basics, Blink.
Passo 6: selezionare il tipo di Board.Andare sotto Tools, Board e selezionare
Arduino Mega 2560.
22
![Page 23: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/23.jpg)
InstallazionePasso 7: selezionare la porta seriale.
Andare sotto Tools, Serial Port. Cliccare su COM3. Per trovare quale è basta disconnettere e riconnettere la
Board.
Passo 8: caricare il programma. Basta cliccare sul bottone Upload. I LED RX e TX
dovrebbero iniziare a lampeggiare. Se l’upload riesce compare il messaggio “Done Uploading”.
Dopo pochi secondi dall’upload dovreste vedere il LED 13 che si accende ripetutamente.
23
![Page 24: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/24.jpg)
Disclaimer10 metodi certi per distruggere Arduino:
1) Cortocircuitare I/O pin a terra.2) Connettere I/O pin tra di loro.3) Applicare troppa tensione sugli I/O pin. 4) Applicare tensione su Vin, ma a polarità inversa. 5) Applicare >5V sul pin 5V. 6) Applicare >3.3V sul pin 3.3V.7) Cortocircuitare Vin a GND.8) Applicare >13 V al reset.9) Applicare tenzione a 5V e caricare Vin.10) Eccedere la corrente totale del microcontrollore (200 mA).
Per saperne di più: http://ruggedcircuits.com/html/ancp01.html24
![Page 25: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/25.jpg)
Sketch I: blinking LED/*
Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */
void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinMode(13, OUTPUT); }
void loop() { digitalWrite(13, HIGH); // set the LED on delay(1000); // wait for a second digitalWrite(13, LOW); // set the LED off delay(1000); // wait for a second
}
Setup()
Loop()
25
![Page 26: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/26.jpg)
Sketch I: blinking LED
Proviamo a modificare il programma di test.
1) modificare la frequenza del LED2) aggiungere altri LED (modifica Pin I/O)3) fare accendere diversi LED in sequenza4) Dare un’occhiata allo sketch Fading LED5) aumentare o ridurre la brightness del LED.6) ...
26
![Page 27: Arduino Lezione 1 Descrizione della board e installazione](https://reader031.fdocument.pub/reader031/viewer/2022021422/586e11151a28ab8b3b8b795c/html5/thumbnails/27.jpg)
Bibliografiawww.arduino.cc
http://arduino.cc/en/Tutorial/HomePagehttp://arduino.cc/en/Reference/HomePagehttp://arduino.cc/en/Guide/Environment
http://todbot.com/blog/spookyarduino/http://todbot.com/blog/bionicarduino/
http://wiring.org.co/http://processing.org/
27