Την Τρίτη 5 Δεκεμβρίου 2017 οι μαθητές/τριες της Γ΄ Γυμνασίου των «Εκπαιδευτηρίων Πάνου» κατασκεύασαν προγραμματιζόμενα κυκλώματα με μικροελεγκτές της εταιρίας Arduino, συνδέοντας το μάθημα της Φυσικής με αυτό της Πληροφορικής.
Διαβάστε περισσότερα...
http://ekppanou.gr/gymnasio/nea-anakoinoseis/2240-ergastirio-stem-aftomatismoi-kyklomaton-kai-mikroelegktes-arduino
2. Σκοπός του μαθήματος
• Εισαγωγή στη χρήση της πλακέτας
ρομποτικής Arduino
• Πως συνδυάζονται φυσική και
πληροφορική;
• Χρήση πλακέτας για τη κατασκευή
προγραμματιζόμενου κυκλώματος
Συνδιδασκαλία Φυσικής - Πληροφορικής 2
3. Ποιοι είναι οι στόχοι μας;
• Να είστε σε θέση να υλοποιήσετε ένα
κύκλωμα με λυχνία και αντιστάσεις
• Να το προγραμματίσετε με τη χρήση
ενός διακόπτη και του περιβάλλοντος
προγραμματισμού της πλακέτας
Arduino.
Συνδιδασκαλία Φυσικής - Πληροφορικής 3
5. Τι είναι το Arduino;
• Μικροελεγκτής που περιλαμβάνει ένα chip
Atmega
• Εισόδους και εξόδους που αντιδρούν βάση
του προγραμματισμού που κάναμε
• Η γλώσσα προγραμματισμού - Wiring
(Linux, MAC και Windows με αδεια χρησης
GPL)
• Άδεια χρήσης πλακέτας Creative Commons
Συνδιδασκαλία Φυσικής - Πληροφορικής 5
6. Δυνατότητες Arduino
• Εφαρμογές ρομποτικής και αυτοματισμοί
– κίνηση servo, stepper και DC κινητήρων
– τη λήψη πληροφοριών από διάφορους
αισθητήρες (θερμοκρασίας, υγρασίας,
υπερύθρων κ.α)
– την αμφίδρομη σειριακή επικοινωνία μεταξύ
Arduino και PC (Java και python…)
– αναπαραγωγή και αντίληψη ήχων
• http://arduino.cc
Συνδιδασκαλία Φυσικής - Πληροφορικής 6
17. Αναλογική ανάγνωση Ποτενσιόμετρου
int potPin = A0;
int value;
void setup()
{
Serial.begin(9600);
}
void loop()
{
value =
analogRead(potPin);
Serial.println(value);
delay(10);
}
17Συνδιδασκαλία Φυσικής - Πληροφορικής
Signal
GND
VCC
18. PWM = Pulse Width Modulation
analogWrite(pin-name, value)
● υλοποιεί PWM αναθέτοντας το value
στο dutycycle της παλμοσειράς.
● το value παίρνει τιμές 0-255 (8bit).
18Συνδιδασκαλία Φυσικής - Πληροφορικής
19. Έλεγχος φωτεινότητας Led μέσω
Ποτενσιόμετρου με χρήση PWM
int ledPin = 13;
int potPin = A0;
int brightness; // 0-255(8bit)
int value; // 0-1023(10bit)
void setup(){
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop(){
value = analogRead(potPin);
brightness =
map(value,0,1023,0,255);
analogWrite(ledPin,
brightness);
Serial.println(value);
}
19Συνδιδασκαλία Φυσικής - Πληροφορικής