Slide del corso - Arduino@LNF

Transcript

Slide del corso - Arduino@LNF
ARDUINO
possibile standard slow-control a basso prezzo.
Benvenuti
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Per connettersi a internet:
• Aprire Firefox
• Dal menu Opzioni  Avanzate
• Avanzate  rete
• Connessione  aprire impostazioni
• Fare la configurazione come indicato in figura
• Dal vostro PC su esegui digitate:
\\192.168.160.103
trovate una cartella «CorsoArduino2015»
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Il perché di questo corso
• Diffondere il concetto di «Open
Source»
• Risparmi economici sull’hardware
• Non c’è bisogno di personale super
specializzato
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Che cosa faremo durante il
corso
• Corso sarà più pratico che teorico
• Imparerete a conoscere il «sistema
Arduino»
• Cenni di programmazione C
• Esempi con Arduino
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cos’è Arduino
• Una scheda di prototipazione opensource
• Prima di Arduino ce n’erano tante e più
professionali…
• Perché è stato fatto Arduino?
• Perché tanto successo…Makers e non solo!
Arduino, presentazione Banzi
https://interactionivrea.org/it/index.asp
http://makerfaire.com/
http://www.ladyada.net/make/index.html
next
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
olivetti
ARDUINO
possibile standard slow-control a basso prezzo.
Ditte microcontrollori prima di Arduino:
AMCC Atmel Comfile Techonology Inc. Coridium Cypress MicroSystem
Dalla Semiconductor Elba Corp. Freescale Semiconductor Fujitsu
Holtek Infineon Intel Microchip Technology National Semiconductor
NEC
Parallax, Inc. Philips Semiconductors PICAXE Renesas Techonology Silabs
Silicon Motion STMicroelectronics
Toshiba Western Design Center
Ubicom
Xemics
Xilinx ZiLOG …etc
Ditte microcontrollori durante e dopo di Arduino:
???? Ogni giorno una start up nuova….UDOO
<--- ritorna
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
www.arduino.cc
www.arduino.org
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
https://www.arduino.cc/en/Main/ArduinoBoardUno
https://www.arduino.cc/en/Main/Products
http://www.arduino.org/products
Vendita:
http://www.banggood.com/it/Wholesale-Arduino-Compatible-Kits-andDIY-Kits-c-3091.html
http://www.robotics-3d.com/
http://www.robot-italy.com/it/arduino-2.html
https://www.adafruit.com/
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
ICSP
PWM 1
ATmega328p (PDF)
Schema Pins
ingrandisci
interfacing
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Schema a blocchi
Arduino: hardware
GPI O
General Purpose Input Output
esempio
foto
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
I/O Digitali
ingrandisci
ingrandisci
ingrandisci
ingrandisci
ingrandisci
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
Ingressi analogici ADC
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
PWM
(Pulse Width Modulation)
• 6 output PWM
(pin: 3,5,6,9,10 e 11)
• 8-bit di risoluzione
(0-255 valori interi)
• http://arduino.cc/en/Tutoria
l/SecretsOfArduinoPWM
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
PWM:
10%
50%
90%
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
DAC
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
I2C
Esempio di connessione
protocollo
reference
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
UART
Universal Asynchronous Receiver-Transmitter
RS232 caratteristiche
Distanza max
TTL – RS232
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
SPI
Serial Peripheral Interface
È un bus standard di comunicazione ideato dalla Motorola e
sviluppato, in una sua variante, anche dalla National Semiconductor
con il nome di bus MicrowireTM.
 di tipo seriale
 sincrono per la presenza di un clock che coordina la
trasmissione e ricezione dei singoli bit e determina la velocità
di trasmissione
 Connessioni,
protocollo
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
1Wire
microLAN
maxim
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Arduino: hardware
riassumendo…
SPI
Singolo Master, multi Slaves.
utilizzata per comunicazioni veloci (ma a brevissima distanza), utilizza 3 o 4 connessioni.
Se si ha bisogno di più di qualche dispositivo occorre aggiungere un chip per selezionarli.
I2C
Sullo stesso bus è possibile lapresenza di più Master, ma solo uno alla volta ricoprirà questo ruolo.
Più Master, multi Slaves.
utilizzata per comunicazioni di media velocità ma molto versatile, utilizza solo 2 connessioni
e può essere opportunamente interfacciata con boost hardware che permettono
di arrivare anche a lunghe distanze…limitata dalla capacità del bus max 400 pF.
UART
L’interfaccia più comune visto che viene utilizzata dallo standard RS232.
2 semplici connessioni senza clock (tx rx) ma velocità non elevata.
1-wire
Singolo Master, multi slaves. Grande varieta di dispositivi. hot-swapping
Con un circuito master appropiato può arrivare anche a 300 mt
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
• …due parole su Real time e…
• sistemi di controllo a circuito chiuso.
1, 2
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Links e referenze consigliate
• https://www.arduino.cc/
http://www.arduino.org/
•
•
•
•
•
•
Programming Arduino Next Steps (Simon Monk)
Beginning C for Arduino (Jack Purdum)
Michele Maffucci
Instructables
Elettronica open souce
Mauro Alfieri
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Per programmazione si intende un insieme
di operazioni ordinate (istruzioni) per
raggiungere un obiettivo
Istruzioni – Esecuzione – Obiettivo
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Algoritmo
L’Algoritmo è costituito da una lista finita
di istruzioni da eseguire finalizzate al
raggiungimento di un obiettivo in un tempo
finito.
L’arte di “usare e miscelare” uno o più
algoritmi per raggiungere uno scopo si
chiama Programmazione.
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Algoritmo
Ci sono vari modi per rappresentare un
algoritmo, a seconda della vastità e
comprensività del lavoro che si deve
affrontare
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
FlowChart
Inizio/Fine
Dell’Algoritmo
Input/Output
Dati
Condizione
Istruzioni
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
PseudoCodice
Algoritmo AspettaAcquaBolle():
Finchè<l’acqua NON bolle>:
<Guarda L’acqua>
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Diagrammi di Transizione
Inizio
Spegni
la tensione
Acquisisci
La temperatura
T=Y
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Fine
Cenni di Programmazione per
Arduino
Metodo di sviluppo del Software
Definire il problema
Sviluppare l’algoritmo
Se necessario implementate il progetto
Provare e verificare l’implementazione
Effettuare la manutenzione
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Struttura di un programma:
Direttive per il compilatore: # include <libreria>
Parte dichiarativa globale : variabili,…
Parte di preparazione: setup() {blocco codice}
Parte esecutiva: loop() {
Parte dichiarativa locale: variabili,…
blocco codice}
// commento alla linea
/* commento
al testo */
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Struttura di un programma:
Le variabili sono dei contenitori
Definizione:
tipo nome_variabile;
tipo nome_variabile = valore_iniziale;
Tipo di dati
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Struttura di un programma:
Parte di preparazione: setup() {blocco codice}
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
}
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Struttura di un programma:
Parte di preparazione: loop() {blocco codice}
void loop() {
Parte dichiarativa locale: variabili,…
}
blocco codice;
blocco codice;
blocco codice;
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Blocco di codice:
Condizione: if else, case
Cicli: For, while
Funzioni: f(x) { blocco di codice;}
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Condizione: if else
if (condizione) {
codice;
codice;
}
else {
codice
codice
}
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Condizione: if else
if (pinFiveInput < 500) {
blocco codice 1;
}
else {
blocco codice2;
}
if (x > 0 || y > 0) {
blocco codice;
}
reference
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Condizione: switch case
switch (var) {
case 1:
blocco codice1
break;
case 2:
blocco codice2
break;
default:
blocco codice non scelta contemplata;
break;
}
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Cicli: For, While
for (cont=valore1; cont < valore2; cont=incr.) {
blocco codice;
}
while (espressione_booleana) {
blocco codice;
}
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Funzioni:
Tipo_nome_funzione(par1,...parn) {
blocco codice;
blocco codice;
......
return (valore)
}
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Funzioni:
int i = 5;
int j = 3;
int k;
void setup() {
Serial.begin(9600);
}
void loop() {
k = moltiplicazione(i, j); // in questo punto viene chiamata la funzione
Serial.println(k);
delay(500);
}
// Funzione:
int moltiplicazione(int x, int y) {
int resultato;
risultato = x * y;
return risultato;
}
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Array
tipo nome_array[quantità]={n1,n2,…nn};
int mioArray[6];
int mioArray[] = {2, 4, 8, 3, 6};
int mioArray[6] = {2, 4, -8, 3, 2, 5};
char messaggio[6] = "hello";
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Array
int mioArray[6];
mioArray[0] = 3;
mioArray[1] =2;
--------------------------------------------------int mioArray[6] = {2, 4, -8, 3, 2,7};
……
loop() {
int i; for (i = 0; i < 5; i = i + 1) {
Serial.println(mioArray[i]);
}
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
Porta Seriale
•
•
•
•
Serial.begin (velocità,configurazione);
Serial.availble();
Serial.read();
Serial.println(valore);
esempio
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
String
• Array di caratteri






char Str1[15];
char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'};
char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'};
char Str4[ ] = "arduino";
char Str5[8] = "arduino";
char Str6[15] = "arduino";
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Cenni di Programmazione per
Arduino
String
Stringa come oggetto ….
esempio
reference
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Software comparison
Arduino IDE
C/C++
ASM
Semplicità della
programmazione
Easy
Moderate
Challenging
librerie
molte
molte
niente
velocita
lento
veloce
veloce
accessibilità alle
caratteristiche
del processore
Molto limitata
La maggior parte
completamente
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Set up per lo “Starter kit Grove”
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Parte 2A
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Descrizione dell’IDE
(Integrated develpopment enviroment)
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Prova del set up con lo sketch “blink”
Blink without delay()
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
blink2
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
HiBlink SpeedyBlink
immagine
immagine
ATmega328p
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Arduino con stile
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Parte 2B
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Accendere un Led tramite un
pulsante
Foto
Debaunce1
Debaunce
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Lettura di un valore analogico
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
map (valoreLetto, 0, 1023, 0, 5000);
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
PWM
Knob grove
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
I2C
HelloWord
I2C_Scanner
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
I2C
Modificate lo sketch «Hello Word» in modo che
dopo «n» secondi la «Backlight» cambia in verde.
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Parte 3A
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
I2C
Connettere due Arduino
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Lettore temperatura
LCD
I2C
Lettura di una temperatura,
visualizzazione su LCD (Arduino Master),
visualizzazione sul monitor seriale del
secondo Arduino (Slave)
Sprinf dtostrf
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Parte 3B
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Sensore sensiron
LCD
Esempio LNF
Lettura di sei sonde
Temperatura-Umidità e
Pressione Atmosferica
foto
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Sensore Patm
ARDUINO
possibile standard slow-control a basso prezzo.
Sketch LNF
pseudoRandom
trueRandom with Geiger–Müller tube
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Esercizio
1.
Generare numeri random tra 1 e 150.
2.
Scrivere il numero random sulla seriale e sul display.
3.
4.
Se il numero è compreso tra 1 e 50 mettere la backlight del LCD di colore rosso
Se il numero è compreso tra 51 e 100 mettere la backlight del LCD di colore verde
5.
Se il numero è compreso tra 101 e 150 mettere la backlight del LCD di colore blu
6.
Se per tre volte consecutive il numero random è nello stesso range far suonare un
beep di frequenza diversa per ogni range e far accendere un led.
randomLCD
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Parte 4A
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Esercizio
1.
Generare numeri random tra 1 e 150.
2.
Scrivere il numero random sulla seriale e sul display.
3.
4.
Se il numero è compreso tra 1 e 50 mettere la backlight del LCD di colore rosso
Se il numero è compreso tra 51 e 100 mettere la backlight del LCD di colore verde
5.
Se il numero è compreso tra 101 e 150 mettere la backlight del LCD di colore blu
6.
Se per tre volte consecutive il numero random è nello stesso range far suonare un
beep di frequenza diversa per ogni range e far accendere un led.
randomLCD
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
scanBus
Esercizio
referenze
oneWire
Leggere la temperatura ambiente
dalla sonda DS18B20 e mostrarla
sull’LCD, con la temperatura sotto i
28 °C la backlight sarà verde sopra
diventera rossa e attiverà un allarme.
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Sketch LNF
Arduinocp.lnf.infn.it (Sketch foto)
temperaturaElettronicaKloe
(LabView)
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Parte 4B
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Esercizio
Gioco dei Dadi
Scrivere un programma che simuli il gioco dei dadi
tra due giocatori:
Simulare il lancio dei dadi con un pulsante, per ogni
giocatore, visualizzare su LCD il numero uscito. Alla
fine del gioco indicare il vincitore e i punti raggiunti
da ciascun giocatore.
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Esercizio
Sviluppare il programma usando
due tasti per lo «Start», «Stop» e
«Reset»; Il tempo va visualizzato
sul LCD
m : sec : dec
Cronometro
Cronometro Giovanni
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Parte 5A
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Sketch LNF
Fisica Sanitaria
LaresEncoderAssoluto
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Esercizio
Sviluppare il programma usando
due tasti per lo «Start», «Stop» e
«Reset»; Il tempo va visualizzato
sul LCD
m : sec : dec
Cronometro
Cronometro Giovanni
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Esercizio
Tombola
Estrarre un numero casuale (da 1 a 90)
quando viene spinto un tasto; prima di
visualizzare il numero estratto e il numero
dell’estrazione sull’ LCD emettere un suono e
lampeggiare la backlight.
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Confronto tra tre soluzioni:
1. Tombola a
2. Tombola b
3. Tombola c
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Motore
Sketch LNF
ControlloTuboRx
LabView
Foto
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Funzioni & Librerie
Cosa sono, differenze e «how to»
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Esercizio
Una linea è convenzionalmente tre volte un punto.
Gli spazi tra i punti e le linee di un carattere sono
della lunghezza di un punto, quelli tra le lettere sono
ampi come una linea (tre punti), quelli tra parole sono
lunghi sette punti.
S O S_0 (senza funzioni e libreria)
S O S_1 (con l’uso di funzioni)
S O S_2 (con l’uso di una libreria) folder
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Sketch LNF
CorsiLabview
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Parte 5B
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
IoT
Internet of Things
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Blynk
esempio
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
NI Multisim & Ultiboard
1. Abbiamo la licenza della National Instruments nel pacchetto nazionale
Da chiedere a [email protected]
2. Ci sono i «template» per varie tipologie di arduino.
3. I files «gerber» li mandiamo direttamente alla ditta «mdsrl»
(prototipi a basso prezzo; alta efficienza e professionalità)
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ESP8266
1. Hardware interessante da usare con Arduino o standalone
2. Links:
https://forum.arduino.cc/index.php?topic=265682.0
http://www.esp8266.com/wiki/doku.php
https://en.wikipedia.org/wiki/ESP8266
https://en.wikipedia.org/wiki/NodeMCU
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
ARDUINO
possibile standard slow-control a basso prezzo.
Discussione finale
E fine corso.
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Origine del vocabolo Algoritmo
•
Il termine algoritmo è ispirato dal nome del matematico e
astronomo arabo del VII° secolo Abu Ja Mohammed Ibn Musa
Al-Khowarizmi che, oltre ad essere l’inventore dello zero e
dell’algebra, ha la paternità di quello che è considerato uno dei
primi algoritmi della storia:
il metodo per sommare due numeri incolonnandoli e procedendo
cifra per cifra da destra verso sinistra tenendo conto dei riporti.
ritorna
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino
Distanza max con RS-232
 La lunghezza massima è determinata
dalla capacita stessa del cavo, max 2500pF
e dalla velocità di trasmissione.
Capacita (Cm) tra i conduttori ~ 20 pF/metro
Cs=2*Cm (cavo schermato)
Cs=0,5*Cm (senza schermatura)
La capacità per unità
di lunghezza Cc=Cm+Cs
Nel caso senza schermatura:
Cc=20+10 = 30 pF/metro
Nel caso con schermatura:
Cc=20+40 = 60 pF/metro
ritorna
Antonietta Frani - Ubaldo Denni - LNF 30 Novembre -- 4 Dicembre 2015 - II° Corso su Arduino