Πίνακας περιεχομένων:
Βίντεο: Ένα απλό, πρακτικό χρονόμετρο Arduino: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Searchάξτε στον ιστό για χρονόμετρο Arduino. Μάλλον το έκανες μόλις είσαι εδώ. Από προσωπική εμπειρία, μπορώ να σας πω ότι οποιοδήποτε χρονόμετρο στο διαδίκτυο είναι είτε πολύ σύνθετο (σε κώδικα, για αρχάριους), είτε είναι πολύ απλοποιημένο και όχι πρακτικό, όπως αυτά που μετρούν δευτερόλεπτα χωρίς επαναφορά.
Κι εσύ έτσι νομίζεις, ε; Λοιπόν μαντέψτε τι. Το έκανα και, επιπλέον, παίρνω απευθείας τη συμβολή μου από τη συνάρτηση millis ()- μια ατελείωτη σειρά αριθμών (έως 49 ημέρες ή οτιδήποτε άλλο). Το καλύτερο κομμάτι? Είναι μόνο μια γραμμή.
Η επαναφορά, είναι το σκληρό μέρος του χρονόμετρου. Για τους ενδιάμεσους προγραμματιστές, αν δεν το έχετε κάνει ήδη, προχωρήστε και προσπαθήστε να το κάνετε μόνοι σας, με δευτερόλεπτα, λεπτά και ώρες μαζί. Θα καταλάβετε για τι μιλάω.
Για αρχάριους, διαβάστε και απολαύστε την ιδιοφυία του μυαλού μου.
Πλάκα κάνω, αλλά η λύση που βρήκα είναι αρκετά προσεγμένη. Ιδού τι είναι:
Βήμα 1: Η λύση
Το πρόβλημα λοιπόν είναι η επαναφορά. Αυτό που θέλουμε είναι ένας συνεχής, επαναλαμβανόμενος κύκλος αριθμών, από μια ατελείωτη έξοδο διαδοχικών αριθμών (millis () - βασικά μετρά χιλιοστά του δευτερολέπτου, ή στην πραγματικότητα 1.024 χιλιοστά του δευτερολέπτου, αλλά οτιδήποτε).
Το πρώτο πράγμα που μου έρχεται στο μυαλό είναι η χρήση της διαφοράς, όπως η ώρα1 -ώρα2 και η καθυστέρηση. Ξέχνα το. Χρειάζονται τουλάχιστον έξι γραμμές κώδικα και μια δήλωση if για εκκίνηση.
Δείτε λοιπόν πώς να το κάνετε. Έχουμε ένα όριο (59). Θέλουμε τα πάντα από 0 έως 59 να επαναλαμβάνονται ξανά και ξανά. Πως?
Τι κι αν… παίρναμε το υπόλοιπο… της συνάρτησης millis διαιρούμενο με 59…. Λοταρία!
Έτσι, θα πρέπει να είναι έτσι:
(60 [ως αρχική τιμή επειδή το όριο είναι 59] + millis () / 1000 [1000 χιλιοστά του δευτερολέπτου είναι ένα δευτερόλεπτο]) % 60
Εντάξει, εξηγήστε. (%) ή μέτρο, είναι βασικά ένας τελεστής όπως το (+) που βρίσκει το υπόλοιπο. Όπως 9 % 2 = 1.
Ετσι:
- υπόλοιπο (60 + 0) % 60 = 0
- υπόλοιπο (60 + 1) % 60 = 1
- υπόλοιπο (60 + 58) % 60 = 58
- υπόλοιπο (60 + 59) % 60 = 59
- υπόλοιπο (60 + 60) % 60 = 60
- υπόλοιπο (60 + 61) % 60 = 1
Βλέπω!
Τώρα, για τα μέρη.
Βήμα 2: Τα μέρη
Όχι πολύ, καθόλου
- Οποιοδήποτε arduino
- Οποιαδήποτε οθόνη (χρησιμοποίησα το OLED 0,96 ", αλλά μπορείτε να χρησιμοποιήσετε ό, τι έχετε, απλώς φροντίστε να βάλετε τις σωστές μεταβλητές στις λειτουργίες οθόνης της οθόνης σας.)
Αυτό είναι.
Βήμα 3: Ο κώδικας
Ορίστε. Σχολιάζεται αρκετά καθαρά, οπότε δεν πρέπει να υπάρχουν προβλήματα. Οι βιβλιοθήκες και το init για 0.96 OLED είναι στον κώδικα. Αντικαταστήστε το με τις δικές σας οθόνες αν είναι διαφορετικό.
// Βιβλιοθήκες OLED 0,96"
#περιλαμβάνω
#περιλαμβάνω
#περιλαμβάνω
#περιλαμβάνω
// 0,96 OLED Init
#define OLED_RESET 4
Adafruit_SSD1306 οθόνη (OLED_RESET).
int δευτερόλεπτα?
int λεπτά?
int ώρες?
void setup () {
// Κάποια άλλα 0,96 OLED Init
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay (); display.setTextSize (2); display.setTextColor (ΛΕΥΚΟ); }
void loop () {
δευτερόλεπτα = (60 + millis () / 1000) % 60;
λεπτά = (60 + millis () / 60000) % 60; ώρες = (25 + millis () / 3600000) % 25;
display.clearDisplay ();
display.setCursor (0, 22); // εκτύπωση του αριθμού των ωρών από την επαναφορά της εμφάνισης. print (ώρες); display.print ("h:");
// εκτυπώστε τον αριθμό των λεπτών από την επαναφορά
display.print (λεπτά)?
display.print ("m:");
// εκτυπώστε τον αριθμό των δευτερολέπτων από την επαναφορά της οθόνης. print (δευτερόλεπτα); display.print ("s");
display.setCursor (0, 0);
display.print ("Χρονόμετρο"); display.drawLine (0, 18, 128, 18, ΛΕΥΚΟ); display.display ();
}
Βήμα 4: Στο τέλος…
Αρα αυτο ειναι! Τώρα πηγαίνετε να κάνετε ό, τι θέλετε με αυτό. Χρονομετρήστε μερικά αυγά ή πάρτε τη γειτονιά σας.
Μπράβο, Aarush
Συνιστάται:
Μια αποκριάτικη μηχανή φοβισμού χρησιμοποιώντας ένα PIR, μια τρισδιάστατη τυπωμένη κολοκύθα και έναν συμβατό ήχο Pranker Troll Arduino/πρακτικό Joke Board .: 5 βήματα
A Halloween Scare Machine Using PIR, 3D Printed Pumpkin and the Troll Arduino Compatible Audio Pranker/πρακτικό Joke Board .: Ο πίνακας Troll δημιουργήθηκε από τον Patrick Thomas Mitchell της EngineeringShock Electronics και χρηματοδοτήθηκε πλήρως στο Kickstarter όχι πολύ καιρό πριν. Πήρα την ανταμοιβή μου μερικές εβδομάδες νωρίτερα για να βοηθήσω να γράψω μερικά παραδείγματα χρήσης και να δημιουργήσω μια βιβλιοθήκη Arduino σε μια προσπάθεια
Όλα σε ένα ψηφιακό χρονόμετρο (ρολόι, χρονόμετρο, ξυπνητήρι, θερμοκρασία): 10 βήματα (με εικόνες)
All in One Digital Chronometer (Ρολόι, Χρονόμετρο, Ξυπνητήρι, Θερμοκρασία): Σχεδιάζαμε να φτιάξουμε χρονόμετρο για κάποιον άλλο διαγωνισμό, αλλά αργότερα εφαρμόσαμε επίσης ένα ρολόι (χωρίς RTC). Καθώς μπήκαμε στον προγραμματισμό, ενδιαφερθήκαμε να εφαρμόσουμε περισσότερες λειτουργίες στη συσκευή και καταλήξαμε να προσθέσουμε DS3231 RTC, ως
Φτιάξτε ένα χρονόμετρο κουζίνας με ένα MakerBit: 13 βήματα
Φτιάξτε ένα χρονόμετρο κουζίνας με ένα MakerBit: Αυτό το έργο διερευνά πώς λειτουργεί ένα χρονόμετρο κουζίνας - φτιάχνοντας ένα! Πριν από πολύ καιρό, οι περισσότερες χρήσιμες συσκευές ήταν μηχανικές. Τα παιδιά θα μπορούσαν να διαχωρίσουν τα πράγματα για να δουν τα μέρη στο εσωτερικό και να μελετήσουν πώς κινούνται. Τα σύγχρονα ηλεκτρονικά gadget όπως το χρονόμετρο κουζίνας είναι
Ένα πρακτικό ρομπότ: 11 βήματα (με εικόνες)
Ένα πρακτικό ρομπότ: Το ονομάζω πρακτικό ρομπότ για διάφορους λόγους. Μπορεί να γίνει χρησιμοποιώντας καθημερινά εργαλεία που θα είχαν οι περισσότεροι άνθρωποι που εργάζονται στο σπίτι. Με τη χρήση πολλών πλεονασμάτων, το κόστος διατηρείται σε χαμηλά επίπεδα. Ο βραχίονας του ρομπότ μπορεί να σηκώσει πάνω από ένα βάρος 2 κιλών από
Προσθέστε ένα κουμπί Rapid-fire στο ποντίκι σας χρησιμοποιώντας ένα χρονόμετρο 555: 5 βήματα (με εικόνες)
Προσθέστε ένα κουμπί Rapid-fire στο ποντίκι σας χρησιμοποιώντας ένα χρονόμετρο 555: Το δάχτυλό σας κουράζεται εύκολα ενώ παίζετε βιντεοπαιχνίδια; Θα θέλατε ποτέ να μπορούσατε να συγκεντρώσετε n00bs γρηγορότερα από την ταχύτητα του φωτός χωρίς να ιδρώσετε ποτέ; Αυτό το Instructable θα σας δείξει πώς