Commit 71528c88 authored by Luca Contessa's avatar Luca Contessa

Slides per il workshop su come accendere un led

parents
# Corsi Arduino 2017
## Primi passi con arduino
![POuL logo](lib/img/logo-text-white.svg)
Contessa Luca
`{ ifdevurandom@gmail.com }`
---
# Ui
### Che in maori significa Domandate
#### Almeno secondo google translate
non abbiate paura di fare domande perchè:
1. Nessuno vi sta né valutando né giudicando (siamo stati tutti principianti)
2. Tengo anche il corso l'ultimo giorno per cui se spiego male vi conviene dirmelo, altrimenti rischiate di non capire niente!
---
### Canali utili
- [Il canale youtube del POuL!](https://www.youtube.com/user/POuLpolimi)
- [GreatScott!](https://www.youtube.com/user/greatscottlab)
Una volta create le basi vi consiglio caldamente di dare un'occhiata anche a loro:
- [Andreas Spiess](https://www.youtube.com/channel/UCu7_D0o48KbfhpEohoP7YSQ)
- [AdaFruit industries](https://www.youtube.com/user/adafruit)
- [SparkFun Electronics](https://www.youtube.com/user/sparkfun)
---
### cosa faremo oggi: Accendere e far lampeggiare un led
Oggi realizzeremo il classico programmino per iniziare con arduino
Insomma l'hello world di arduino!
----
## di che strumenti necessitiamo
- Un Arduino (duh)
- Una breadboard
- Un Led (doppio duh)
- Una resistenza
- Cavi da 0.5 mm
- Cavo per collegare arduino al PC
- Il PC (Possibilmente con una distro linux)
- (Opzionale) Fritzing o un software di disegno elettronico
---
## Andiamo ad analizzare i vari componenti
----
## Breadboard
- è una scheda che permette collegamenti elettrici
- Nella parte centrale i fori sono collegati tra loro seguendo il lato corto mentre due linee del positivo e negativo sono collegate seguendo il lato lungo
![Breadboard](lib/img/breadboard)
----
## Led
- Il led è un elemento elettronico che permette di creare luce
- Ha tantissimi altri utilizzi ed è molto molto utile
![Led](lib/img/led)
----
## Resistenza
- Ha molteplici utilizzi tra cui quello fondamentale di limitatore di corrente
- Sono integrate nei pin di uscita di arduino
----
## Cavi
- Comunissimi cavi elettronici per effettuare dei collegamenti
----
## Fritzing (Opzionale)
- Software di disegno per circuiti elettronici
- Estremamente utile se volete realizzare PCB
- Se il circuito è complesso ricordatevi che uno schema vi salva sempre (oltre alla filosofia KISS)
---
## Schema elettrico (Realizzato con il sopra citato fritzing)
// sono pigro lo faccio dopo //
---
## Ricordatevi ovviamente di scaricare l'IDE di Arduino (che useremo per programmare la scheda)
```Bash
sudo apt-get install arduino //Per Ubuntu/Debian
```
- Per gli altri user linux cambiate sintassi per adattarvi al vostro gestore di pacchetti
- [Per tutti gli altri utilizzate il sito ufficiale di arduino](https://www.arduino.cc)
---
# Ora Partiamo dal codice!
### E ricordate di stare attenti/e alle maiuscole quando chiamate le varie funzioni!
#### Ad esempio pinMode e non pinmode
----
## Prima di tutto
Dobbiamo associare un pin dell'arduino al led che gli è fisicamente collegato, ad esempio:
```C
int led = 8;
```
(Se utilizzate il PIN 13 accendete un led che è gia presente sulla board, per cui non vi servono componenti aggiuntivi)
----
## Cosa dobbiamo mettere nel Setup
dobbiamo dire al sistema cosa c'è in uscita e cosa in ingresso attraverso il comando
` pinMode(pin, modalità di lavoro) `
```C
void setup() {
pinMode(led, OUTPUT);
}
```
----
## Ora passiamo al loop!
Dobbiamo essenzialmente dire alla scheda di accendere il led, utlizzando il comando
`digitalWrite(pin, stato)`
```C
void loop() {
digitalWrite(led, HIGH);
}
```
----
## Ora possiamo caricare lo script!
0. Collegare l'arduino (duh)
1. Aprite strumenti
2. Tipo di arduino --> selezionate l'arduino che state utilizzando
3. Porta seriale --> selezionate la porta su cui c'è l'arduino (solitamente ne trovate solo una)
4. Premete Carica (La freccia a fianco della spunta in alto a sinistra nell'IDE)
----
### Funziona? Ottimo! benvenuti nel magico mondo di Arduino!
#### Nel caso non funzionasse potete sempre
```assembly
GOTO start
```
---
## Ora proviamo a farlo lampeggiare!
----
## Introduciamo il delay!
- Il delay essenzialmente dice alla scheda di aspettare un tot di millisecondi, in base alle nostre esigenze
- la sintassi è `delay(numero di millisecondi); `
----
## A cosa ci serve questo delay?
- Essenzialmente ci serve per aspettare un tot di tempo prima di far cambiare stato al led, in maniera che risulti visibile anche all'essere umano
----
Per cui il nostro codice verrà magicamente trasformato in:
```C
void loop() {
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}
```
---
# spørsmål?
### Che significa "domande" in Norvegese
---
# Thank you!
![POuL logo](lib/img/logo-text-white.svg)
![Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](lib/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