Commit 31eaa675 authored by Jacotsu's avatar Jacotsu

Minor fixes

parent 23f7ac8e
# Servo davvero?
![POuL logo](lib/img/logo-text-white.svg)
![POuL logo](slides/img/logo-text-white.svg)
Emilio Destratis `<emilio.destratis@mail.polimi.it>`
......@@ -13,71 +13,96 @@ Martedì 13 giugno 2017
Più un workshop che una lezione
---
# Menu del giorno
- Servomotori
----
# Menu del giorno
- Servomotori
- Bottoni
----
# Menu del giorno
- Servomotori
- Bottoni
- Fotoresistenze
----
# Menu del giorno
- Servomotori
- Bottoni
- Fotoresistenze
- Varie ed eventuali
---
# Servomotori
![Tipico servomotore](lib/img/servo.jpg)
![Tipico servomotore](slides/img/servo.jpg)
----
# Come usarlo con Arduino?
Un po' di sano analogico sarebbe bello, ma...
----
# PWM
**P** ulse - **W** idth - **M** odulation
![](lib/gif/pwm.gif)
![](slides/gif/pwm.gif)
Sulla nostra scheda i pin con funzione PWM sono indicati con una ~
----
# Batterie incluse
Faremo uso della libreria omonima
```C
#include <Servo.h>
```
----
# La classe Servo: metodi
----
# La classe Servo: metodi
- ```attach()``` specifica il pin al quale connettere il servo
----
# La classe Servo: metodi
- ```read()``` legge la posizione angolare del servo, passandone l'ultimo valore scritto
----
# La classe Servo: metodi
- ```write()``` indica al servo l'angolo al quale posizionarsi
----
# La classe Servo: metodi
- ```attached()``` controlla che un oggetto di tipo Servo sia collegato ad un pin
----
# Un'altra funzione utile, anche se non di Servo
- ```map(var_da_studiare, val_input_min, val_input_max, val_out_min, val_out_max)```
......@@ -85,35 +110,44 @@ Faremo uso della libreria omonima
Può risultare utile quando abbiamo un intervallo di valori da rimappare su un'angolatura da 0° a 180°, ad esempio.
----
# Come collegare il servo
![](lib/img/collegamento_servo.png)
![](slides/img/collegamento_servo.png)
----
# Testiamo il funzionamento dei servo
con l'esempio *Servo -> Sweep* già presente nell'IDE di Arduino
---
# Bottone
![](lib/img/bottone.png)
![](slides/img/bottone.png)
- A e C sono sempre connessi, B e D sono sempre connessi
----
# Bottone
![](lib/img/bottone.png)
![](slides/img/bottone.png)
- A e C sono sempre connessi, B e D sono sempre connessi
- Quando si schiaccia il bottone sono tutti connessi
----
# Resistenze pull-up e pull-down
![](/lib/img/pu_pd.png)
![](/slides/img/pu_pd.png)
----
# Resistenze pull-up e pull-down
- Servono a dare sempre un valore definito all'uscita collegata al bottone
- Se lo switch è aperto:
+ nella resistenza non passa corrente
......@@ -124,110 +158,149 @@ con l'esempio *Servo -> Sweep* già presente nell'IDE di Arduino
+ l'uscita sarà a 5V
----
# Come collegare il bottone
![](lib/img/collegamento_bottone.jpg)
![](slides/img/collegamento_bottone.jpg)
Il valore della resistenza non è importante
----
# Testiamo il funzionamento del bottone
con l'esempio *Digital -> Button* già presente nell'IDE di Arduino
---
# ...a proposito di resistenze
Per calcolare il valore della resistenza
- fare riferimento alla tabella:
![](lib/img/tabella_r.jpg)
![](slides/img/tabella_r.jpg)
- inserire i colori [qui](http://www.associazionemarconi.com/calcolo/codice_resistenze_elettriche_4.html)
"Melius abundare quam deficere"
---
# Fotoresistore
![](lib/img/fr.jpg)
![](slides/img/fr.jpg)
- Componente elettronico la cui resistenza è inversamente proporzionale alla quantità di luce che lo colpisce
----
# Fotoresistore
![](lib/img/fr.jpg)
![](slides/img/fr.jpg)
- Componente elettronico la cui resistenza è inversamente proporzionale alla quantità di luce che lo colpisce
+ Più c'è luce, meno vale la sua resistenza
----
# Fotoresistore
![](lib/img/fr.jpg)
![](slides/img/fr.jpg)
- Componente elettronico la cui resistenza è inversamente proporzionale alla quantità di luce che lo colpisce
+ Più c'è luce, meno vale la sua resistenza
+ In condizioni di buio totale, può comportarsi come un circuito aperto
----
# Fotoresistore
**Attenzione!**
**Attenzione!**
----
# Fotoresistore
Abbiamo detto che la resistenza diminuisce, per cui la tensione rilevata aumenta!
----
# Fotoresistore
Arduino (per mezzo del suo ADC) si occuperà di convertire il valore analogico della tensione ricevuto dal sensore in un valore digitale su 10 bit, quindi da 0 a 1023.
----
# Fotoresistore
Quindi più luce riceverà, più il valore della tensione sarà alta!
----
# Fotoresistore
Teoricamente avremo:
- 1023 -> intensità luminosa massima
- 0 -> buio pesto
----
# Come collegare il fotoresistore
![](lib/img/collegamento_fr.png)
![](slides/img/collegamento_fr.png)
Abbiamo bisogno di una resistenza per realizzare un partitore di
tensione e leggere i valori di tensione dal fotoresistore
----
# Come collegare il fotoresistore
Solitamente si usa una resistenza pari al valore della massima del fotoresistore, tuttavia, non necessariamente
----
# Come collegare il fotoresistore
In base alla resistenza che andremo ad utilizzare, dovremo tarare
il valore massimo e minimo ricevuti dalla lettura *analogica* del
fotoresistore.
----
# Testiamo il funzionamento del fotoresistore
con l'esempio "Basics -> AnalogReadSerial" già presente nell'IDE di Arduino
---
# Mettiamo insieme i pezzi!
Costruiamo ciò che è alla base di:
----
# Mettiamo insieme i pezzi!
Costruiamo ciò che è alla base di:
- Uno scacciavampiri
----
# Mettiamo insieme i pezzi!
Costruiamo ciò che è alla base di:
- Uno scacciavampiri
- Un diffusore di deodorante per ambienti con rilevamento di presenza
----
# Mettiamo insieme i pezzi!
Costruiamo ciò che è alla base di:
......@@ -235,7 +308,9 @@ Costruiamo ciò che è alla base di:
- Uno scacciavampiri
- Un diffusore di deodorante per ambienti con rilevamento di luce
- Una mano robotica
----
# Mettiamo insieme i pezzi!
Costruiamo ciò che è alla base di:
......@@ -244,63 +319,79 @@ Costruiamo ciò che è alla base di:
- Un diffusore di deodorante per ambienti con rilevamento di luce
- Una mano robotica
- Un *servo*, con i servo, che ci accende e spegne la luce in base alla luce presente nella nostra stanza
----
# Mettiamo insieme i pezzi!
Alla base di tutto ciò c'è sempre, comunque, un semplice interruttore
crepuscolare...realizziamolo!
---
# Vi è piaciuto questo workshop?
Ditemelo con un like o dislike...ora!
----
# Vi è piaciuto questo workshop?
Ditemelo con un like o dislike...ora!
Sostituiamo il fotoresistore con un bottone
---
# Chi ha voglia d'estate?
Realizziamo il fiore dell'estate...artificiale!
----
# Chi ha voglia d'estate?
Realizziamo il fiore dell'estate...artificiale!
Il principio è quello di un inseguitore di luce, realizzato con fotoresistori e servomotori.
----
# Cos'altro possiamo fare?
![](lib/gif/hand.gif)
![](slides/gif/hand.gif)
----
# Cos'altro possiamo fare?
![](lib/gif/cat.gif)
![](slides/gif/cat.gif)
----
# Cos'altro possiamo fare?
![](lib/gif/capcha.gif)
![](slides/gif/capcha.gif)
----
# Cos'altro possiamo fare?
![](lib/gif/girl.gif)
![](slides/gif/girl.gif)
----
# Cos'altro possiamo fare?
![](lib/gif/rubik.gif)
![](slides/gif/rubik.gif)
----
# Cos'altro possiamo fare?
![](lib/gif/the.gif)
![](slides/gif/the.gif)
----
# Cos'altro possiamo fare?
![](lib/gif/beer.gif)
![](slides/gif/beer.gif)
---
# Siate creativi!
"La creatività non è altro che un'intelligenza che si diverte"
Albert Einstein
----
# Fonti di riferimento
......@@ -308,10 +399,10 @@ Albert Einstein
- [Wikipedia.org](https://www.wikipedia.org)
- [Arduino.cc](https://www.arduino.cc)
- [mauroalfieri.it](https://www.mauroalfieri.it)
----
# Grazie mille per l'attenzione, alla prossima!
![](lib/gif/end.gif)
![POuL logo](lib/img/logo-text-white.svg)
----
## Thank you!
![](slides/gif/end.gif)
![POuL logo](slides/img/logo-text-white.svg)
![Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](lib/img/creativecommons-by-nc-sa.svg)
![Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](slides/img/creativecommons-by-nc-sa.svg)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment