9
Arduino n° 2 (astronave) accensione di 3 LED a comando secondo precise temporizzazioni 1/9 29/08/2022

Arduino n° 2 (astronave)

Embed Size (px)

DESCRIPTION

Lezione n° 2 Arduino starter kit

Citation preview

Page 1: Arduino n° 2 (astronave)

13/04/2023

Arduino n° 2 (astronave)accensione di 3 LED

a comando secondo precise temporizzazioni

1/9

Page 2: Arduino n° 2 (astronave)

13/04/2023

Schema a blocchi

Input :Pulsante ARDUINO Output i tre LED

Input: il pulsante ha due stati 0/1 non premuto / premuto. Definisco lo stato del pulsante e chiamo la variabile switchstate

Output: i led hanno due stati acceso /spento, 1/0

Specifiche di progetto:Pulsante premuto (1): si accendono i led rossiPulsante rilasciato (0): si accende il led verde.

2/9

Page 3: Arduino n° 2 (astronave)

13/04/2023

Schema elettrico

3/9

Page 4: Arduino n° 2 (astronave)

13/04/2023

Collegamenti HW

• PIN digitali 3,4,5 all’anodo (piedino lungo)dei Led ( rossi 4 e 5 verde 3)

• Catodo (piedino corto)dei Led a massa attraverso la resistenza da 220W

• Interruttore (pulsante): un lato all’alimentazione e l’altro al piedino 2 di ARD; ed anche una resistenza da 10 KW tra massa e il piedino dell’interruttore collegato al pin2.

4/9

Page 5: Arduino n° 2 (astronave)

13/04/2023

Schema di montaggio

5/9

Page 6: Arduino n° 2 (astronave)

13/04/2023

Specifiche dei LED

• La caduta di tensione ai capi del LED varia in funzione del colore:

colore rosso: 1,8 V colore giallo: 1,9 V colore verde: 2,0 V colore arancio: 2,0 V colore blu: 3,0 V colore bianco: 3,0 V

6/9

Page 7: Arduino n° 2 (astronave)

13/04/2023

Calcolo della resistenza• Equazione della maglia • E = RI + VD dove • E tensione di alimentazione (5V)• R valore della resistenza; • I corrente (circa 10 mA); V caduta di

tensione ai capi del diodo LED.

• R = (E – V) / I

• = (5 – 1,8) / 10 mA = • (3,2 /15 ) Kohm = 0,213 Kohm

• Prendo il valore commerciale di 220 W

7/9

Page 8: Arduino n° 2 (astronave)

13/04/2023

SW programma• /* Arduino Starter Kit example Project 2 - Spaceship Interface */

• int switchstate = 0;

• void setup(){• pinMode(3,OUTPUT);• pinMode(4,OUTPUT);• pinMode(5,OUTPUT);

• pinMode(2,INPUT);• }

• void loop(){

• switchstate = digitalRead(2);

• if (switchstate == LOW) {• digitalWrite(3, HIGH); // turn the green LED on pin 3 on• digitalWrite(4, LOW); // turn the red LED on pin 4 off• digitalWrite(5, LOW); // turn the red LED on pin 5 off• }• else {• digitalWrite(3, LOW); // turn the green LED on pin 3 off• digitalWrite(4, LOW); // turn the red LED on pin 4 off• digitalWrite(5, HIGH); // turn the red LED on pin 5 on• delay(250);• digitalWrite(4, HIGH); // turn the red LED on pin 4 on• digitalWrite(5, LOW); // turn the red LED on pin 5 off• delay(250);• }• }

• // Create a global variable to hold the • // state of the switch. This variable is persistent • // throughout the program. Whenever you refer to • // switchState, you’re talking about the number it holds

• // declare the LED pins as outputs

• // declare the switch pin as an input

• • // read the value of the switch• // digitalRead() checks to see if there is voltage• // on the pin or not

• // if the button is not pressed• // blink the red LEDs • // this else is part of the above if() statement. • // if the switch is not LOW (the button is pressed)• // the code below will run • // wait for a quarter second before changing the light• delay(250);• // wait for a quarter second before changing the light• delay(250);

8/9

Page 9: Arduino n° 2 (astronave)

13/04/2023

Modifica programma

• 1) I led rossi si devono accendere con intermittenza di mezzo secondo

• 2) I led rossi si devono accendere in successione ma il primo deve restare 1 secondo acceso ed il secondo mezzo secondo.

• 3) Cambiare le specifiche di input in questo modo: – Pulsante premuto (1): si accende il led verde.– Pulsante rilasciato (0): si accendono i led rossi.

9/9