Πίνακας περιεχομένων:

Arduino XMAS Hitcounter: 6 βήματα (με εικόνες)
Arduino XMAS Hitcounter: 6 βήματα (με εικόνες)

Βίντεο: Arduino XMAS Hitcounter: 6 βήματα (με εικόνες)

Βίντεο: Arduino XMAS Hitcounter: 6 βήματα (με εικόνες)
Βίντεο: Arduino XMAS hitcounter 2024, Νοέμβριος
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Τα Χριστούγεννα πλησιάζουν, οπότε εδώ είναι η συμβολή μου για να σας βάλω στη σωστή διάθεση. Είναι ένα blog hitcounter, που χτυπάει ένα κουδούνι. Κυριολεκτικά. Χαρίζει ένα χαμόγελο στο πρόσωπό σας, κάθε φορά που κάποιος χτυπά το ιστολόγιό σας.

Αποτελείται από έναν πίνακα Arduino, ένα κουδούνι, ένα σερβο και μερικές γραμμές κώδικα σε c, python και php. Τα περισσότερα μέρη είναι αρκετά συνηθισμένα και θα πρέπει να είναι εύκολο να τα αποκτήσετε.

Βήμα 1: Εργαλεία και υλικά

Εργαλεία και υλικά
Εργαλεία και υλικά

Τι χρειάζεται λοιπόν;

  • Arduino Board. Πήρα ένα Arduino Diecimila από το Adafruits. Εν τω μεταξύ υπάρχουν πραγματικά φθηνοί και εύχρηστοι κλώνοι εκεί έξω, π.χ. το πραγματικά γυμνό χαρτόνι από τις σύγχρονες συσκευές, ειδικά αν θέλετε να τα χρησιμοποιήσετε σε ένα breadboard.
  • Ένας σερβοκινητήρας. Οποιοδήποτε σερβο θα κάνει. Πήρα ένα παλιό που χρησιμοποιήθηκε στο προηγούμενο χόμπι μου.
  • Ενα κουδούνι. Κατά προτίμηση ένα αρκετά μικρό για να το ανακινήσετε με το σερβο.
  • Δύο συνδετήρες. Ένα μεγάλο για να κρατήσει το κουδούνι και ένα μικρό για να χτίσει τον ενεργοποιητή για να χτυπήσει το κουδούνι.
  • Καλώδια για σύνδεση του σερβο με το Arduino.
  • Μία ιστοσελίδα. Στην πραγματικότητα δεν πρέπει να είναι ιστότοπος ή ιστολόγιο. Στην πραγματικότητα όλα όσα μπορούν να μετρηθούν, θα λειτουργήσουν.
  • Υπολογιστής ή Mac για σύνδεση της πλακέτας Arduino με το ιστολόγιο ή τον ιστότοπο.

Μπορεί να χρειαστείτε ένα συγκολλητικό σίδερο, εάν τα καλώδια δεν μπορούν να συνδεθούν απευθείας στο Arduino.

Βήμα 2: Συναρμολόγηση υλικού

Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού
Συναρμολόγηση υλικού

Το κουδούνι κρατιέται από ένα ισχυρό συνδετήρα. Το μικρό συνδετήρα χρησιμοποιείται για να σχηματίσει ένα είδος βραχίονα που είναι προσαρτημένο στο σερβοκινητήρα.

Σημειώστε ότι θέλετε να λυγίσετε το συνδετήρα που συγκρατεί το κουδούνι με έναν τρόπο, ότι ήδη ένα μικρό κούνημα δημιουργεί ένα χτύπημα.

Βήμα 3: Διαγράμματα

Σχήματα
Σχήματα

Δεν υπάρχει πραγματικό σχηματικό. Απλώς συνδέστε τον σερβοκινητήρα στο Arduino. Το σερβο έχει τρία καλώδια:

  • κίτρινο ή πορτοκαλί: σήμα
  • κόκκινο: VCC
  • καφέ: GND

Το κόκκινο και το καφέ είναι προσαρτημένα στις αντίστοιχες ακίδες στο Arduino (5V και GND). Το πορτοκαλί είναι συνδεδεμένο στον πείρο 2. Θα σηματοδοτήσει το σερβο σε ποια κατεύθυνση θα στρίψει. Μπορεί να θέλετε να κολλήσετε μικρούς συνδετήρες στα καλώδια εάν τα καλώδια δεν ταιριάζουν απευθείας στο Arduino ή στο σερβο.

Βήμα 4: Προγραμματισμός του Arduino

Προγραμματισμός του Arduino
Προγραμματισμός του Arduino

Arduino Εάν είστε νέοι στο Arduino, είναι ένας μικρός πίνακας, πλήρως συναρμολογημένος με έναν μικροελεγκτή AVR. Είναι κατάλληλο για hacking και αλληλεπίδραση με το περιβάλλον σας. Πολλά πράγματα που είναι δύσκολα με τους μικροελεγκτές είναι αρκετά εύκολα με το Arduino. Μερικά από τα πλεονεκτήματα:

  • δεν χρειάζεται ξεχωριστή συσκευή προγραμματισμού (προγραμματιστής)
  • έρχεται με ένα ολοκληρωμένο περιβάλλον ανάπτυξης (IDE)
  • τρέχει σε οποιαδήποτε πλατφόρμα, Windows, Mac, Linux.
  • εύκολη σύνδεση στον υπολογιστή σας με USB
  • το υλικό είναι ανοιχτού κώδικα (αλλά το όνομα Arduino δεν είναι)
  • έχει μεγάλη κοινότητα

Περισσότερες πληροφορίες μπορείτε να βρείτε στην επίσημη ιστοσελίδα του Arduino. Βεβαιωθείτε ότι, για να δείτε το John's Arduino με οδηγίες, για περισσότερες λεπτομέρειες σχετικά με το πώς να ξεκινήσετε με το Arduino. Τι κάνει το λογισμικό; Το μικρό κομμάτι λογισμικού που ανεβαίνει στο Arduino, ελέγχει το σερβο. Λαμβάνει μεμονωμένα byte μέσω της σειριακής σύνδεσης μέσω του καλωδίου USB. Εάν λάβει μια τιμή 5, μετακινεί το σερβοβραχίονα πέντε φορές εμπρός και πίσω. Έτσι, η μέγιστη τιμή για αποστολή είναι 255. Προγραμματίστε το Ardiuno Υποθέτω ότι έχετε κατεβάσει και εγκαταστήσει το πιο πρόσφατο Arduino IDE από το Arduino.cc. Προς το παρόν είναι η έκδοση 0010 Alpha. Για να οδηγήσετε το σερβο πιο άνετα πρέπει να κατεβάσετε μια βιβλιοθήκη. Μπορείτε να το βρείτε στην παιδική χαρά Arduino. Αποσυμπιέστε το και βάλτε το φάκελο στο…/arduino-0010/hardware/libraries/.

  • Συνδέστε το Arduino στον υπολογιστή σας με το καλώδιο USB.
  • Ανοίξτε το IDE και ξεκινήστε ένα νέο σκίτσο. Το Sketch είναι το Arduino μιλήστε για το πρόγραμμα. Επιλέξτε Αρχείο -> Νέο.
  • Επιλέξτε την κατάλληλη σειριακή συσκευή (Εργαλεία -> Σειριακή θύρα). Αυτό εξαρτάται από το περιβάλλον σας, για μένα είναι /dev/tty.usbserial-A4001JAh.
  • Κατεβάστε το συνημμένο αρχείο προέλευσης και επικολλήστε το στο νέο σκίτσο. Πατήστε το κουμπί αποθήκευσης.
  • Πατήστε το κουμπί επαλήθευσης. Αυτό συγκεντρώνει το σκίτσο σας σε ένα δεκαεξαδικό αρχείο που μπορεί να μεταφερθεί στο Arduino σας.
  • Πατήστε το κουμπί μεταφόρτωσης για να μεταφέρετε το σκίτσο σας στο Arduino.

Δοκιμή Τώρα το hitcounter σας είναι έτοιμο για κάποια ενέργεια. Ας δούμε αν λειτουργεί.

  • Πατήστε το κουμπί σειριακής οθόνης.
  • Επιλέξτε το πλαίσιο κειμένου δίπλα στο κουμπί αποστολής.
  • Πατήστε το πλήκτρο καρτέλας και στείλτε το.
  • Μέχρι τώρα ο σερβοβραχίονας πρέπει να κινείται μπροστά και πίσω.

Φτου. Αυτό ήταν το πιο δύσκολο κομμάτι. Προς το παρόν, μπορείτε να στείλετε ένα byte στο Arduino και τα σερβο κύματα προς το μέρος σας. Επόμενο είναι να βρείτε κάτι που θέλετε να ενεργοποιήσει το κουδούνι. Έχουμε σχεδόν τελειώσει.

Βήμα 5: Κάντε το Hitcounter

Για να το κάνουμε hitcounter για τον ιστότοπό σας, χρειαζόμαστε δύο μικρά κομμάτια κώδικα. Ένας δύο δημιουργεί και φροντίζει τον πάγκο και ένας δεύτερος για να πάρει την αξία του μετρητή και να τον στείλει στο Arduino.

Σημείωση: Εάν δεν είστε συγγενείς με Python ή PHP, τα σενάρια μπορούν εύκολα να μεταφερθούν στην αγαπημένη σας γλώσσα προγραμματισμού. Ο μετρητής Εδώ είναι ένα μικρό σενάριο PHP, το οποίο διαβάζει μια τιμή από ένα αρχείο (hitcounter.txt), το αυξάνει και γράφει επιστρέφει στο αρχείο. Αυτό είναι όλο, αυτό χρειάζεται. Αυτό το αρχείο μπορεί να αποθηκευτεί ως counter.php στον διακομιστή σας για παράδειγμα. Στη συνέχεια, μπορείτε να ενεργοποιήσετε μια καταμέτρηση με το πρόγραμμα περιήγησης ιστού που δείχνει προς τη διεύθυνση https://www.youdomain.com/counter.php. Έχω συμπεριλάβει αυτό το απόσπασμα στο ιστολόγιο wordpress μου. $ hits = αρχείο ($ count_my_page); $ hit = περικοπή ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit? ?> Ο κωδικός κόλλας Αυτό το επόμενο απόσπασμα κώδικα χρησιμοποιείται για την ανάκτηση του μετρητή. Χρησιμοποίησα Python αλλά όλα πρέπει να λειτουργήσουν. Ανοίγει μια σύνδεση HTTP και μεταφέρει το hitcounter.txt. Εάν η τιμή έχει αλλάξει από την τελευταία λήψη, η διαφορά υπολογίζεται και ωθείται στο Arduino. Αυτό γίνεται κάθε δέκα δευτερόλεπτα μέχρι να διακόψετε το σενάριο με crtl-c. Προσαρμόστε το myUrl και τη σειριακή σύνδεση παρακάτω στις ανάγκες σας. # # fetch counter # import time import urllib import serial # usb serial connection to arduino ser = serial. Serial ('/dev/tty.usbserial-A4001JAh', 9600) myUrl = 'https://tinkerlog.com/hitcounter.txt 'last_counter = urllib.urlopen (myUrl).read () ενώ (True): _ counter = urllib.urlopen (myUrl).read () _ delta = int (counter) - int (last_counter) _ print "counter: %s, delta: % s " % (counter, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = counter _ time.sleep (10) Δεν μπορούσα να ανεβάσω αρχεία με επέκταση php, οπότε πρέπει να μετονομάσετε το counterphp.txt σε counter.php. Εάν το Arduino εξακολουθεί να είναι συνδεδεμένο στον υπολογιστή σας, ξεκινήστε το σενάριο Python για να λάβετε το hitcounter…> python counter.py και θα πρέπει να δείτε την έξοδο του μετρητή. Εάν δείξετε το πρόγραμμα περιήγησής σας στη διεύθυνση URL του counter.php και πατήσετε επανάληψη φόρτωσης, θα πρέπει να ακούσετε τον ήχο του χτυπητή σας. Ναι, τώρα τελειώσαμε. Timeρα να γυρίσουμε πίσω και να απολαύσουμε τη δουλειά μας.

Βήμα 6: Συμπέρασμα

συμπέρασμα
συμπέρασμα

Είναι η πρώτη φορά, που έχτισα κάτι, που έχει κινούμενα μέρη. Αυτό είναι το πρώτο βήμα για να γεφυρωθεί το χάσμα μεταξύ του εικονικού και του πραγματικού κόσμου. Και ήταν πολύ εύκολο, ο κώδικας είναι απλός. Επίσης τα περισσότερα μέρη ήταν στον κάδο απορριμμάτων, εκτός από το κουδούνι. Το να τα συνδυάζω όλα και να περιμένω κάποιον να χτυπήσει το blog μου ήταν διασκεδαστικό.

Ελπίζω να το απολαύσατε.

Συνιστάται: