Arduino — The way of the Hacker — Part 4/k, όπου k^2 + λ^2 >= 2kλ
Οι εξωγήινες μορφές από το space invaders έχουν το γούστο τους, όπως και να το κάνουμε. Η χρήση ενός έγχρωμου matrix είναι επίσης ευπρόσδεκτη, ανοίγει και το δρόμο για πολλές μελλοντικές κατασκευές. Το περισσότερο ενδιαφέρον, όμως, συγκεντρώνεται στα interrupts. Μεταξύ άλλων, η χρήση τους επιτρέπει την επανάληψη διαφόρων εργασιών με μεγάλη ακρίβεια, όπως επίσης την επίτευξη του multitasking!
Στο προηγούμενο μέρος της σειράς μας, στο deltaHacker 005, κατασκευάσαμε δύο παιχνίδια γύρω από ένα μονοχρωματικό LED matrix 8×8. Αυτές οι μικρές οθόνες διαθέτουν 16 ακροδέκτες: οκτώ για τις γραμμές κι οκτώ για τις στήλες. Ωστόσο, για τη διασύνδεση του matrix στα δικά μας κυκλώματα καταφέραμε να χρησιμοποιήσουμε μόνο τρεις ακροδέκτες του Arduino. Αυτό το πετύχαμε με τη βοήθεια ενός μικρού και πολύ διαδεδομένου τσιπ. Ο λόγος γίνεται για το 74HC595, το οποίο αποτελεί έναν shift register. Κάπως έτσι, είχαμε την ευκαιρία να μιλήσουμε για τη γενικότερη λειτουργία των shift register, καθώς και για τα ιδιαίτερα χαρακτηριστικά του συγκεκριμένου τσιπ. Μετά από αυτή τη γνωριμία περάσαμε στο software κι εκεί τα πράγματα έγιναν πιο ενδιαφέροντα. Τα προγράμματα που μελετήσαμε ακολουθούσαν τη λογική με την οποία γράφονταν τα παλιά παιχνίδια: Η ρουτίνα σάρωσης της οθόνης αποτελούσε το κύριο μέρος του προγράμματος, ενώ οι υπόλοιπες λειτουργίες (σχεδίαση νέων frame, έλεγχος πλήκτρων κ.λπ.) είχαν στηθεί «περιφερειακά». Η μελέτη αυτών των προγραμμάτων μάς έφερε σε επαφή με την έννοια του frame buffer, αλλά και με αρκετά ευρηματικά κολπάκια για το συγχρονισμό των επιμέρους λειτουργιών. Κάπου εδώ, όμως, πρέπει να ομολογήσουμε κάτι: Τα προγράμματα που είδαμε ήταν γραμμένα με απλοϊκό τρόπο και είχαν *τεράστια* περιθώρια βελτίωσης. Αναρωτιέστε τι θα μπορούσε να έχει γίνει με διαφορετικό τρόπο;
Διαβάστε ολόκληρο το άρθρο στο deltaHacker Μαρτίου (τεύχος 006).
Για αγορές τευχών ή συνδρομών στο περιοδικό deltaHacker, απλά συμπληρώστε την ωραία φόρμα. [Πλέον δεχόμαστε καιPayPal]
Σημείωση: Οι συνδρομές μπορούν ν’ αρχίζουν από όποιο τεύχος επιθυμείτε, αρκεί να υπάρχει σε stock.
Arduino — the way of the hacker (part 3/k, k<3)
Μετά από σελίδες επί σελίδων θεωρίας και πολλές μικροκατασκευές, έφτασε η ώρα να φτιάξουμε κάτι μεγάλο. Κάτι περίπλοκο συγκριτικά με όσα έχουμε δει, αλλά κι αρκετά εντυπωσιακό. Παρεμπιπτόντως, αυτό το «κάτι» θα ‘ναι και διασκεδαστικό. Αλήθεια, το ότι θα είναι δύο αυτά τα «κάτι», το είπαμε; Μάλλον όχι. Εμείς πάντως περάσαμε αρκετές ώρες χαζεύοντας το ένα «κάτι» και πολύ περισσότερες παίζοντας με το άλλο. Εσείς τι θα κάνετε, πέρα από το να μας συγχωρήσετε γι’ αυτόν τον εξαιρετικά γενικό πρόλογο;
Στο deltaHacker 004 εξετάσαμε τον «παραδοσιακό» τρόπο σύνδεσης και ελέγχου ενός keypad. Στη συνέχεια προχωρήσαμε σε εξεζητημένες τεχνικές, που επιτρέπουν τη διασύνδεση πολλών διακοπτών (ακόμα και ολόκληρων keypad) επάνω σε *έναν μόνο* ακροδέκτη του Arduino. Όλα αυτά μοιάζουν (και είναι) βαρετά θέματα, μέχρι τη στιγμή που γίνονται ενδιαφέροντα. Πέρα από την πλάκα, οι σχετικές τεχνικές αποδεικνύονται εξαιρετικά πολύτιμες όταν σκοπεύουμε να κατασκευάσουμε ένα μεγάλο project. Εμείς βέβαια δεν περιοριστήκαμε μόνο στους διακόπτες. Γνωρίσαμε και μια ενδιαφέρουσα εφαρμογή του multiplexing, σε συνδυασμό με το φαινόμενο POV (Persistence Of Vision). Έτσι, καταφέραμε να συνδέσουμε στο Arduino μια μικρή συστοιχία από LED (μια διάταξη LED matrix 5×7) και να προβάλουμε πάνω της ένα τμήμα του λογότυπου του περιοδικού.
Σε αυτό το άρθρο θα καταπιαστούμε με μεγαλύτερα LED matrix και θα γνωρίσουμε ένα πραγματικά χρήσιμο εργαλείο: ένα εύχρηστο τσιπάκι, με τη βοήθεια του οποίου μπορούμε να αυξήσουμε τις εξόδους Arduino. Μην πάει το μυαλό σας σε τίποτα εξεζητημένο. Πρόκειται για ένα μικρό, φτηνό και πολύ διαδεδομένο τσιπ, το οποίο μπορούμε να βρούμε σε όλα τα καταστήματα ηλεκτρονικών εξαρτημάτων. Μην νομίζετε όμως ότι σκοπεύουμε να περιοριστούμε στη θεωρία. Τα LED matrix είναι εξαιρετικά διαδεδομένα στους χομπίστες και χρησιμοποιούνται συχνά σε πολλά projects. Βλέπετε, αυτές οι μικρές διατάξεις LED προσδίδουν μια αίσθηση ρετρό σε κάθε project, λειτουργούν σαν πρώτης τάξεως οθόνες για μικρά παιχνιδάκια και ο προγραμματισμός τους παρουσιάζει αρκετό ενδιαφέρον. Σε αυτό το μέρος της σειράς, λοιπόν, θα κατασκευάσουμε ένα ραλάκι καθώς και το πασίγνωστο Game of Life . Οι μεγαλύτεροι θα θυμηθούν τα νιάτα τους και θα γνωρίσουν πλευρές αυτών των συστημάτων που ποτέ δεν γνώρισαν, ενώ οι μικρότεροι μπορούν να ξεψαχνίσουν τις κατασκευαστικές και προγραμματιστικές λεπτομέρειες.
Διαβάστε ολόκληρο το άρθρο στο deltaHacker Φεβρουαρίου (τεύχος 005).
Για αγορές τευχών ή συνδρομών στο περιοδικό deltaHacker, απλά συμπληρώστε τη φόρμα. [Πλέον δεχόμαστε καιPayPal]
Σημείωση: Οι συνδρομές μπορούν ν’ αρχίζουν από όποιο τεύχος επιθυμείτε, αρκεί να υπάρχει σε stock.
Το deltaHacker είναι το μοναδικό, μηνιαίο συνδρομητικό περιοδικό με θεματολογία ethical hacking και infosec που δεν κυκλοφορεί στα περίπτερα. Αν δεν το διαβάζετε ακόμα, κάτι μας λέει ότι σύντομα θ’ αρχίσετε. Εκτός δηλαδή κι αν αγαπάτε τον υπολογιστή σας όσο και το ψυγείο σας :S
Arduino + LCDSmartie = Δεύτερο monitor για το PC!
Εμ, πώς να το κάνουμε; Ο δικός μας υπολογιστής είναι ξεχωριστός! Δεν είναι από εκείνους τους μπανάλ, με τη μία οθόνη ;) Αν μη τι άλλο, θέλουμε να έχουμε συνεχή και εύκολη πρόσβαση σε διάφορες πληροφορίες. Ακριβώς γι’ αυτό θα δούμε πώς μπορούμε να φτιάξουμε και να του χαρίσουμε μία μικρή οθόνη LCD. Μην ανησυχείτε, δεν θα ξοδευτούμε. Θα παίξουμε όμως και πάλι με το αγαπημένο μας Arduino!
Είμαστε βέβαιοι ότι θα έχετε δει κάμποσα από εκείνα τα κουτιά με τις ενσωματωμένες οθόνες LCD. Μιλάμε για τις μικρές οθόνες, 2 ή 4 γραμμών, που δείχνουν τη θερμοκρασία του κουτιού, τις στροφές των ανεμιστήρων κ.ά. Εάν μάλιστα πρόκειται για το κουτί κάποιου μερακλή κατασκευαστή, ενδέχεται να βλέπουμε στην οθόνη ακόμα και το πλήθος των νέων email ή τα αδιάβαστα RSS feed! Δυστυχώς, τα κουτιά με αυτές τις οθόνες έχουν μεγάλο κόστος. Όσο για τα λιγοστά μοντέλα που κυκλοφορούν κατά καιρούς σε σχετικά προσιτές τιμές, εκεί υπάρχουν άλλα προβλήματα. Είτε πρόκειται για κακόγουστα κουτιά, είτε προβάλλουν στην οθόνη τους ελάχιστα και πολύ συγκεκριμένα δεδομένα. Δεν θα ήταν ωραία αν προσθέταμε μια οθόνη στο δικό μας κουτάκι, η οποία να δείχνει οτιδήποτε θέλουμε; Φανταστείτε για παράδειγμα να ρίχνουμε μια ματιά στο κουτί του υπολογιστή και να μαθαίνουμε για τον καιρό ή το αν έχουμε νέα email, χωρίς να ανάψουμε την κανονική μας οθόνη!
Τι; Ακόμα να μαντέψατε τι θα κάνουμε; Ε, λοιπόν, επειδή το δικό μας κουτί μάς αρέσει, μάς βολεύει και δεν έχουμε καμία όρεξη να το αλλάξουμε, επειδή ζηλέψαμε κι επειδή *μπορούμε*, θα φτιάξουμε τη δική μας οθόνη! Για την ακρίβεια θα φτιάξουμε ένα σύστημα που θα μας επιτρέψει να συνδέσουμε μια μικρή οθόνη LCD σε κάποια θύρα USB του υπολογιστή. Στη συνέχεια, χρησιμοποιώντας το κατάλληλο πρόγραμμα, θα δούμε τον τρόπο για να προβάλουμε στην οθόνη μας οτιδήποτε κάνουμε κέφι. Και για να μην σας κρατάμε σε αγωνία, αυτό το “κατάλληλο πρόγραμμα” που θα χρησιμοποιήσουμε είναι το περίφημο LCD Smartie. Πρόκειται για ένα πρόγραμμα ανοιχτού κώδικα, γνωστό στους κύκλους των case modder και ικανό να συγκεντρώνει διάφορες πληροφορίες από το σύστημα. Το ίδιο πρόγραμμα —με τη βοήθεια plugin— μπορεί να εμφανίζει στην οθόνη μας και πληροφορίες από δικτυακές υπηρεσίες και δίκτυα, όπως το Facebook.
Διαβάστε ολόκληρο το άρθρο στο deltaHacker Ιανουαρίου (τεύχος 004).
Για αγορές τευχών ή συνδρομών στο περιοδικό deltaHacker, απλά συμπληρώστε τη φόρμα.
Σημείωση: Οι συνδρομές μπορούν ν’ αρχίζουν από όποιο τεύχος επιθυμείτε, αρκεί να υπάρχει σε stock.
Το deltaHacker είναι το μοναδικό, μηνιαίο συνδρομητικό περιοδικό με θεματολογία ethical hacking και infosec που δεν κυκλοφορεί στα περίπτερα. Αν δεν το διαβάζετε ακόμα, κάτι μας λέει ότι σύντομα θ’ αρχίσετε. Εκτός δηλαδή κι αν δεν αγαπάτε πολύ-πολύ-πολύ τον υπολογιστή σας, ούτε την τεχνολογία :S
Arduino – the way of the hacker
Εσάς ποιες κατασκευές σας αρέσουν; Προτιμάτε τις απλές και λειτουργικές ή εκείνες που διαθέτουν δεκάδες LED και διακόπτες, προσφέροντας ένα βουνό από ετερόκλητες λειτουργίες; Εμείς πάντως μπορούμε ν’ αντιληφθούμε την εσωτερική ομορφιά και των δύο — ή τουλάχιστον έτσι θέλουμε να πιστεύουμε ;) Ακριβώς γι’ αυτό τείνουμε χείρα βοηθείας προς όλους: Θα εξετάσουμε τις κλασικότερες εφαρμογές του multiplexing και θα μάθουμε κολπάκια για τη βέλτιστη αξιοποίηση των ακροδεκτών του Arduino. Υπάρχει κανείς που να μην εκτιμά τις αποδοτικές κι ανορθόδοξες λύσεις;
Στο deltaHacker 003 ασχοληθήκαμε με πολύ απλά κυκλώματα. Στόχος μας ήταν να εξοικειωθούμε με τα port του επεξεργαστή του Arduino, όπως επίσης και με τους καταχωρητές που ρυθμίζουν τη συμπεριφορά των port. Σε πολλές περιπτώσεις, η δυνατότητα να χειριζόμαστε ταυτόχρονα ολόκληρες ομάδες ακροδεκτών είναι εξαιρετικά χρήσιμη — αν όχι απολύτως αναγκαία! Όπως είδαμε, λοιπόν, χρησιμοποιώντας τους καταχωρητές των port μπορούμε να βάλουμε στο παιχνίδι και όλες τις πράξεις που επιδρούν στα μεμονωμένα bit ενός αριθμού (πράξεις bitwise). Με αυτόν τον τρόπο, μπορούμε να σκαρώνουμε διάφορα προγραμματιστικά τρικ, για να χειριζόμαστε μαζικά και ταχύτατα την κατάσταση πολλών ακροδεκτών. Ακολούθως –και αφού είχαμε αποκτήσει έναν τόσο καλό έλεγχο των ακροδεκτών του Arduino–, μπήκαμε σε νέα μονοπάτια: Αρχίσαμε να εξερευνούμε το ενδεχόμενο αξιοποίησης ενός ακροδέκτη για παραπάνω από μία εργασίες. Κάπως έτσι μπήκαμε στα χωράφια του περίφημου multiplexing. Στο σχετικό κύκλωμα που μελετήσαμε είχαμε συνδέσει διακόπτες και LED μαζί, πάνω στους ίδιους ακροδέκτες! Η τοπολογία που εξετάσαμε είχε αρκετές ατέλειες, αλλά ήταν σχετικά απλή κι εξυπηρετούσε απόλυτα το σκοπό μας: Συνδυάζοντας εισόδους (διακόπτες) και εξόδους (LED) επάνω στους ίδιους ακροδέκτες, έδινε με τον πιο ξεκάθαρο τρόπο την έννοια του multiplexing.
Σ’ αυτό το τεύχος θα μελετήσουμε δύο παραδοσιακές εφαρμογές του multiplexing, οι οποίες παρουσιάζουν θεωρητικό αλλά και πρακτικό ενδιαφέρον. Επιπρόσθετα, θα εξετάσουμε μερικά κόλπα για τη διασύνδεση πολλών διακοπτών σε ελάχιστους ακροδέκτες. Αυτά τα κολπάκια θα μας χρησιμεύσουν σε κατασκευές που θα συναντήσουμε σε επόμενα άρθρα της σειράς, αλλά είμαστε σίγουροι ότι θα τα αξιοποιήσετε και σε δικά σας project! Τέλος, θα κάνουμε μια σύντομη αναφορά στο φαινόμενο POV (Persistence Of Vision) και θα εξετάσουμε μια απλή, αλλά ενδιαφέρουσα εφαρμογή. Αυτή η εφαρμογή θα μας προετοιμάσει για το επόμενο μέρος της σειράς, στο οποίο θα βγάλουμε γούστα, για να το πούμε απλά και λαϊκά ;) Έχουμε πάρα πολύ ωραία πράγματα μπροστά μας, τι καθόμαστε;
Διαβάστε ολόκληρο το άρθρο στο deltaHacker Ιανουαρίου (τεύχος 004).
Για αγορές τευχών ή συνδρομών στο περιοδικό deltaHacker, απλά συμπληρώστε τη φόρμα.
Σημείωση: Οι συνδρομές μπορούν ν’ αρχίζουν από όποιο τεύχος επιθυμείτε, αρκεί να υπάρχει σε stock.
Το deltaHacker είναι το μοναδικό, μηνιαίο συνδρομητικό περιοδικό με θεματολογία ethical hacking και infosec που δεν κυκλοφορεί στα περίπτερα. Αν δεν το διαβάζετε ακόμα, κάτι μας λέει ότι σύντομα θ’ αρχίσετε. Εκτός δηλαδή κι αν δεν αγαπάτε πολύ-πολύ-πολύ τον υπολογιστή σας, ούτε την τεχνολογία :S
Arduino for real hackers, part 1 of k
Υπάρχει κανείς που δεν θέλει να γνωρίζει έξυπνες τεχνικές γύρω από τη χρήση του Arduino; Υπάρχει κάποιος που δεν εκτιμά τα μικρά και απλά παιχνίδια, που μας διδάσκουν κομψές κι αποδοτικές μεθόδους προγραμματισμού; Υπάρχει κανείς που δεν θέλει να γνωρίζει, ώστε να μπορεί να σκαλίζει; Μεταξύ των αναγνωστών του deltaHacker, μάλλον δεν υπάρχει! Όσα ακολουθούν, επομένως, θα αρέσουν σε όλους ;)
Δεν είναι κακό να χρησιμοποιούμε έτοιμα script. Το κακό είναι να μην ξέρουμε πώς λειτουργούν και, ακόμα χειρότερα, να αδιαφορούμε για το πώς λειτουργούν. Τότε γινόμαστε αυτό που λέμε script kiddies, χαζούληδες εξυπνάκηδες και διάφορα άλλα υποτιμητικά. Αυτό που σίγουρα *δεν* γινόμαστε είναι χάκερ. Το να αναβαθμίζουμε εξάλλου τον υπολογιστή συνέχεια, επίσης δεν είναι κακό. Όταν όμως αξιοποιούμε ένα μόνο μέρος των πόρων του συστήματος, τότε οι απανωτές αγορές αποτελούν σπατάλη χρημάτων και πόρων γενικότερα. Τίποτε από τα παραπάνω δεν αρέσει σε εκείνους οι οποίοι -ασχέτως αν κάποιοι τους αποκαλούν χάκερ ή όχι- στην πραγματικότητα διακατέχονται από το πνεύμα του αληθινού χάκερ! Όμως όλα αυτά είναι λίγο πολύ γνωστά – ή τουλάχιστον έτσι θέλουμε να πιστεύουμε. Μπορούμε μάλιστα να δούμε αυτή τη λογική να ακολουθείται σε διάφορες δραστηριότητες ή χόμπι των (αληθινών) χάκερ. Πάρτε για παράδειγμα το Arduino.Το να παίζουμε συνεχώς με διάφορα shields δεν είναι κακό. Η ενασχόληση με τα shields είναι σίγουρα διασκεδαστική και μπορεί να λειτουργήσει ως τεράστια πηγή έμπνευσης. Το κακό είναι να μην έχουμε απολύτως καμία ιδέα για το πώς λειτουργούν. Πώς να το κάνουμε, η ατάκα «it just works» δεν μας ταιριάζει. Θέλουμε να ξέρουμε πώς δουλεύουν τα πράγματα, αφενός για να μπορούμε να τα πειράζουμε κι αφετέρου για να τα συνδυάζουμε αποτελεσματικά και με πιο ευρηματικούς τρόπους, από εκείνους που είχαν κατά νου οι αρχικοί δημιουργοί. Το ίδιο ισχύει και με τις έτοιμες βιβλιοθήκες του Arduino. Δεν είναι καθόλου κακό να τις αξιοποιούμε, ακόμη και κατά κόρο. Όταν όμως σου αρέσει η τεχνολογία, θες να εμβαθύνεις συνεχώς. Θέλεις να ξέρεις πώς λειτουργεί το καθετί, ακόμα κι αν δεν σκοπεύεις να το πειράξεις ποτέ. Σκεπτόμενοι κάπως έτσι αποφασίσαμε να ξεκινήσουμε μια γνωριμία με διάφορες πτυχές της λειτουργίας του Arduino αλλά και των απλών ψηφιακών κυκλωμάτων. Το ζητούμενο από αυτή τη διαδικασία δεν είναι να γίνουμε Ηλεκτρονικοί Μηχανικοί, αλλά να γνωρίσουμε έξυπνες τεχνικές που θ’ ανοίξουν νέους δρόμους στη σκέψη μας. Πολύ συχνά θα φτάνουμε σε χαμηλό επίπεδο, ώστε να βρίσκουμε άκρως αποδοτικές και ταχύτατες ως προς τη λειτουργία τους λύσεις. Βέβαια ορισμένες από τις λύσεις αυτές θα είναι πολύπλοκες ως προς στην υλοποίηση. Κανένα πρόβλημα! Δεν μαθαίνουμε τις «δύσκολες» λύσεις για να αντικαταστήσουμε τις «εύκολες». Θέλουμε μόνο να είμαστε ευέλικτοι κι όταν προκύπτει η ανάγκη, να έχουμε πολλές εναλλακτικές.
Διαβάστε ολόκληρο το άρθρο στο deltaHacker Δεκεμβρίου (τεύχος 003).
Για αγορές τευχών ή συνδρομών στο περιοδικό deltaHacker, απλά συμπληρώστε τη φόρμα.
Σημείωση: Οι συνδρομές μπορούν ν’ αρχίζουν από όποιο τεύχος επιθυμείτε, αρκεί να υπάρχει σε stock.
Το deltaHacker είναι το μοναδικό, μηνιαίο συνδρομητικό περιοδικό με θεματολογία ethical hacking και infosec που δεν κυκλοφορεί στα περίπτερα. Αν δεν το διαβάζετε ακόμα, κάτι μας λέει ότι σύντομα θ’ αρχίσετε. Εκτός δηλαδή κι αν αδιαφορείτε για ό,τι πραγματικά ενδιαφέρον μπορείτε να κάνετε με τον υπολογιστή σας — και τους υπολογιστές των άλλων ;)
Φτιάξτε το δικό σας TV-Game με το Arduino!
Το Arduino έτσι, το Arduino αλλιώς, το Arduino παρά πέρα… Τον τελευταίο καιρό ακούμε συνεχώς για hacks και για projects που στηρίζονται στο Arduino. Μήπως έφτασε η ώρα να κάνουμε κι εμείς κάτι με αυτό το μαραφέτι;
Προφανώς κι έφτασε, αλλά πριν ξεκινήσουμε θα πρέπει να πάρουμε τα πράγματα από την αρχή. Τι είναι αυτό το Arduino και τι κάνει; Το Arduino δεν είναι τίποτα άλλο παρά ένας μικροελεγκτής AVR από την Atmel, “τυλιγμένος” με το κατάλληλο software ώστε να ‘ναι προσιτός στους χρήστες που δεν είχαν ποτέ σχέση με τα ηλεκτρονικά. Έρχεται με το δικό του περιβάλλον ανάπτυξης (Integrated Development Environment, IDE) αλλά και με τις δικές του βιβλιοθήκες, οι οποίες επιτρέπουν σ’ οποιονδήποτε έχει βασικές προγραμματιστικές γνώσεις να φτιάξει, χμ, οτιδήποτε μπορεί να φανταστεί!
Διαβάστε όλο το άρθρο στο deltaHacker Νοεμβρίου (τεύχος 002), το οποίο έχει ήδη αρχίσει να αποστέλλεται στους αγοραστές και στους συνδρομητές του περιοδικού!
Για αγορές τευχών ή συνδρομών στο περιοδικό deltaHacker απλά συμπληρώστε τη φόρμα. Σημείωση: Οι συνδρομές μπορούν ν’ αρχίζουν από όποιο τεύχος επιθυμείτε, αρκεί να υπάρχει σε stock.





