Bozza dell'articolo sul resoconto lettura #270

Closed
amreo wants to merge 23 commits from amreo:resoconto-lettura-libro-dalmine into main
Showing only changes of commit 25685047fa - Show all commits

View File

@ -108,12 +108,110 @@ La risposta corretta è la N1 (METTENDO DELLE LUCI LED CHE CAMBIA COLORE IN BASE
La risposta corretta è la A1 (I COMPUTER) perché c'è scritto così a pag. 6.
# Progettino arduino finale
Alla fine della caccia dei tesoro i bambini sono ritornati al punto iniziale, dove insieme a Omar, hanno montato i componenti elettronici su una [basetta sperimentale](https://it.wikipedia.org/wiki/Basetta_sperimentale) seguendo la foto della breadboard completa. Una volta messi tutti i componenti hanno collegato l'arduino sottostante(la breadboard era sua una shield di prototipazione come [questa](https://cdn-shop.adafruit.com/970x728/51-01.jpg)) alla breadboard all'alimentazione e provato il progettino.
Il funzionamento del progettino era banale: i LED lampeggiavamo in una combinazione diversa in base a se veniva premuto il primo pulsante, il secondo pulsante o comtemporaneamente.
# Schema elettrico
# Codice
(Il codice è chiaramente scritto tramite la programmazione orientata al risultata, vale a dire male e in mezzora)
```arduino
#define PULSANTE1 8
#define PULSANTE2 9
#define LED1 5
#define LED2 6
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(PULSANTE1, INPUT_PULLUP);
pinMode(PULSANTE2, INPUT_PULLUP);
}
void sequenza3() {
for (int i=0; i<4; i++) {
digitalWrite(LED1, HIGH);
delay(250);
digitalWrite(LED1, LOW);
delay(250);
}
for (int i=0; i<4; i++) {
digitalWrite(LED2, HIGH);
delay(250);
digitalWrite(LED2, LOW);
delay(250);
}
for (int i=0; i<4; i++) {
digitalWrite(LED1, HIGH);
delay(250);
digitalWrite(LED1, LOW);
delay(250);
digitalWrite(LED2, HIGH);
delay(250);
digitalWrite(LED2, LOW);
delay(250);
}
for (int i=0; i<2; i++) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
delay(800);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
delay(800);
}
}
// the loop function runs over and over again forever
void loop() {
if (digitalRead(PULSANTE1) == LOW) {
delay(50);
if (digitalRead(PULSANTE2) == LOW) {
while (digitalRead(PULSANTE1) == LOW || digitalRead(PULSANTE2) == LOW) {
delay(1);
}
sequenza3();
} else {
while (digitalRead(PULSANTE1) == LOW) {
delay(1);
}
for (int i=0; i<4; i++) {
digitalWrite(LED1, HIGH);
delay(500);
digitalWrite(LED1, LOW);
delay(500);
}
}
} else if (digitalRead(PULSANTE2) == LOW) {
delay(50);
if (digitalRead(PULSANTE1) == LOW) {
while (digitalRead(PULSANTE1) == LOW || digitalRead(PULSANTE2) == LOW) {
delay(1);
}
sequenza3();
} else {
while (digitalRead(PULSANTE2) == LOW) {
delay(1);
}
for (int i=0; i<8; i++) {
digitalWrite(LED2, HIGH);
delay(100);
digitalWrite(LED2, LOW);
delay(100);
}
}
}
}
```
# Commenti vari
> Ho apprezzato molto come il LUG Bg abbia reinterpretato l'attività ricreativa "sono giovani, + hanno bisogno di codice", inventando una caccia al tesoro con costruzione dell'arduino proprio come ha fatto Ada nel suo libro. L'evento di venerdì scorso è stato un esempio straordinario di come usare e declinare il progetto didattico formativo che FSFE ha messo a disposizione dei volontari, ma non solo! E' un esempio di cooperazione tra un LUG e la nostra associazione. È stato anche affascinante osservare i bambini cimentarsi con il Software libero, mentre apprendevano cosa significhi controllare la propria tecnologia!
**Marta, Vice coordinatrice Italia**
# Problemi successi durante l'evento