Բովանդակություն:
Video: PCBWay Arduino հեծանիվների հեռաչափ ՝ 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Շատ մեքենաներում կան սարքեր, որոնք հաշվարկում են անցած տարածությունը և կարևոր են վարորդին տեղեկատվություն ներկայացնելու համար:
Այսպիսով, այս տեղեկատվության միջոցով հնարավոր է վերահսկել երկու կետերի միջև անցած տարածությունը, օրինակ ՝ մեքենայի ճանապարհաչափի միջոցով:
Պարագաներ
01 x PCBWay Պատվերով PCB
01 x Arduino UNO - ԱTSԲՅՈՐ
01 x LCD 16x2 էկրան - ԱՐ. ԵՔ
01 x Գրատախտակ - ՀԱՄԱԼԻՐ
01 x Մետաղյա թռչկոտիչներ - ՀԱՄԱԼԻՐ
01 x 10kR պտտվող պոտենցիոմետր - UTSOURCE
01 x UTSOURCE Եղեգի անջատիչ - UTSOURCE
Հետևաբար, այս հոդվածի միջոցով մենք ձեզ կսովորեցնենք, թե ինչպես հավաքել հեռավորության հաշվարկման սարքը ՝ օգտագործելով եղեգի անջատիչի սենսորը:
Քայլ 1: Նախագիծ
Հետևյալ նախագիծը ստեղծվել է մարզասրահի հեծանիվով անցած տարածությունը հաշվարկելու համար: Բացի այդ, դուք կսովորեք, թե ինչպես ստեղծել ծրագրի համար ծրագրավորում:
Այս նախագիծը ունի երեք գործառույթ.
- Հաշվարկել հեծանիվով անցած տարածությունը;
- Սարքի գործարկման շառավիղի կազմաձևում;
- Հարմարվող ցանկացած հեծանիվին:
Այս գործառույթներին մուտք գործելու համար օգտագործողը կօգտագործի համակարգի երեք կոճակները: Յուրաքանչյուր կոճակ ունի ձեր ֆունկցիոնալությունը: Համակարգում մենք ունենք հետևյալ կոճակները.
Բարձրացման կոճակ. Այն կօգտագործվի անիվների շառավիղը կազմաձևելու և շառավիղը ավելացնելու տարբերակի մեջ մուտքագրելու համար.
Decrement Button: Այն կօգտագործվի անիվների շառավիղը կազմաձևելու տարբերակը նվազեցնելու համար.
Մուտքագրեք կոճակը. Այն կօգտագործվի համակարգում շառավիղի արժեքը տեղադրելու համար:
Բացի այդ, մենք ունենք Reed Switch Sensor: Այն պատասխանատու է հայտնաբերել, երբ անիվները կատարում են ամբողջական շրջադարձ: Դա հայտնաբերելու համար անհրաժեշտ է մագնիս տեղադրել անիվների վրա:
Reed Switch- ը ներկայացված է վերևում նկարում:
Քայլ 2:
Այսպիսով, ամեն անգամ, երբ մագնիսը մոտենում է սենսորին, այն կգործարկի Reed Switch սենսորը: Գործընթացը գործում է հետևյալ հավասարման միջոցով.
Veանապարհորդված հեռավորություն = 2 * π * շառավիղ * TurnNumber
Այս հավասարման միջոցով մենք կիմանանք, թե որն է հեծանիվի կատարած ճանապարհը:
Հավասարում շառավիղը տեղադրվում է օգտագործողի կողմից, իսկ շրջադարձի թիվը հաշվարկվում է անիվի պտույտների թվի միջոցով:
Իսկ անիվի պտույտները հայտնաբերելու համար անհրաժեշտ է հեծանիվի անիվի մեջ մագնիս տեղադրել և Անիվի մոտ Reed Switch Sensor- ը տեղադրելու համար:
Գործընթացը հեշտացնելու համար մենք ստեղծում ենք տպագիր տպատախտակ ՝ Reed Switch Sensor- ը և երեք կոճակները միացնելու համար: Տպագիր տպատախտակները ստորև ներկայացված են ստորև ներկայացված նկարում:
Քայլ 3:
Ինչպես ցույց է տրվում PCB- ում, հնարավոր է տեսնել Arduino Nano- ն: Այն պատասխանատու է վերահսկելու բոլոր համակարգերը: Բացի այդ, մենք ունենք 5 JST միակցիչ:
Երեք կոճակները և Reed Switch Sensor- ը միացնելու համար օգտագործվում են C1 մինչև C4 միակցիչները: Այժմ C5 միակցիչն օգտագործվում է LCD 16x2 I2C LCD միացնելու համար:
Հետևաբար, այս համակարգի միջոցով դուք կարող եք տեղադրել նախագիծը ձեր հեծանիվում և ստանալ անցած ճանապարհի արժեքը:
Դրա համար կարող եք օգտագործել ստորև ներկայացված կոդը:
#ներառել #ներառել
/*
Pinos de conex? O dos bot? Es e sensor reed switch 8 - Sensor Reed Switch 9 - Decremento 12 - incremento 11 - Enter */
#սահմանեք ՀԻՇԱՏԱԿԸ 120
#սահմանի PosRaio 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;
բայթ կոնտ = 0;
անստորագիր երկար int VoltaCompleta = 0;
անստորագիր երկար int tempo_atual = 0, ultimo_tempo = 0;
բոց DistKm = 0;
անստորագիր int raio = 0; բոց Distancia = 0;
դատարկ կարգավորում ()
{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 (ՀԻՇԱՏԱԿԱՐԱՆ, 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);
}
դատարկ շրջան ()
{
// Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo
տվիչ = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Ավելացում = 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; }
// Regiao de Codigo para Configurar o Raio
եթե (ավելացում == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
եթե (ավելացում == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd. հստակ (); ConfiguraRaio (); }}
դատարկ ConfiguraRaio ()
{
բայթ RaioRoda = 0;
// Imprimir mensagem para digitar o raio em cm
lcd.setCursor (0, 0); lcd.print («Inserir Raio (սմ)»);
անել
{
lcd.setCursor (6, 1);
Ավելացում = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
եթե (Բարձրացում == 1 && ԲարձրացումԱռաջին == 0)
{RaioRoda = RaioRoda + 1; ԲարձրացումԱռաջ = 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. հստակ ();
EEPROM.write (PosRaio, RaioRoda);
վերադարձ; }
Այս ծածկագրից այն հնարավոր է հաշվարկի ձեր հեռավորությունը ձեր Arduino- ի հետ:
Քայլ 4: Եզրակացություն
Հետևաբար, եթե ցանկանում եք ձեր սեփական PCB- ն, կարող եք ձեռք բերել այս հղումով ՝ PCBWay.com կայքում: Դրա համար կարող եք մուտք գործել կայք, ստեղծել ձեր հաշիվը և ձեռք բերել ձեր սեփական PCB- ները:
Silícios Lab- ը շնորհակալություն է հայտնում UTSOURCE- ին `առաջարկելու էլեկտրոնային բաղադրիչներ այս նախագիծը ստեղծելու համար:
Խորհուրդ ենք տալիս:
Հեծանիվների մեկնարկի դիրքի ցուցիչ Magicbit [Magicblocks] - ից `8 քայլ
Bicycle Kickstand Position Sensor From Magicbit [Magicblocks]. Պարզ DIY նախագիծ ՝ Magicbit- ի միջոցով օգտագործելով Magicbit- ով Kickstand Position Sensor- ը: Մենք օգտագործում ենք magicbit- ը որպես զարգացման տախտակ այս նախագծում, որը հիմնված է ESP32- ի վրա: Հետևաբար, այս նախագծում կարող է օգտագործվել ցանկացած ESP32 տախտակ
Այլընտրանքային RFID բանալին հեծանիվների անվտանգության համար. 7 քայլ (նկարներով)
Այլընտրանքային RFID բանալին հեծանիվների անվտանգության համար. Հեծանիվների անվտանգության համար կա միայն բռնկման կողպեքի անջատիչ: Եվ այն կարող է հեշտությամբ կոտրվել գողի կողմից: Ահա ես գալիս եմ DIY լուծում դրա համար: Դա էժան է և հեշտ է կառուցել: Դա այլընտրանքային RFID բանալին է հեծանիվների անվտանգության համար: Եկեք հասցնենք
DIY rmարթուցիչի հեծանիվների կողպում (հարվածն ակտիվացված է). 5 քայլ (նկարներով)
DIY rmարթուցիչի հեծանիվների կողպում (ցնցումը միացված է). Այս նախագծում ես ձեզ ցույց կտամ, թե ինչպես կարելի է ստեղծել հեծանիվների կողպեք, որը հարվածով ակտիվացված է: Ինչպես անունն է ենթադրում, այն ահազանգ է ստեղծում, երբ ձեր հեծանիվը թույլտվությամբ տեղաշարժվում է: Անապարհին մենք մի քիչ կիմանանք պիեզոելի մասին
Arduino հեծանիվների արագաչափ GPS- ի միջոցով `8 քայլ
Arduino հեծանիվների արագաչափ GPS- ի միջոցով. Այս ձեռնարկում մենք կօգտագործենք Arduino- ն և Visuino- ն ՝ ST7735 էկրանին GPS- ից ընթացիկ հեծանիվների արագությունը ցուցադրելու համար: Դիտեք ցուցադրական տեսանյութ
Էլեկտրական սքեյթբորդի հեռաչափ ՝ 5 քայլ
Հազար դոլար արժողությամբ էլեկտրական սքեյթբորդի էլեկտրական սքեյթբորդի մեծ մասը գալիս է հեռախոսի հավելվածով, որը ցուցադրում է սքեյթբորդի իրական ժամանակի տեղեկատվությունը: Ուրեմն ինչու ոչ