Το Spirates είναι ένα PC game το οποίο αναπτύσσω μαζί με έναν συμφοιτητή του από το 2012. Τα γραφικά του παιχνιδιού είναι σε δύο διαστάσεις.
Κατασκευές
Home Automation and More
Home Automation and More, ή HAM είναι ένα σύστημα αυτοματισμού σπιτιού το οποίο σκαρφιστήκαμε εγώ και ένας συναδελφος εν έτει 2015, χρησιμοποιώντας ασύρματες τεχνολογίες και ηλεκτρονικά ισχύος. Έφτιαξα το μεγαλύτερο κομμάτι του πρώτου πρώτοτυπου και για να το καταφέρω αυτό χρησιμοποίησα έναν μικροελεγκτή AVR, το Module ESP-8266 και ένα κύκλωμα οδήγησης με TRIAC. Το πρωτότυπο είναι επίσης σε θέση να μετρήσει και κατανάλωση ισχύος εκμεταλλευόμενο έναν αισθητήρα ρεύματος και ένα κύκλωμα μέτρησης τάσης το οποίο σχεδίασα.
Για το κομμάτι του λογισμικού, έγραψα μια ιστοσελίδα σε PHP, μια mobile εφαρμογή με χρήση του πλαισίου Apache Cordova, έναν εξυπηρετητή ελέγχου σε Javascript με nodejs και το λογισμικό του υλικού το υλοποίησα σε C.
Συνέχεια
Infinite Runner με AVR
Ήθελα να φτιάξω ένα παιχνίδι τύπου Infinite Runner. Αλλά αφού τα infinite runners σε software είναι πολύ mainstream και είχα αρκετά LED, αποφάσισα να φτιάξω έναν σε “hardware”.
Έφτιαξα μια οθόνη χρησιμοποιώντας μωβ LED και για είσοδο έβαλα 3 κουμπιά. Τα δύο κουμπιά είναι για την κίνηση της “κουκίδας” του παίχτη πάνω-κάτω και το τρίτο είναι για reset. Όλα ελέγχονται από ένα μικτροελεγκτή AVR Atmega8.
Οι κανόνες είναι απλοί: Ο παίκτης αναπαρίσταται από μια κουκίδα σε ένα κινούμενο ταμπλό που δημιουργείται δυναμικά και τυχαία. Σύγκρουση της κουκίδας του παίκτη με άλλες κουκίδες κατά μέτωπο σημαίνει τέλος του παιχνιδιού, σύγκρουση όμως με το πλάι είναι έξτρα πόντοι. Όσο αυξάνονται οι πόντοι του παίχτη το παιχνίδι πάει όλο και πιο γρήγορα. Όταν ο παίχτης χάσει το παιχνίδι, παρουσιάζεται η βαθμολογία του με κινούμενο κείμενο.
Συνέχεια
Κουτί εμφάνισης PCB με LED
Χρησιμοποιώντας το “κέλυφος” ενός παλιού scanner, κατασκεύασα ένα κουτί εμφάνισης Printed Circuit Board (PCB) με ultraviolet LED. Έχει μια οθόνη LCD και 4 κουμπιά στο μπροστινό μέρος σαν διεπαφή χρήστη. Ένας μικροελεγκτής AVR “ελέγχει” την διαδικασία εμφάνισης.
Μέσω ρυθμίσεων στο μενού, δίνεται η δυνατότητα να ρυθμιστεί ο χρόνος εμφάνισης, ποια LED να ανάψουν (τα πάνω μισά, τα κάτω μισά ή όλα), το backlight της LCD και εάν θέλουμε να σταματάει η διαδικασία σε περίπτωση που σηκώσουμε το καπάκι. Έχει επίσης 10 θέσεις για αποθήκευση ρυθμίσεων.
Αυτόματη Εξαγωγή Ειδήσεων από το twitter – Διπλωματική
Το θέμα της διπλωματικής μου ήταν ο σχεδιασμός και η υλοποίηση ενός συστήματος λογισμικού, το οποίο δεδομένου ενός συνόλου από tweets, αναγνωρίζει γεγονότα του πραγματικού κόσμου που αναφέρονται σε αυτό. Ιδανικά, αναγνωρίζει και σχέσεις ανάμεσα στα γεγονότα που εξάγονται, παραγόντας έτσι ιστορίες. Τα αποτελέσματα παρουσιάζονται σε περιηγητή ιστού. Μπορείτε να δείτε την υλοποιημένη διεπαφή χρήστη μαζί με κάποια δείγματα αποτελεσμάτων εδώ και το συνοδευόμενο κείμενο εδώ.
Το σύστημα περιλαμβάνει ένα πρόγραμμα για την ανάκτηση και προ-επεξεργασία ιστορικών tweet μέσω του twitter REST API, ένα πρόγραμμα που προ-επεξεργάζεται tweets αποθηκευμένα σε αρχείο (χρήση του ενός από τα δύο προηγούμενα), ένα πρόγραμμα που αναλύει τα προ-επεξεργασμένα tweets και μια ιστοσελίδα που παρουσιάζει τα αποτελέσματα στον χρήστη. Η διεπαφή χρήστη χρησιμοποιείται για την αξιολόγηση των αποτελεσμάτων. Όλα τα προγράμματα είναι υλοποιημένα σε python και η ιστοσελίδα σε HTML + Javascript.
TichuIQ
Το TichuIQ είναι μια ιστοσελίδα στην οποία κάποιος μπορεί να παίξει τίτσου με άλλους χρήστες online.
Έγω μαζί με έναν φίλο μου το φτιάξαμε το 2012 ως την τελική εργασία για ένα σεμινάριο πάνω στην ανάπτυξη για το web. Έχει επιπλέον χαρακτηριστικά όπως καθολικό και ‘τραπεζιακό’ chat, private τραπέζια, score tracking, ranking και achievements.
Η κύρια σελίδα του TichuIQ
Είναι γραμμένο σε PHP από το μηδέν και χρησιμοποιήσαμε ΜySQL σαν τον εξυπηρετητή της βάσης δεδομένων. Απαιτεί μόνο HTLM5, όποτε είναι θεωρητικά ικανό να τρέξει από παντού. Ουσιαστικά είναι ένα server side game και τρέχει μέχρι και σε φτηνό shared hosting. Όμως, επειδή βασίζεται σε polling για την ανταλλαγή δεδομένων, δεν κάνει καλό scaling. Το 2013 αναγκαστήκαμε να μεταφερθούμε σε dedicated server. Την στιγμή που γράφεται αυτή η ανάρτηση, έχει περίπου 35.000 χρήστες και 100 χρήστες online ανά πάσα στιγμή.
Τροποποίηση ανεμιστήρα με τηλεκοντρόλ
Τροποποίησα έναν ανεμιστήρα ώστε να μπορώ να τον χειρίζομαι με ένα τηλεχειριστήριο. Με την χρήση του τηλεχειριστηρίου δίνεται η δυνατότητα να ρυθμίζεται και η ταχύτητα του ανεμιστήρα.