Πίνακας περιεχομένων:
Βίντεο: Οδόμετρο ποδηλάτου PCBWay Arduino: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Σε πολλά οχήματα, υπάρχουν συσκευές που υπολογίζουν την διανυθείσα απόσταση και είναι απαραίτητες για την παρουσίαση πληροφοριών στον οδηγό.
Έτσι, μέσω αυτών των πληροφοριών, είναι δυνατή η παρακολούθηση της απόστασης που διανύθηκε μεταξύ δύο σημείων, για παράδειγμα, μέσω του οδόμετρου του οχήματος.
Προμήθειες
01 x PCBWay Custom PCB
01 x Arduino UNO - UTSOURCE
01 x Οθόνη LCD 16x2 - UTSOURCE
01 x Breadboard - UTSOURCE
01 x Wire Jumpers - UTSOURCE
01 x 10kR Περιστροφικό ποτενσιόμετρο - UTSOURCE
01 x UTSOURCE Διακόπτης καλαμιού - UTSOURCE
Επομένως, μέσω αυτού του άρθρου, θα σας διδάξουμε πώς να συναρμολογήσετε τη συσκευή υπολογισμού απόστασης χρησιμοποιώντας τον αισθητήρα διακόπτη καλαμιών.
Βήμα 1: Το έργο
Το παρακάτω έργο δημιουργήθηκε για τον υπολογισμό της διανυθείσας απόστασης με το ποδήλατο του γυμναστηρίου. Επιπλέον, θα μάθετε πώς να δημιουργείτε προγραμματισμό για το έργο.
Το έργο αυτό έχει τρεις λειτουργίες:
- Υπολογίστε την απόσταση που διανύσατε με το ποδήλατο.
- Διαμόρφωση ακτίνας εκκίνησης συσκευής.
- Προσαρμόζεται σε οποιοδήποτε ποδήλατο.
Για πρόσβαση σε αυτές τις λειτουργίες, ο χρήστης θα χρησιμοποιήσει τα τρία κουμπιά του συστήματος. Κάθε κουμπί έχει τη λειτουργικότητά σας. Στο σύστημα έχουμε τα ακόλουθα κουμπιά:
Κουμπί αύξησης: Θα χρησιμοποιηθεί για να εισαγάγετε την επιλογή διαμόρφωσης της ακτίνας των τροχών και αύξησης της τιμής της ακτίνας.
Κουμπί μείωσης: Θα χρησιμοποιηθεί για να μειώσει την επιλογή διαμόρφωσης της ακτίνας των τροχών.
Κουμπί Enter: Θα χρησιμοποιηθεί για την εισαγωγή της τιμής της ακτίνας στο σύστημα.
Επιπλέον, έχουμε τον αισθητήρα διακόπτη Reed. Είναι υπεύθυνο να εντοπίζει πότε οι τροχοί κάνουν πλήρη στροφή. Για την ανίχνευση αυτού, πρέπει να εγκαταστήσετε έναν μαγνήτη στους τροχούς.
Ο διακόπτης Reed παρουσιάζεται στο παραπάνω σχήμα.
Βήμα 2:
Έτσι, κάθε φορά που ο μαγνήτης πλησιάζει τον αισθητήρα, θα ενεργοποιεί τον αισθητήρα διακόπτη Reed. Η διαδικασία λειτουργεί μέσω της ακόλουθης εξίσωσης:
Ταξιδευμένη Απόσταση = 2 * π * ακτίνα * TurnNumber
Μέσω αυτής της εξίσωσης, θα γνωρίζουμε ποια είναι η διανυθείσα απόσταση που εκτελεί το ποδήλατο.
Στην εξίσωση, η ακτίνα εισάγεται από τον χρήστη και ο αριθμός στροφής υπολογίζεται μέσω του αριθμού των στροφών του τροχού.
Και για τον εντοπισμό των στροφών του τροχού απαιτείται η εγκατάσταση ενός μαγνήτη στον τροχό του ποδηλάτου και η εγκατάσταση του αισθητήρα διακόπτη Reed κοντά στον τροχό.
Για ευκολότερη διαδικασία, δημιουργούμε μια πλακέτα τυπωμένου κυκλώματος για να συνδέσουμε τον αισθητήρα διακόπτη Reed και τα τρία κουμπιά. Ο πίνακας τυπωμένων κυκλωμάτων παρουσιάζεται παρακάτω στο παρακάτω σχήμα.
Βήμα 3:
Όπως φαίνεται στο PCB μπορείτε να δείτε το Arduino Nano. Είναι υπεύθυνος για τον έλεγχο όλων των συστημάτων. Επιπλέον, έχουμε 5 συνδετήρες JST.
Οι σύνδεσμοι C1 έως C4 χρησιμοποιούνται για τη σύνδεση των τριών κουμπιών και του αισθητήρα διακόπτη Reed. Τώρα, ο σύνδεσμος C5 χρησιμοποιείται για τη σύνδεση της οθόνης LCD 16x2 I2C.
Επομένως, μέσω αυτού του συστήματος, μπορείτε να εγκαταστήσετε το έργο στο ποδήλατό σας και να λάβετε την τιμή της διανυόμενης απόστασης.
Για αυτό, μπορείτε να χρησιμοποιήσετε τον κωδικό που παρουσιάζεται παρακάτω.
#συμπεριλάβω #συμπεριλάβω
/*
Pinos de conex? O dos bot? Es e sensor reed switch 8 - Sensor Reed Switch 9 - Decremento 12 - Incremento 11 - Enter */
#define MEMORIA 120
#define PosRaio 125
#define ReedSwitch 8
#define BotaoEnterOk 11 #define BotaoIncremento 12 #define BotaoDecremento 9
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal LCD (rs, en, d4, d5, d6, d7);
bool sensor = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
byte cont = 0;
ανυπόγραφο long int VoltaCompleta = 0;
ανυπόγραφο long int tempo_atual = 0, ultimo_tempo = 0;
float DistKm = 0;
ανυπόγραφο int raio = 0; float Distancia = 0;
void setup ()
{Serial.begin (9600); pinMode (8, ΕΙΣΟΔΟΣ); pinMode (9, ΕΙΣΟΔΟΣ); pinMode (10, ΕΙΣΟΔΟΣ); pinMode (12, ΕΙΣΟΔΟΣ);
lcd. αρχή (16, 2);
// Regiao de codigo para configurar o raio da roda do veiculo
if (EEPROM.read (MEMORIA)! = 73) {ConfiguraRaio (); EEPROM.write (MEMORIA, 73); }
lcd.setCursor (3, 0);
lcd.print ("Distancia"); lcd.setCursor (6, 1); lcd.print (Distancia);
lcd.setCursor (14, 1);
lcd.print ("km");
raio = EEPROM.read (PosRaio);
}
κενός βρόχος ()
{
// Regiao de codigo para realizar a leitura dos botoes και sensor do dispositivo
αισθητήρας = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Incremento = digitalRead (BotaoIncremento);
// Regiao de codigo para acumular a distancia percorrida
εάν (αισθητήρας == 0 && estado_anterior == 1) {VoltaCompleta ++;
Distancia = (float) (2*3.14*raio*VoltaCompleta) /100000.0;
lcd.setCursor (0, 1);
lcd.print (""); lcd.setCursor (6, 1); lcd.print (Distancia);
lcd.setCursor (14, 1);
lcd.print ("km");
estado_anterior = 0;
}
εάν (αισθητήρας == 1 && estado_anterior == 0)
{estado_anterior = 1; }
// Regiao de Codigo para Configurar o Raio
εάν (Εισαγωγή == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
αν (Εισαγωγή == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}
void ConfiguraRaio ()
{
byte RaioRoda = 0;
// Imprimir mensagem para digitar o raio em cm
lcd.setCursor (0, 0); lcd.print ("Inserir Raio (cm)");
κάνω
{
lcd.setCursor (6, 1);
Incremento = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
αν (Εισαγωγή == 1 && Αύξηση Προηγούμενο == 0)
{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }
αν (Εισαγωγή == 0 && Αύξηση Προηγούμενο == 1)
{IncrementoAnterior = 0; }
αν (Decremento == 1 && DecrementoAnterior == 0)
{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }
αν (Decremento == 0 && DecrementoAnterior == 1)
{DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print (RaioRoda);
} while (BotaoEnter == 0);
lcd.clear ();
EEPROM.write (PosRaio, RaioRoda);
ΕΠΙΣΤΡΟΦΗ; }
Από αυτόν τον κωδικό θα υπολογίσει πιθανώς την απόσταση σας με το Arduino σας.
Βήμα 4: Συμπέρασμα
Επομένως, εάν θέλετε το δικό σας PCB, μπορείτε να το αποκτήσετε μέσω αυτού του συνδέσμου στον ιστότοπο του PCBWay.com. Για αυτό, μπορείτε να αποκτήσετε πρόσβαση στον ιστότοπο, να δημιουργήσετε το λογαριασμό σας και να αποκτήσετε τα δικά σας PCB.
Το εργαστήριο Silícios ευχαριστεί την UTSOURCE για να προσφέρει τα ηλεκτρονικά εξαρτήματα για τη δημιουργία αυτού του έργου.
Συνιστάται:
Φως ποδηλάτου: 7 βήματα
Φως ποδηλάτου: Σε αυτό το έργο θα σας δείξω πώς να δημιουργήσετε το δικό σας φως ποδηλάτου που μπορεί να φωτίσει το δρόμο σας κατά τη διάρκεια της νύχτας, να δείξει ποιον δρόμο θα ακολουθήσετε, συμπεριλαμβανομένου του φωτός διακοπής
Πολυλειτουργικός οπίσθιος φωτισμός ποδηλάτου βασισμένος σε CD4017: 15 βήματα
Πολυλειτουργικός οπίσθιος φωτισμός ποδηλάτου βασισμένος σε CD4017: Αυτό το κύκλωμα γίνεται με την εφαρμογή πολύ συνηθισμένου κυκλώματος LED CD4017 που ονομάζεται chaser LED. Αλλά μπορεί να υποστηρίξει διάφορες μεθόδους αναβοσβήματος LED συνδέοντας καλώδια ελέγχου ως διαφορετικούς τρόπους. Beσως μπορεί να χρησιμοποιηθεί ως οπίσθιος φωτισμός ποδηλάτου ή οπτικός δείκτης
Αισθητήρας θέσης ποδηλάτου από το Magicbit [Magicblocks]: 8 βήματα
Αισθητήρας θέσης ποδηλάτου από το Magicbit [Magicblocks]: Απλό έργο DIY για να φτιάξετε αισθητήρα θέσης Kickstand με Magicbit χρησιμοποιώντας Magicblocks. Χρησιμοποιούμε το magicbit ως πίνακα ανάπτυξης σε αυτό το έργο που βασίζεται στο ESP32. Επομένως, οποιοσδήποτε πίνακας ανάπτυξης ESP32 μπορεί να χρησιμοποιηθεί σε αυτό το έργο
Ταχύμετρο ποδηλάτου Arduino χρησιμοποιώντας GPS: 8 βήματα
Ταχύμετρο ποδηλάτου Arduino χρησιμοποιώντας GPS: Σε αυτό το σεμινάριο θα χρησιμοποιήσουμε το Arduino και το Visuino για να εμφανίσουμε μια τρέχουσα ταχύτητα ποδηλάτου από το GPS στην οθόνη ST7735. Δείτε ένα βίντεο επίδειξης
Ηλεκτρικό οδόμετρο Skateboard: 5 βήματα
Το μεγαλύτερο ηλεκτρικό skateboard οδόμετρο: Εισαγωγή Τα περισσότερα high-end ηλεκτρικά skateboard με εμβέλεια χιλιάδων δολαρίων έρχονται με μια εφαρμογή τηλεφώνου που εμφανίζει πληροφορίες skateboard σε πραγματικό χρόνο και δυστυχώς, τα πιο οικονομικά οικονομικά skateboard από την Κίνα δεν έρχονται με αυτά. Γιατί λοιπόν όχι