विषयसूची:

PCBWay Arduino साइकिल ओडोमीटर: 4 कदम
PCBWay Arduino साइकिल ओडोमीटर: 4 कदम

वीडियो: PCBWay Arduino साइकिल ओडोमीटर: 4 कदम

वीडियो: PCBWay Arduino साइकिल ओडोमीटर: 4 कदम
वीडियो: SPEEDOMETER - USING ARDUINO 2024, जुलाई
Anonim
PCBWay Arduino साइकिल ओडोमीटर
PCBWay Arduino साइकिल ओडोमीटर

कई वाहनों में, ऐसे उपकरण होते हैं जो यात्रा की गई दूरी की गणना करते हैं और ड्राइवर को जानकारी प्रस्तुत करने के लिए आवश्यक होते हैं।

इस प्रकार, इस जानकारी के माध्यम से, दो बिंदुओं के बीच की दूरी की निगरानी करना संभव है, उदाहरण के लिए, वाहन ओडोमीटर के माध्यम से।

आपूर्ति

01 एक्स पीसीबीवे कस्टम पीसीबी

01 एक्स अरुडिनो यूएनओ - UTSOURCE

01 x LCD 16x2 डिस्प्ले - UTSOURCE

01 एक्स ब्रेडबोर्ड - UTSOURCE

01 x वायर जंपर्स - UTSOURCE

01 x 10kR रोटरी पोटेंशियोमीटर - UTSOURCE

01 x UTSOURCE रीड स्विच - UTSOURCE

इसलिए, इस लेख के माध्यम से, हम आपको सिखाएंगे कि रीड स्विच सेंसर का उपयोग करके अपने दूरी गणना उपकरण को कैसे इकट्ठा किया जाए।

चरण 1: परियोजना

परियोजना
परियोजना

जिम की साइकिल द्वारा तय की गई दूरी की गणना के लिए निम्नलिखित परियोजना बनाई गई थी। इसके अलावा, आप सीखेंगे कि प्रोजेक्ट के लिए प्रोग्रामिंग कैसे बनाई जाती है।

इस परियोजना में तीन कार्य हैं:

  • साइकिल द्वारा तय की गई दूरी की गणना करें;
  • डिवाइस स्टार्टअप त्रिज्या कॉन्फ़िगरेशन;
  • किसी भी बाइक के अनुकूल।

इन कार्यात्मकताओं तक पहुँचने के लिए, उपयोगकर्ता सिस्टम के तीन बटनों का उपयोग करेगा। प्रत्येक बटन में आपकी कार्यक्षमता होती है। सिस्टम में हमारे पास निम्नलिखित बटन हैं:

इंक्रीमेंट बटन: इसका उपयोग पहियों की त्रिज्या को कॉन्फ़िगर करने और त्रिज्या मान को बढ़ाने के विकल्प में प्रवेश करने के लिए किया जाएगा;

डिक्रीमेंट बटन: इसका उपयोग पहियों की त्रिज्या को कॉन्फ़िगर करने के विकल्प को घटाने के लिए किया जाएगा;

एंटर बटन: इसका इस्तेमाल सिस्टम में रेडियस की वैल्यू डालने के लिए किया जाएगा।

इसके अलावा, हमारे पास रीड स्विच सेंसर है। यह पता लगाने के लिए जिम्मेदार है कि पहिए कब पूरी तरह से मुड़ते हैं। इसका पता लगाने के लिए, इसे पहियों पर एक चुंबक स्थापित करने की आवश्यकता है।

रीड स्विच ऊपर चित्र में प्रस्तुत किया गया है।

चरण 2:

इस प्रकार, जब भी चुंबक सेंसर के पास पहुंचता है, यह रीड स्विच सेंसर को सक्रिय करेगा। प्रक्रिया निम्नलिखित समीकरण के माध्यम से काम करती है:

तय की गई दूरी = 2 *π *त्रिज्या * टर्ननंबर

इस समीकरण के माध्यम से हम जानेंगे कि साइकिल द्वारा तय की गई दूरी क्या है।

समीकरण में, उपयोगकर्ता द्वारा त्रिज्या डाली जाती है, और टर्न नंबर की गणना पहिया के घुमावों की संख्या के माध्यम से की जाती है।

और पहिया के घुमावों का पता लगाने के लिए साइकिल के पहिये में चुंबक स्थापित करने और पहिया के पास रीड स्विच सेंसर स्थापित करने की आवश्यकता होती है।

प्रक्रिया को आसान बनाने के लिए, हम रीड स्विच सेंसर और तीन बटन को जोड़ने के लिए एक मुद्रित सर्किट बोर्ड बनाते हैं। मुद्रित सर्किट बोर्ड नीचे चित्र में प्रस्तुत किया गया है।

चरण 3:

छवि
छवि

जैसा कि पीसीबी में दिखाया गया है, Arduino नैनो को देखना संभव है। यह सभी प्रणालियों को नियंत्रित करने के लिए जिम्मेदार है। इसके अलावा, हमारे पास 5 जेएसटी कनेक्टर हैं।

C1 से C4 कनेक्टर का उपयोग तीन बटन और रीड स्विच सेंसर को जोड़ने के लिए किया जाता है। अब, LCD 16x2 I2C को जोड़ने के लिए C5 कनेक्टर का उपयोग किया जाता है।

इसलिए, इस प्रणाली के माध्यम से, आप परियोजना को अपनी साइकिल में स्थापित कर सकते हैं और यात्रा की गई दूरी का मूल्य प्राप्त कर सकते हैं।

इसके लिए आप नीचे दिए गए कोड का इस्तेमाल कर सकते हैं।

#शामिल करें #शामिल करें

/*

Pinos de conex?o dos bot?es e सेंसर रीड स्विच 8 - सेंसर रीड स्विच 9 - डिक्रीमेंटो 12 - इंक्रीमेंटो 11 - दर्ज करें */

#मेमोरिया 120 परिभाषित करें

#define PosRaio 125

# परिभाषित रीडस्विच 8

#BotaoEnterOk 11 को परिभाषित करें #BotaoIncremento 12 को परिभाषित करें #BotaoDecremento 9 को परिभाषित करें

const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;

लिक्विड क्रिस्टल एलसीडी (आरएस, एन, डी 4, डी 5, डी 6, डी 7);

बूल सेंसर = 0, एस्टाडो_एंटीरियर = 0, इंक्रीमेंटो = 0, डिक्रीमेंटो = 0;

bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;

बाइट cont = 0;

अहस्ताक्षरित लंबा int VoltaCompleta = 0;

अहस्ताक्षरित लंबा int tempo_atual = 0, ultimo_tempo = 0;

फ्लोट डिस्टकेएम = 0;

अहस्ताक्षरित इंट रियो = 0; फ्लोट डिस्टेंसिया = 0;

व्यर्थ व्यवस्था()

{ सीरियल.बेगिन (९६००); पिनमोड (8, इनपुट); पिनमोड (9, इनपुट); पिनमोड (10, इनपुट); पिनमोड (12, इनपुट);

LCD.begin (16, 2);

// रेगियाओ डे कोडिगो पैरा कॉन्फिगर या रायो दा रोडा डो वेइकुलो

अगर (ईईपीरोम.रीड (मेमोरिया)! = 73) { कॉन्फिगुरारियो (); EEPROM.लिखें (मेमोरिया, 73); }

LCD.setCursor(3, 0);

LCD.print ("डिस्टेंसिया"); LCD.setCursor(6, 1); एलसीडी.प्रिंट (डिस्टेंसिया);

LCD.setCursor(14, 1);

एलसीडी.प्रिंट ("किमी");

रियो = EEPROM.read (PosRaio);

}

शून्य लूप ()

{

//Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo

सेंसर = डिजिटलरेड (रीडस्विच); डिक्रीमेंटो = डिजिटल रीड (बोटाओडिक्रिमेंटो); वेतन वृद्धि = digitalRead (BotaoIncremento);

// रेजियाओ डे कोडिगो पैरा एक्यूमुलर ए डिस्टेंसिया परकोरिडा

अगर (सेंसर == 0 && estado_anterior == 1) {VoltaCompleta++;

डिस्टेंसिया = (फ्लोट) (2*3.14*रियो*वोल्टाकंपलेटा)/100000.0;

LCD.setCursor(0, 1);

एलसीडी.प्रिंट (""); LCD.setCursor(6, 1); एलसीडी.प्रिंट (डिस्टेंसिया);

LCD.setCursor(14, 1);

एलसीडी.प्रिंट ("किमी");

एस्टाडो_एंटीरियर = 0;

}

अगर (सेंसर == 1 && estado_anterior == 0)

{ एस्टाडो_एंटीरियर = 1; }

// रेगियाओ डे कोडिगो पैरा कॉन्फिगर या रायो

if(Incremento == 1 && EstadoAnteriorIncremento == 0) { EstadoAnteriorIncremento = 1; }

अगर (इन्क्रीमेंटो == 0 && एस्टाडोएन्टीरियर इंक्रीमेंटो == 1)

{ एस्टाडोएन्टीरियर इंक्रीमेंटो = 0; एलसीडी.क्लियर (); कॉन्फिगुरारियो (); } }

शून्य ConfiguraRaio ()

{

बाइट रायओरोडा = 0;

// इम्प्रिमिर मेन्सेजम पैरा डिजिटर ओ रियो एम सेमी

LCD.setCursor(0, 0); LCD.print ("इनसेर रियो (सेमी)");

करना

{

LCD.setCursor(6, 1);

वेतन वृद्धि = digitalRead (BotaoIncremento);

डिक्रीमेंटो = डिजिटल रीड (बोटाओडिक्रिमेंटो); BotaoEnter = digitalRead (BotaoEnterOk);

अगर (इन्क्रीमेंटो == 1 && इंक्रीमेंटोएन्टीरियर == 0)

{ रायओरोडा = रायोरोडा + 1; इंक्रीमेंटोएंटीरियर = 1; }

अगर (इन्क्रीमेंटो == 0 && इंक्रीमेंटोएंटीरियर == 1)

{इन्क्रीमेंटोएंटीरियर = 0; }

अगर (डिक्रीमेंटो == 1 && डिक्रीमेंटोएंटीरियर == 0)

{ रायओरोडा = रायोरोडा - 1; डिक्रीमेंटोएंटीरियर = 1; }

अगर (डिक्रीमेंटो == 0 && डिक्रीमेंटोएंटीरियर == 1)

{डिक्रीमेंटोएंटीरियर = 0; }

LCD.setCursor(6, 1);

एलसीडी.प्रिंट (रायओरोडा);

}जबकि (बोटाओएन्टर == 0);

एलसीडी.क्लियर ();

EEPROM.write(PosRaio, RaioRoda);

वापसी; }

इस कोड से यह संभवतः आपके Arduino के साथ आपकी दूरी की गणना करेगा।

चरण 4: निष्कर्ष

इसलिए, यदि आप अपना पीसीबी चाहते हैं, तो आप PCBWay.com वेबसाइट पर इस लिंक के माध्यम से प्राप्त कर सकते हैं। इसके लिए आप वेबसाइट का उपयोग कर सकते हैं, अपना खाता बना सकते हैं और अपना पीसीबी प्राप्त कर सकते हैं।

Silícios Lab इस परियोजना को बनाने के लिए इलेक्ट्रॉनिक घटकों की पेशकश करने के लिए UTSOURCE को धन्यवाद देती है।

सिफारिश की: