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

DIY Bach Tachometer: 5 βήματα (με εικόνες)
DIY Bach Tachometer: 5 βήματα (με εικόνες)

Βίντεο: DIY Bach Tachometer: 5 βήματα (με εικόνες)

Βίντεο: DIY Bach Tachometer: 5 βήματα (με εικόνες)
Βίντεο: 5 ΚΑΤΑΠΛΗΚΤΙΚΑ LIFE HACK #2 2024, Ιούλιος
Anonim
Image
Image
Ταχύμετρο DIY ποδηλάτου
Ταχύμετρο DIY ποδηλάτου

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

Βήμα 1: Μέρη:

Μέρη
Μέρη

Αυτή είναι μια λίστα με τα μέρη που θα χρειαστείτε. Μου κόστισαν περίπου $ 40:

  • Arduino
  • Ποδήλατο με διακόπτη καλαμιού
  • Οθόνη LCD 16x2
  • Servo
  • Breadboard
  • Θερμόμετρο DS18B20
  • Αντίσταση 1,2k Ω, 4,7k Ω
  • Διακόπτης
  • Κουμπί
  • Ποτενσιόμετρο 10 kΩ
  • Μπαταρία 9V
  • Καλώδια
  • Κουτί
  • Εργαλεία (τρυπάνι, συγκόλληση, μαχαίρι, ταινία)

Βήμα 2: Σύνδεση

Σύνδεση
Σύνδεση
Σύνδεση
Σύνδεση
Σύνδεση
Σύνδεση
Σύνδεση
Σύνδεση

Πρόσθεσα μια εικόνα από το Fritzing και λεκτική περιγραφή του τρόπου σύνδεσής του. Στην εικόνα όλα τα κόκκινα καλώδια συνδέονται με 5V, όλα τα μπλε καλώδια συνδέονται με το GND.

Οθόνη LCD:

VSS GND Arduino

VDP 5V Arduino

Ποτενσιόμετρο εξόδου VO (ποτενσιόμετρο VCC -> 5V Arduino, ποτενσιόμετρο GND -> Arduino GND).

RS pin 12 Arduino

RW GND Arduino

E pin 11 Arduino

D4 pin 5 Arduino

D5 pin 4 Arduino

D6 pin 3 Arduino

D7 pin 2 Arduino

Ένα 5V Arduino

K GND Arduino

Servo:

VCC 5V Arduino

μάζα GND Arduino

Καρφίτσα δεδομένων 6 Arduino

Θερμόμετρο:

VCC 5V Arduino

μάζα GND Arduino

Καρφίτσα δεδομένων 1 Arduino

τα δεδομένα και η ισχύς συνδέονται μέσω αντίστασης 4,7 kΩ

Αισθητήρας στον τροχό:

ένα άκρο -> 5V Arduino

δεύτερο άκρο -> A0 Arduino και αντίσταση 1, 2 kΩ

Το άλλο άκρο της αντίστασης στη γείωση στο Arduino

Κουμπί:

ένα άκρο 5V Arduino

δεύτερο τέλος A1 Arduino

Βήμα 3: Ανεβάστε τον κωδικό:

Παρακάτω πρόσθεσα τον κωδικό στα σχόλια υπάρχει μια εξήγηση.

σύνδεσμοι προς τις βιβλιοθήκες λήψης:

www.pjrc.com/teensy/arduino_libraries/OneWire.zip

github.com/milesburton/Arduino-Temperature-Control-Library

Εάν έχετε διαφορετική διάμετρο τροχού, πρέπει να τον αλλάξετε. Μπορείτε να το υπολογίσετε με αυτόν τον τύπο:

κύκλωμα = π*d*2, 54 (d = διάμετρος του τροχού σας, τον πολλαπλασίασα επί 2,54 για να πάρετε το αποτέλεσμα σε μέτρα).

/*

################################################### Πνευματικά δικαιώματα Nikodem Bartnik Ιούνιος 2014 ############################################# ###### */// βιβλιοθήκες #Include #include #include #include #define ONE_WIRE_BUS 1 OneWire oneWire (ONE_WIRE_BUS). Αισθητήρες θερμοκρασίας Dallas (& oneWire); // Καρφίτσες οθόνης LCD LiquidCrystal LCD (12, 11, 5, 4, 3, 2). // servo name Servo myservo; // ορισμός μεταβλητών πολύ προηγουμένως, τρίπτυχος, χρόνος, παρορμήσεις. ταχύμετρο πλωτήρα, dist, aspeed? int servo? int οθόνη = 1; // Εάν έχετε άλλο κύκλωμα τροχού, πρέπει να το αλλάξετε κύκλωμα πλωτήρα = 2.0. διπλή θερμοκρασία? void setup () {lcd.begin (16, 2);

pinMode (A0, INPUT); pinMode (A1, INPUT); // servo ορισμός και ρύθμιση του στροφόμετρου στο 0 myservo.attach (6); myservo.write (180); lcd.print ("Στροφόμετρο ποδηλάτου"); καθυστέρηση (1000)? lcd.setCursor (5, 1); lcd.print ("V 1.0"); καθυστέρηση (4000)? lcd.clear (); καθυστέρηση (500)? lcd.setCursor (0, 0); lcd.print ("Dist:"); } void loop () {// εάν ο τροχός γυρίζει εάν (analogRead (A0)> = 300) {// αριθμός στροφών ++ παλμών ++; // μετράω χρόνο στροφής = (millis ()-προηγούμενο); // μετρήστε ταχύμετρο ταχύτητας = (κύκλωμα /χρόνος)*3600.0; προηγούμενο = millis (); Ταχύμετρο(); καθυστέρηση (100)? } Lcd (); } // ταχύτητα εμφάνισης στο στροφόμετρο void Tachometer () {// map map speed 0-180 to servo speedometer = int (speedometer); σερβο = χάρτης (ταχύμετρο, 0, 72, 180, 0); // setup servo myservo.write (servo); } void Lcd () {// όταν γίνεται κλικ στο κουμπί if (analogRead (A1)> = 1010) {lcd.clear (); οθόνη ++; εάν (οθόνη == 5) {οθόνη = 1; }} if (screen == 1) {// εμφανίζει ταχύτητα lcd.setCursor (0, 1); lcd.print ("Ταχύτητα:"); lcd.setCursor (7, 1); lcd.print (ταχύμετρο); lcd.print ("km/h"); } if (οθόνη == 2) {// εμφανίζει τη θερμοκρασία θερμοκρασίας τους = sensors.getTempCByIndex (0); sensors.requestTemperatures (); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.setCursor (7, 1); lcd.print (θερμοκρασία) lcd.print ("C"); } if (screen == 3) {// εμφανίζει μέση ταχύτητα aspeed = dist/(millis ()/1000.0)*3600.0; lcd.setCursor (0, 1); lcd.print ("A.speed:"); lcd.setCursor (8, 1); lcd.print (aspeed); lcd.print ("km/h"); } if (οθόνη == 4) {// εμφανίζει χρόνο ταξιδιού triptime = millis ()/60000; lcd.setCursor (0, 1); lcd.print ("Timeρα:"); lcd.setCursor (7, 1); lcd.print (triptime); } lcd.setCursor (0, 0); lcd.print ("Dist:"); // υπολογισμός της απόστασης dist = παλμούς*κύκλωμα/1000,00; // εμφανίζει απόσταση lcd.setCursor (6, 0); lcd.print (dist); lcd.print ("km"); }

Βήμα 4: Συσκευασία

Πακέτο
Πακέτο
Πακέτο
Πακέτο
Πακέτο
Πακέτο

Ως κάλυμμα χρησιμοποίησα ένα πλαστικό κουτί που αγόρασα για $ 1. Έκοψα τρύπες χρησιμοποιώντας ένα μαχαίρι και ένα τρυπάνι. Servo και LCD οθόνη κόλλησα με ταινία, άκρη έφτιαξα με χαρτοκιβώτιο και την έβαψα με μπογιά. Έκανα ασπίδα στο Corel Draw X5 και το εκτύπωσα, πρόσθεσα μια εικόνα-p.webp

Βήμα 5: Εκτέλεσε το

Τρέξτο!
Τρέξτο!
Τρέξτο!
Τρέξτο!
Τρέξτο!
Τρέξτο!
Τρέξτο!
Τρέξτο!

Τώρα είναι έτοιμο. Το μόνο που χρειάζεται να κάνετε είναι να το ενεργοποιήσετε και να οδηγήσετε. Διασκεδάστε με το ταχύμετρο. Αν σας αρέσει αυτό το έργο, ψηφίστε με.

Συνιστάται: