3η Φάση, Υποθέσεις

Απαντώντας στις ερωτήσεις οι μαθητές κάνουν υποθέσεις για το ποιες πιστεύουν ότι είναι οι μέγιστες και ελάχιστες τιμές στις μεταβλητές που εμφανίζονται και στο serial monitor πριν το προγραμματισμό και τις ενδείξεις της οθόνης LCD.

Κύκλωμα και κώδικας

Παρατηρήστε αυτό το κύκλωμα και τον κώδικα που ακολουθεί. Στη συνέχεια θα διατυπωθούν υποθέσεις. 

 

Διαβάστε προσεκτικά το παρακάτω πρόγραμμα και τα σχόλια για την κάθε εντολή.

 

int sensorPin = 0;                       // Δήλωση μεταβλητής sensorPin

int reading = 0;                           // Δήλωση μεταβλητής reading

int volt = 0;                                 // Δήλωση μεταβλητής volt

int temp = 0;                               // Δήλωση μεταβλητής temp

#include <LiquidCrystal.h>         // Εισαγωγή βιβλιοθήκης LiquidCrystal.h

LiquidCrystal lcd(2, 3, 4, 5, 6, 7); // Δήλωση pin σύνδεσης του LCD

void setup()                     // Αρχή ρυθμίσεων

{

  Serial.begin(9600);      // Έναρξη σειριακής επικοινωνίας data rate 9600bps

  lcd.begin(16,2);           // Έναρξη αποστολής δεδομένων στο LCD (στήλες, γραμμές)

}

void loop()                     // Αρχή προγράμματος

{

 reading = analogRead(0);             // Διάβασε από Α0 και αποθήκευσε στη reading

 volt=map(reading,0,1024,0,500);  //Αντιστοίχισε στη volt(0-500) τις τιμές της reading(0-1024).

 Serial.print((float)volt/100);        // Εμφάνισε στη σειριακή επικοινωνία το αποτέλεσμα volt/100

 Serial.print(" Volts ");                  // Εμφάνισε στη σειριακή επικοινωνία “ Volt ”

 temp=map(volt,10,175,-40,125);  // Αντιστοίχισε στη temp(-40-125) τις τιμές της volt(10-175).

 Serial.print(temp);                      // Εμφάνισε στη σειριακή επικοινωνία το περιεχόμενο της temp.

 Serial.println(" Celcius");            // Εμφάνισε στη σειριακή επικοινωνία " Celcius" και άλλαξε σειρά

 lcd.setCursor(0,0);                    // Ο δρομέας οθόνης στην θέση (0,0) στο LCD

 lcd.print("Temperature:");          // Εμφάνισε στην οθόνη “ Temperature: ”

 lcd.print(temp);                         // Εμφάνισε στην οθόνη το περιεχόμενο της temp.

 lcd.print("Celsius");                   // Εμφάνισε στην οθόνη “ Celcius”

 delay(1000);                            // Περίμενε 1000msec

}                                                // Τέλος προγράμματος

 

Υπόθεση 1

Υπόθεση 1η

Λειτουργία μεταβλητών στον κώδικα και το εύρος των τιμών που μπορούν να πάρουν. 

Υπόθεση 2

Υπόθεση 2η

Λειτουργία της οθόνης LCD.