skip to Main Content

Επικοινωνία ανάμεσα σε δύο μικροελεγκτές (MCU) μέσω φωτός με χρήση του κώδικα Μορς

Απαραίτητο υλικό
  • 2x Arduino Nano ή Uno (ή και κλώνοι τους)
  • 1x φωτοαντίσταση
  • 1x αντίσταση 10kΩ
  • 1x LED ή Laser (Προσοχή στα μάτια!)
  • Υπολογιστής με εγκατεστημένο το Arduino IDE
  • Κώδικες για αποστολέα και παραλήπτη (παρατίθενται αρχεία)

Προαιρετικά, με την χρήση ενός τρισδιάστατου (3D) εκτυπωτή, μπορείτε να τυπώσετε καλούπια, ώστε να προστεθεί αισθητική στην κατασκευή. Σας επισυνάπτουμε τα απαραίτητα αρχεία.

Προεπισκόπηση των σχεδίων προς εκτύπωση:

Σημείωση: Τα σχέδια αφορούν αυστηρά τα Arduino Nano.
Οι συνδεσμολογίες, καθώς επίσης οι κώδικες, παραμένουν σταθερά.

Συνδεσμολογία των Arduino με τα εξαρτήματα
Κώδικας για τον αποστολέα

Κώδικας για τον παραλήπτη

Επεξήγηση αλγορίθμων κωδικοποίησης της πληροφορίας σε δεδομένα

ΑΠΟΣΤΟΛΕΑΣ (Transmitter)

Ο χρήστης εισάγει γράμμα, λέξη ή φράση. Για εμάς, αυτό αποτελεί την πληροφορία. Στη συνέχεια, αυτά (οι πληροφορίες δηλαδή) αποδομούνται σε ξεχωριστούς χαρακτήρες. Ο κάθε χαρακτήρας αντιστοιχεί σε μοναδικό γράμμα της *λατινικής αλφαβήτου, που μεταφράζεται σε ένα γράμμα στον κώδικα Μορς.
(βλ. Πίνακας Μορς παρακάτω).

– Γράμμα: P
– Λέξη: Polyxoros
– Φράση: Polyxoros 17

Παράδειγμα: Η λέξη Πολυχώρος σε greeklish αποδίδεται ως: Polyxoros, που αποδομείται στους χαρακτήρες: P o l y x o r o s

Εικόνα του αποστολέα – πομπού (Transmitter) στη σειριακή οθόνη στο Arduino IDE:

1η φάση – Κωδικοποίηση

Ο κάθε χαρακτήρας αντιστοιχεί σε κάποιους παλμούς μικρής και μεγάλης διάρκειας ή σημάδια – τελείες (κοινώς: δεδομένα), δηλαδή για εμάς αντιστοιχεί σε ένα γράμμα στον κώδικα Μορς, και μπορεί να εκφραστεί ως εξής βάση του πίνακα:

P -> .–.
o ->
l -> .-..
y -> -.–
x -> -..-
o ->
r -> .-.
o ->
s ->
Πίνακας Μορς

Συνεπώς, καταλήγουμε στη παρακάτω κωδικοποίηση:
P o l y x o r o s < = > .- -. – – – .-..-.- –-..- – – – .-.– – – …

Παρατήρηση: Μπορεί κανείς να διακρίνει ότι τα ο (όμικρον), επαναλαμβάνονται τρεις φορές στην λέξη Polyxoros, και αντίστοιχα στον κώδικα Μορς – – – , κατόπιν κωδικοποίησης (μετατροπής σε δεδομένα).

 

2η φάση – Αποστολή

Έχοντας πια κωδικοποιημένο το μήνυμα μας, δηλαδή αφού μετατρέψουμε την πληροφορία σε δεδομένα, μπορούμε να ξεκινήσουμε την αποστολή του (μετάδοση). Εδώ, η διαδικασία χωρίζεται σε τρία μέρη.

Α’ Μέρος:

Το *Laser (ο πομπός) ξεκινά να εκπέμπει την κωδικοποίηση, ξεκινώντας με: -…-
Δηλαδή, παύλα κενό τελεία κενό τελεία κενό τελεία κενό παύλα
Έτσι, ο **λήπτης καταλαβαίνει ότι ξεκινάει η μετάδοση ενός χαρακτήρα του μηνύματος.

Β’ Μέρος:

Στη συνέχεια, ξεκινά η αποστολή της λέξης μας.
Στη περίπτωσή μας, την λέξη: Polyxoros ή ισοδύναμα στον κώδικα Μορς:
P o l y x o r o s < = > .- -. – – – .-.. -.- – -..- – – – .-. – – – …

Επεξήγηση:
– Η διάρκεια κάθε παύλας “-” ισοδυναμεί με 500 milliseconds (ms) ή μισό δευτερόλεπτο.
– Η διάρκεια κάθε τελείας “.” ισοδυναμεί με 166 milliseconds (ms) ή ⅙ δευτερολέπτου.
– Η διάρκεια κάθε κενού ανάμεσα στα σύμβολα, δηλαδή παύλα ή τελεία, ισοδυναμεί με το αντίστοιχο αυτού που προηγούνταν. Δηλαδή, αν προηγήθηκε παύλα “-”, η διάρκεια του κενού θα είναι μισό δευτερόλεπτο, ενώ στην περίπτωση της τελείας “.” θα είναι ⅙ δευτερολέπτου.
– Η διάρκεια κάθε διαστήματος ανάμεσα στις λέξεις ισοδυναμεί με παρατεταμένο κενό 1150 milliseconds ή 7/6 δευτερολέπτου.

Γ’ Μέρος:

Μόλις ολοκληρωθεί το Β’ Μέρος, το *Laser εκπέμπει την κωδικοποίηση …-.-, που δηλώνει το τέλος της επικοινωνίας.
Έτσι, ο **λήπτης καταλαβαίνει ότι τελειώνει η μετάδοση του μηνύματος.

 

3η φάση – Ολοκλήρωση / Λήψη

Η διαδικασία του Β’ Μέρους ολοκληρώνεται με την ολόκληρη αποτύπωση του ληφθέντος μηνύματος από τον δέκτη.

Στο παράδειγμα μας, η επιτυχημένη λήψη θα δείξει την λέξη P o l y x o r o s.

Εικόνα του λήπτη – δέκτη (Receiver) στη σειριακή οθόνη στο Arduino IDE:

* βλ. κώδικα Sender
** βλ. κώδικα Receiver

Έχοντας ακολουθήσει την παραπάνω διαδικασία ορθά, τα αποτελέσματα θα είναι ίδια με εκείνα των εικόνων.

Πολύ εύκολα, μπορούν να γίνουν παραλλαγές στο πρότζεκτ και αναφέρω κάποιες, όπως:

  • αμφίδρομη επικοινωνία (transceiver) με προσθήκη μιας επιπλέον φωτο-αντίστασης και ενός 2ου λέιζερ.
  • πρόσβαση στο διαδίκτυο σε απομακρυσμένες περιοχές,
  • χρήση σε οπτικές ίνες,
  • αποφυγή RF Jammers,
  • Escape Rooms,
  • η φωτο-αντίσταση και το λέιζερ μπορούν να αντικατασταθούν από ηχείο και μικρόφωνο, που λειτουργούν με υπόηχους, ακουστικούς ήχους και υπερήχους.
  • χρήση σε IoT (Internet of Things)
  • Li-Fi
  • LiDAR

Αναμένουμε τα σχόλια – παρατηρήσεις – προτάσεις σας!

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται.

Back To Top