Skip to content

Commit 2e9278a

Browse files
committed
Refresh wiki content and add quiz link
1 parent aaa962d commit 2e9278a

11 files changed

Lines changed: 80 additions & 5 deletions

docs/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,7 @@ <h3>MakerLab του Σαββάτου</h3>
349349
</p>
350350
<div class="page-actions">
351351
<a class="page-action page-action-primary" href="https://forms.cloud.microsoft/e/ZqEapJYn8b" target="_blank" rel="noopener noreferrer">Συμπλήρωση φόρμας συμμετοχής</a>
352+
<a class="page-action page-action-secondary" href="https://labschool.gr/exams/public/8?key=b32e3fdbcc7114393ffe7165c6bb24ae&amp;signature=951285987d2030c33301066e165dbce262e8dae2fd65300c508536950a77cf80" target="_blank" rel="noopener noreferrer">Quiz εισαγωγικής γνώσης</a>
352353
</div>
353354
</div>
354355
</div>

docs/wiki-content/04-sensors-displays-and-buttons.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,14 @@
1313
Αισθητήρας είναι ένα εξάρτημα που μετράει κάτι από το περιβάλλον ή από τη χρήση. Για παράδειγμα:
1414

1515
- ο `DHT11` μετρά θερμοκρασία και υγρασία
16+
- ο `BME280` μετρά θερμοκρασία, υγρασία και ατμοσφαιρική πίεση
1617
- ο `DS18B20` μετρά θερμοκρασία
1718
- το ultrasonic sensor μετρά απόσταση
1819
- οι line sensors βοηθούν ένα ρομπότ να “βλέπει” μια γραμμή
1920
- το touch input του ESP32 ανιχνεύει άγγιγμα
2021

22+
Στο ESP Mini Weather Station ο `BME280` δίνει τις περιβαλλοντικές μετρήσεις που ανεβαίνουν στο ThingSpeak. Στον Pacman Piggy Bank, ο ultrasonic αισθητήρας δεν δείχνει απλώς έναν αριθμό: γίνεται η “αφορμή” για να ανοίξει το στόμα του Pacman.
23+
2124
## Τι είναι οθόνη;
2225

2326
Η οθόνη είναι ο τρόπος με τον οποίο το project “μιλάει” σε εμάς. Μπορεί να μας δείχνει:
@@ -31,6 +34,8 @@
3134

3235
Για αυτό βλέπουμε OLED και TFT οθόνες σε πολλά από τα projects.
3336

37+
Υπάρχουν όμως και projects όπου η οθόνη δεν είναι πάνω στην ίδια την κατασκευή. Στο ESP Mini Weather Station, η “οθόνη” είναι ουσιαστικά το online dashboard του ThingSpeak, όπου οι μετρήσεις εμφανίζονται σε γραφήματα.
38+
3439
## Τι είναι κουμπί;
3540

3641
Το κουμπί είναι η πιο απλή μορφή εισόδου από τον χρήστη. Με αυτό μπορούμε να:
@@ -61,3 +66,10 @@
6166
4. Ο χρήστης δίνει νέα είσοδο με κουμπί, joystick ή touch.
6267

6368
Αυτή η αλληλουχία εμφανίζεται σχεδόν παντού, είτε μιλάμε για dashboard, είτε για robot, είτε για game, είτε για μουσικό project.
69+
70+
Μερικά παραδείγματα από τις κατασκευές:
71+
72+
- στο OLED dashboard, ο αισθητήρας μετρά και η OLED δείχνει
73+
- στο Pacman Piggy Bank, ο ultrasonic αισθητήρας μετρά και το servo αντιδρά
74+
- στο Weather Station, ο BME280 μετρά και το ThingSpeak κρατά ιστορικό
75+
- στο Slide Show Stream, η SD card δίνει τα δεδομένα και η TFT τα εμφανίζει ως εικόνες

docs/wiki-content/05-i2c-spi-and-serial.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
- `SDA`
1414
- `SCL`
1515

16-
Το συναντάμε συχνά σε OLED οθόνες, όπως στο dashboard και στο oil tracker.
16+
Το συναντάμε συχνά σε OLED οθόνες, όπως στο dashboard και στο oil tracker, αλλά και σε αισθητήρες όπως ο `BME280` του ESP Mini Weather Station.
1717

1818
## Τι είναι το SPI;
1919

@@ -24,19 +24,24 @@
2424
- Flappy Bird
2525
- Dino game
2626
- LoRa transmitter / receiver
27+
- Slide Show Stream με TFT οθόνη και SD card
28+
29+
Στο Slide Show Stream, το ενδιαφέρον δεν είναι μόνο ότι υπάρχει μια TFT οθόνη. Το project διαβάζει BMP εικόνες από SD card και τις στέλνει στην οθόνη χωρίς να φορτώνει ολόκληρη την εικόνα στη RAM.
2730

2831
## Τι είναι το Serial;
2932

3033
Το `Serial` χρησιμοποιείται πολύ συχνά για επικοινωνία με τον υπολογιστή ή με άλλα modules. Είναι ο λόγος που μπορούμε να βλέπουμε μηνύματα στο `Serial Monitor`, να διαβάζουμε τιμές ή να κάνουμε debugging.
3134

3235
Είναι ένα από τα πιο χρήσιμα εργαλεία για αρχάριους, γιατί μας δείχνει τι “σκέφτεται” το project εκείνη τη στιγμή.
3336

37+
Για παράδειγμα, στον Pacman Piggy Bank μπορούμε να δούμε στο Serial Monitor τις μετρήσεις απόστασης. Στο Weather Station μπορούμε να τυπώσουμε αν συνδέθηκε το Wi-Fi ή αν η αποστολή στο ThingSpeak πέτυχε.
38+
3439
## Πρέπει να τα μάθω όλα τεχνικά;
3540

3641
Όχι από την αρχή. Για αρχή αρκεί να κρατήσεις τα εξής:
3742

3843
- `I2C`: απλό και συχνό για αισθητήρες και μικρές οθόνες
39-
- `SPI`: πιο γρήγορο, συχνό σε οθόνες και ασύρματα modules
44+
- `SPI`: πιο γρήγορο, συχνό σε οθόνες, SD cards και ασύρματα modules
4045
- `Serial`: χρήσιμο για επικοινωνία και έλεγχο μέσω υπολογιστή
4146

4247
## Γιατί έχει σημασία αυτό για έναν αρχάριο;

docs/wiki-content/06-servo-motors-and-robot-logic.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@
99
- κλίση πλατφόρμας
1010
- στροφή αισθητήρα
1111
- κίνηση κεφαλιού
12+
- άνοιγμα και κλείσιμο ενός μηχανισμού
1213

13-
Για αυτό βλέπουμε servo στο Gravity Maze, στο robot car και στο R2inoD2ino.
14+
Για αυτό βλέπουμε servo στο Gravity Maze, στο robot car, στο R2inoD2ino και στον Pacman Piggy Bank.
15+
16+
Στον Pacman Piggy Bank, το servo δεν κάνει την κατασκευή να “τρέχει”. Κάνει κάτι πιο μικρό αλλά πολύ εκφραστικό: ανοίγει το στόμα του Pacman όταν ο αισθητήρας υπερήχων καταλάβει ότι κάποιος πλησιάζει.
1417

1518
## Τι διαφορά έχει από ένα απλό DC motor;
1619

@@ -37,6 +40,13 @@
3740

3841
Αυτό βοηθά πολύ, γιατί το project γίνεται πιο καθαρό, πιο αξιόπιστο και πιο εύκολο στη βελτίωση.
3942

43+
Η ίδια ιδέα ισχύει και σε μικρότερες κατασκευές. Ο Pacman μπορεί να θεωρηθεί ότι έχει απλές καταστάσεις όπως:
44+
45+
- `IDLE`, όταν περιμένει
46+
- `OPEN`, όταν ανοίγει το στόμα
47+
- `WAIT`, όταν κρατά το στόμα ανοιχτό
48+
- `CLOSE`, όταν επιστρέφει στην αρχική θέση
49+
4050
## Τι σημαίνει fail-safe;
4151

4252
Σημαίνει ότι το project έχει προβλέψει τι θα κάνει όταν κάτι πάει στραβά. Για παράδειγμα:

docs/wiki-content/07-wifi-api-and-lora.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
Στο oil tracker, για παράδειγμα, η πλακέτα συνδέεται στο internet και ζητά την τρέχουσα τιμή του πετρελαίου Brent.
1515

16+
Στο ESP Mini Weather Station, η κατεύθυνση είναι η αντίθετη: η πλακέτα δεν ζητά δεδομένα από το internet, αλλά στέλνει δικές της μετρήσεις στο ThingSpeak.
17+
1618
## Τι είναι API;
1719

1820
Ένα `API` είναι ένας οργανωμένος τρόπος με τον οποίο μια υπηρεσία μάς δίνει δεδομένα. Αντί να “διαβάζουμε” μια ολόκληρη ιστοσελίδα, ζητάμε απευθείας τις πληροφορίες που θέλουμε.
@@ -24,6 +26,8 @@
2426
- καταστάσεις
2527
- απαντήσεις σε μορφή `JSON`
2628

29+
Μερικές φορές το API δεν χρησιμοποιείται για να πάρουμε δεδομένα, αλλά για να στείλουμε. Στο ThingSpeak, για παράδειγμα, το ESP32 στέλνει τιμές θερμοκρασίας, υγρασίας και πίεσης σε συγκεκριμένα fields.
30+
2731
## Τι είναι JSON;
2832

2933
Το `JSON` είναι ένας τρόπος οργάνωσης δεδομένων. Μοιάζει με ένα τακτοποιημένο πακέτο πληροφοριών που ο κώδικας μπορεί να διαβάσει και να χρησιμοποιήσει.
@@ -50,11 +54,29 @@
5054

5155
Το `RSSI` είναι μια ένδειξη ισχύος του σήματος. Δεν είναι τέλειο μέτρο, αλλά μας βοηθά να έχουμε μια εικόνα για το πόσο καλά λαμβάνεται ένα σήμα.
5256

57+
## Τι είναι το cloud dashboard;
58+
59+
Cloud dashboard είναι μια online σελίδα όπου βλέπουμε δεδομένα που στέλνει η συσκευή μας. Στο Weather Station, το ThingSpeak κρατά τις μετρήσεις και τις εμφανίζει σε γραφήματα. Έτσι το project δεν είναι μόνο “ένα κύκλωμα που δουλεύει στο τραπέζι”, αλλά μια μικρή συσκευή που αφήνει ψηφιακό ίχνος στον χρόνο.
60+
61+
## Γιατί χρησιμοποιούμε Deep Sleep;
62+
63+
Το `Deep Sleep` είναι τρόπος χαμηλής κατανάλωσης στο ESP32. Αν μια συσκευή χρειάζεται να μετρά κάθε λίγα δευτερόλεπτα ή λεπτά, δεν είναι απαραίτητο να μένει συνέχεια ξύπνια.
64+
65+
Στο Weather Station η λογική είναι:
66+
67+
1. ξυπνάει
68+
2. μετράει
69+
3. στέλνει δεδομένα
70+
4. κοιμάται ξανά
71+
72+
Αυτό είναι πολύ χρήσιμο όταν κάποια στιγμή θέλουμε να περάσουμε από το USB σε μπαταρία.
73+
5374
## Τι να κρατήσει ένας αρχάριος;
5475

5576
Δεν χρειάζεται να καταλάβει όλη τη θεωρία των δικτύων. Για αρχή αρκεί να ξεχωρίσει:
5677

5778
- άλλο πράγμα είναι να ζητάω δεδομένα από το internet
5879
- άλλο πράγμα είναι να στέλνω δεδομένα ασύρματα από μια συσκευή σε μια άλλη
80+
- άλλο πράγμα είναι να στέλνω δικές μου μετρήσεις σε ένα cloud dashboard
5981

6082
Αυτή η διάκριση αρκεί για να αρχίσει να βγάζει νόημα ο κόσμος των connected projects.

docs/wiki-content/09-delay-vs-millis.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,16 @@
4040

4141
## Πού το συναντάμε στα projects;
4242

43-
Το βλέπουμε ως σημαντική ιδέα στο OLED dashboard, στο robot car και ως μελλοντική κατεύθυνση στο R2inoD2ino.
43+
Το βλέπουμε ως σημαντική ιδέα στο OLED dashboard, στο robot car και στον Pacman Piggy Bank, όπου το στόμα χρειάζεται να μείνει ανοιχτό για λίγο χωρίς να χαθεί εντελώς ο έλεγχος της λογικής.
44+
45+
Στο ESP Mini Weather Station εμφανίζεται και μια συγγενική ιδέα: το project δεν χρειάζεται απλώς να περιμένει. Μπορεί να μπει σε `Deep Sleep`, δηλαδή σε κατάσταση πολύ χαμηλής κατανάλωσης, και να ξυπνήσει ξανά για την επόμενη μέτρηση.
4446

4547
## Τι να θυμάται ένας αρχάριος;
4648

4749
Δεν χρειάζεται να αποφεύγει παντού το `delay()`. Αλλά είναι πολύ χρήσιμο να αρχίσει νωρίς να καταλαβαίνει ότι:
4850

4951
- για απλά πειράματα, το `delay()` είναι εντάξει
5052
- για πιο ζωντανά και έξυπνα projects, το `millis()` είναι πολύ καλύτερη λύση
53+
- για projects χαμηλής κατανάλωσης με ESP32, το `Deep Sleep` είναι ακόμη ένα εργαλείο που αξίζει να γνωρίσουμε
5154

5255
Αυτή η μετάβαση είναι ένα μεγάλο βήμα ωρίμανσης στον embedded προγραμματισμό.

docs/wiki-content/10-why-is-my-project-not-working.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
- Μήπως μπήκε ένα καλώδιο μία θέση δίπλα;
2424
- Μήπως αντέστρεψα `SDA` και `SCL`;
2525
- Μήπως ένα module είναι χαλαρά συνδεδεμένο;
26+
- Μήπως ο αισθητήρας θέλει 3.3V και του έδωσα 5V;
2627

2728
Η καλωδίωση είναι συχνά πιο σημαντική από όσο νομίζουμε.
2829

@@ -34,6 +35,7 @@
3435
- σωστή `port`
3536
- σωστές βιβλιοθήκες
3637
- σωστό αρχείο sketch
38+
- σωστά credentials για Wi-Fi ή API, όταν το project συνδέεται στο internet
3739

3840
## Τέταρτος έλεγχος: λογική του κώδικα
3941

@@ -43,6 +45,7 @@
4345
- Το κουμπί δουλεύει με `INPUT_PULLUP`;
4446
- Το project περιμένει δεδομένα που δεν έρχονται;
4547
- Υπάρχει `delay()` που μπλοκάρει τη λειτουργία;
48+
- Περιμένω να δω δεδομένα στο cloud, αλλά το request αποτυγχάνει;
4649

4750
## Πέμπτος έλεγχος: κάνε το πρόβλημα μικρότερο
4851

@@ -52,6 +55,8 @@
5255
- δουλεύει ο αισθητήρας μόνος του;
5356
- δουλεύει το κουμπί μόνο του;
5457
- κινείται το servo μόνο του;
58+
- εμφανίζεται μια απλή μέτρηση στο Serial Monitor πριν τη στείλω στο ThingSpeak;
59+
- ανοίγει πρώτα το στόμα του Pacman με ένα απλό servo test;
5560

5661
Αυτός είναι ένας από τους πιο σωστούς τρόπους σκέψης στον προγραμματισμό και στα ηλεκτρονικά.
5762

@@ -67,5 +72,6 @@
6772
- pins
6873
- βιβλιοθήκες
6974
- λογική
75+
- σύνδεση δικτύου, όταν το project είναι IoT
7076

7177
Αυτός είναι ο πιο χρήσιμος “μηχανισμός debugging” για έναν αρχάριο.

docs/wiki-content/Home.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
Τα κείμενα του wiki βασίζονται στα πραγματικά projects του αποθετηρίου, ώστε η θεωρία να συνδέεται πάντα με κάτι χειροπιαστό και χρήσιμο.
88

9+
Στις πιο πρόσφατες κατασκευές βλέπουμε ακόμα περισσότερα παραδείγματα αυτής της σύνδεσης: προβολή εικόνων από SD card σε TFT οθόνη, έναν Pacman κουμπαρά που αντιδρά όταν πλησιάζει κάποιος, και έναν μικρό μετεωρολογικό σταθμό που στέλνει πραγματικές μετρήσεις στο ThingSpeak.
10+
911
## Από πού να ξεκινήσω;
1012

1113
Αν είστε εντελώς αρχάριοι, προτείνεται αυτή η σειρά:
@@ -104,6 +106,9 @@
104106
- παιχνίδια σε TFT οθόνες
105107
- λαβύρινθο με joystick και servo motors
106108
- touch piano με ESP32
109+
- slideshow σε TFT οθόνη με SD card
110+
- Pacman κουμπαρά με ultrasonic sensor και servo
111+
- ESP32-C3 weather station με BME280, Wi-Fi, ThingSpeak και Deep Sleep
107112

108113
Κάθε ένα από αυτά μπορεί να γίνει αφορμή για να κατανοήσετε μία ή περισσότερες βασικές έννοιες χωρίς να χρειάζεται να ξεκινήσετε από την ξηρή θεωρία.
109114

@@ -119,3 +124,9 @@
119124
- και συνεχίζω
120125

121126
Αυτός είναι και ο τρόπος με τον οποίο έχει στηθεί αυτό το wiki.
127+
128+
## Συνεχίστε με περισσότερα άρθρα
129+
130+
Αν θέλετε να προχωρήσετε πέρα από τις σελίδες αυτού του wiki, ο Σύλλογος Τεχνολογίας Θράκης διαθέτει και επιπλέον άρθρα για Arduino, ESP32 και μικροελεγκτές:
131+
132+
[Arduino lessons και άρθρα για μικροελεγκτές στο steth.gr](https://steth.gr/arduino-lessons/)

docs/wiki-content/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,7 @@
2525
## Σημείωση
2626

2727
Τα κείμενα είναι γραμμένα ώστε να διαβάζονται εύκολα και αυτόνομα. Αν θέλεις, μπορείς αργότερα να τα εμπλουτίσεις με εικόνες, συνδέσμους προς project folders και μικρά παραδείγματα κώδικα.
28+
29+
Για επιπλέον εκπαιδευτικό υλικό γύρω από Arduino, ESP32 και μικροελεγκτές, μπορεί να χρησιμοποιηθεί και η σελίδα του Συλλόγου:
30+
31+
[Arduino lessons και άρθρα για μικροελεγκτές](https://steth.gr/arduino-lessons/)

docs/wiki-content/_Footer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22

3-
Επιστροφή στην [Αρχική σελίδα](Home) · Δες τα [Projects](https://technologyclubofthrace.github.io/code-and-circuits-experiments/) · Άνοιγμα του [Repository στο GitHub](https://github.com/TechnologyClubOfThrace/code-and-circuits-experiments)
3+
Επιστροφή στην [Αρχική σελίδα](Home) · Δες τα [Projects](https://technologyclubofthrace.github.io/code-and-circuits-experiments/) · [Άρθρα για μικροελεγκτές](https://steth.gr/arduino-lessons/) · Άνοιγμα του [Repository στο GitHub](https://github.com/TechnologyClubOfThrace/code-and-circuits-experiments)
44

55
_Code and Circuits Experiments_
66
Σύλλογος Τεχνολογίας Θράκης · MakerLab

0 commit comments

Comments
 (0)