Мазмұны:
Бейне: PCBWay Arduino велосипед одометрі: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Көптеген көліктерде жүргізушіге ақпаратты ұсыну үшін қажет қашықтықты есептейтін құрылғылар бар.
Осылайша, бұл ақпарат арқылы екі нүктенің арасындағы жүріп өткен қашықтықты бақылауға болады, мысалы, көліктің одометрі арқылы.
Жабдықтар
01 x PCBWay реттелетін ПХД
01 x Arduino UNO - UTSOURCE
01 x СК 16x2 дисплей - UTSOURCE
01 x Нан тақтасы - UTSOURCE
01 x сымдық секіргіштер - UTSOURCE
01 x 10kR Айналмалы потенциометр - UTSOURCE
01 x UTSOURCE Reed Switch - UTSOURCE
Сондықтан, осы мақала арқылы біз қамысты қосқыш сенсорының көмегімен қашықтықты есептеу құрылғысын қалай жинау керектігін үйретеміз.
1 -қадам: Жоба
Келесі жоба жаттығу залының велосипедімен жүріп өткен қашықтықты есептеуге арналған. Сонымен қатар, сіз жобаға бағдарламалауды үйренесіз.
Бұл жобаның үш функциясы бар:
- Велосипедпен жүріп өткен қашықтықты есептеңіз;
- Құрылғыны іске қосу радиусының конфигурациясы;
- Кез келген велосипедке бейімделеді.
Бұл функцияларға қол жеткізу үшін пайдаланушы жүйенің үш батырмасын пайдаланады. Әр түйме сіздің функционалдығыңызға ие. Жүйеде бізде келесі түймелер бар:
Көбейту түймесі: ол дөңгелектердің радиусын конфигурациялау және радиустың мәнін ұлғайту опциясына енгізу үшін пайдаланылады;
Жою түймесі: ол дөңгелектердің радиусын конфигурациялау опциясын азайту үшін қолданылады;
Енгізу батырмасы: ол жүйеде радиустың мәнін енгізу үшін қолданылады.
Сонымен қатар, бізде қамысты ауыстыру сенсоры бар. Дөңгелектердің толық бұрылуын анықтауға жауапты. Мұны анықтау үшін дөңгелектерге магнит орнату керек.
Reed Switch жоғарыдағы суретте көрсетілген.
2 -қадам:
Осылайша, магнит сенсорға жақындаған сайын ол Reed Switch сенсорын іске қосады. Процесс келесі теңдеу арқылы жүзеге асады:
Саяхатталған қашықтық = 2 * π * радиусы * TurnNumber
Бұл теңдеу арқылы біз велосипедпен жүріп өткен қашықтықты білеміз.
Теңдеуде пайдаланушы радиусты енгізеді, ал бұрылыс нөмірі дөңгелектің айналу саны арқылы есептеледі.
Дөңгелектің бұрылыстарын анықтау үшін велосипед дөңгелегіне магнит орнату және Дөңгелектің жанындағы қамыс қосқыш датчигін орнату қажет.
Процесті жеңілдету үшін біз қамысты ауыстыру сенсоры мен үш түймені қосу үшін баспа схемасын жасаймыз. Баспа схемасы төмендегі суретте көрсетілген.
3 -қадам:
ПХД -де көрсетілгендей Arduino Nano -ны көруге болады. Ол барлық жүйелерді басқаруға жауапты. Сонымен қатар, бізде 5 JST қосқышы бар.
Үш түйме мен қамысты ауыстыру датчигін қосу үшін C1 дейін C4 қосқыштары қолданылады. Енді C5 коннекторы 16x2 I2C СК қосу үшін қолданылады.
Сондықтан, бұл жүйе арқылы сіз жобаны велосипедке орнатып, жүріп өткен жолдың мәнін ала аласыз.
Ол үшін төменде келтірілген кодты қолдануға болады.
#қосу #қосу
/*
Pinos de conex? O dos botes es e sensor reed switch 8 - Сенсорлық қамысты қосқыш 9 - Decremento 12 - Incremento 11 - Enter */
120
125
#ReedSwitch 8 анықтаңыз
#BotaoEnterOk 11 анықтау #BotaoIncremento 12 анықтау #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 сенсоры = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
байт cont = 0;
белгісіз ұзақ int VoltaCompleta = 0;
unsigned long int tempo_atual = 0, ultimo_tempo = 0;
өзгермелі DistKm = 0;
белгісіз int raio = 0; float Distancia = 0;
жарамсыз орнату ()
{Serial.begin (9600); pinMode (8, INPUT); pinMode (9, INPUT); pinMode (10, INPUT); pinMode (12, INPUT);
lcd.begin (16, 2);
// Конфигурациялау үшін бағдарлама жасаңыз
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 («км»);
raio = EEPROM.read (PosRaio);
}
бос цикл ()
{
// Деректер мен сенсорлар диспетчерлік бақылауды жүзеге асырады
сенсор = 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 («км»);
estado_anterior = 0;
}
егер (сенсор == 1 && estado_anterior == 0)
{estado_anterior = 1; }
// Райо конфигурациясының региондары
if (Incremento == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
егер (Incremento == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}
жарамсыз ConfiguraRaio ()
{
байт RaioRoda = 0;
// Сандық сандық көрсеткіштер
lcd.setCursor (0, 0); lcd.print («Inserir Raio (см)»);
істеу
{
lcd.setCursor (6, 1);
Incremento = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
егер (Incremento == 1 && IncrementoAnterior == 0)
{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }
егер (Incremento == 0 && IncrementoAnterior == 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 -қадам: Қорытынды
Сондықтан, егер сіз өзіңіздің жеке ПХД алғыңыз келсе, PCBWay.com веб -сайтында осы сілтеме арқылы алуға болады. Ол үшін сіз веб -сайтқа кіре аласыз, есептік жазбаңызды жасай аласыз және дербес ПХД аласыз.
Silícios зертханасы UTSOURCE -ке осы жобаны жасау үшін электронды компоненттерді ұсынғаны үшін алғыс білдіреді.
Ұсынылған:
Велосипед жарығы: 7 қадам
Велосипед жарығы: Бұл жобада мен сізге велосипед жарығын қалай жасау керектігін көрсетемін, ол сіздің жолыңызды түнде жарықтандырады, қай жолмен жүретіндігіңізді көрсетеді, оның ішінде жарық шамы
Bluetooth сымсыз велосипед динамигі: 11 қадам (суреттермен)
Велосипедке сымсыз Bluetooth динамигі: Сәлеметсіз бе! Бұл нұсқаулықта мен велосипедке сымсыз Bluetooth динамигін қалай құрастырғанымды көрсетемін. Айта кету керек, бұл менің сүйікті жобаларымның бірі болуы мүмкін. Бұл керемет көрінеді, керемет дыбысқа ие және футуристік келбетке ие! Басқа ретінде
PCBWAY көмегімен DIY полициясының жарық диоды: 6 қадам (суреттермен)
PCBWAY көмегімен DIY полициясының жарық диоды: HiDelta hack бүгінгі күні баспа тақтасына негізделген қарапайым электронды компоненттерді қолдана отырып, полицияның жарқылын қалай жинау керектігін көрсетеді. Алдымен сіз бейне индукция схемасы мен тақтаның үлгісін жүктей аласыз. Барайық
GPS көмегімен Arduino велосипед спидометрі: 8 қадам
GPS көмегімен Arduino велосипед спидометрі: Бұл оқулықта біз ST7735 дисплейінде GPS -тен ағымдағы велосипед жылдамдығын көрсету үшін Arduino мен Visuino қолданамыз
Электр скейтбордының одометрі: 5 қадам
Электр скейтбордының одометрі: Кіріспе Мың доллар тұратын ауқымды электр скейтбордтың көпшілігінде нақты уақыттағы скейтборд ақпаратын көрсететін телефон қосымшасы бар, өкінішке орай, Қытайдан тиімдірек скейтбордтар онымен бірге келмейді. Ендеше неге