Агуулгын хүснэгт:

PCBWay Arduino дугуйн одометр: 4 алхам
PCBWay Arduino дугуйн одометр: 4 алхам

Видео: PCBWay Arduino дугуйн одометр: 4 алхам

Видео: PCBWay Arduino дугуйн одометр: 4 алхам
Видео: Универсальный шилд Arduino + Siemens / Изготовление, сборка, применение! 2024, Долдугаар сарын
Anonim
PCBWay Arduino дугуйн одометр
PCBWay Arduino дугуйн одометр

Олон тээврийн хэрэгсэлд аялсан зайг тооцоолох төхөөрөмжүүд байдаг бөгөөд жолоочид мэдээлэл өгөхөд зайлшгүй шаардлагатай байдаг.

Ийнхүү энэхүү мэдээллээр дамжуулан хоёр цэгийн хоорондох замыг, жишээлбэл, машины одометрээр дамжуулан хянах боломжтой.

Хангамж

01 х ПХБ -ийн өөрчилсөн ПХБ

01 x Arduino UNO - UTSOURCE

01 x LCD 16x2 дэлгэц - UTSOURCE

01 x Breadboard - UTSOURCE

01 х утсан холбогч - UTSOURCE

01 x 10kR Ротари потенциометр - UTSOURCE

01 x UTSOURCE Reed Switch - UTSOURCE

Тиймээс, энэхүү нийтлэлээр бид зэгс шилжүүлэгч мэдрэгч ашиглан зайгаа тооцоолох төхөөрөмжөө хэрхэн угсрахыг танд заах болно.

Алхам 1: Төсөл

Төсөл
Төсөл

Спорт заалны унадаг дугуйгаар аялсан зайг тооцоолохын тулд дараах төслийг бүтээжээ. Үүнээс гадна, та төслийн програмчлалыг хэрхэн бий болгох талаар сурах болно.

Энэхүү төсөл нь гурван функцтэй:

  • Унадаг дугуйгаар явсан зайг тооцоолох;
  • Төхөөрөмжийг эхлүүлэх радиусын тохиргоо;
  • Ямар ч унадаг дугуйнд дасан зохицох боломжтой.

Эдгээр функцэд нэвтрэхийн тулд хэрэглэгч системийн гурван товчлуурыг ашиглах болно. Товчлуур бүр өөрийн онцлог шинж чанартай байдаг. Системд бидэнд дараах товчлуурууд байна.

Нэмэх товчлуур: Энэ нь дугуйны радиусыг тохируулах, радиусын утгыг нэмэгдүүлэх сонголтод ашиглагдах болно;

Буурах товчлуур: Энэ нь дугуйны радиусыг тохируулах сонголтыг багасгахад ашиглагдана.

Оруулах товчлуур: Энэ нь радиусын утгыг системд оруулахад ашиглагдана.

Үүнээс гадна бид Reed Switch мэдрэгчтэй. Дугуйнууд бүрэн эргэлт хийх үед илрүүлэх үүрэгтэй. Үүнийг илрүүлэхийн тулд дугуйнд соронз суурилуулах шаардлагатай.

Reed Switch -ийг дээрх зурагт үзүүлэв.

Алхам 2:

Тиймээс соронз мэдрэгч рүү ойртох бүрт Reed Switch мэдрэгчийг ажиллуулах болно. Уг процесс нь дараахь тэгшитгэлээр явагдана.

Аялсан зай = 2 * π * радиус * TurnNumber

Энэхүү тэгшитгэлээр бид унадаг дугуйгаар ямар зай туулж байгааг мэдэх болно.

Тэгшитгэлд радиусыг хэрэглэгч оруулсан бөгөөд эргэлтийн дугаарыг дугуйны эргэлтийн тоогоор тооцоолно.

Дугуйны эргэлтийг илрүүлэхийн тулд дугуйн дугуйн дээр соронз суурилуулах, Дугуйны ойролцоо зэгс солих мэдрэгч суурилуулах шаардлагатай.

Процессыг хөнгөвчлөхийн тулд бид Reed Switch Sensor болон гурван товчлуурыг холбох хэвлэмэл хэлхээний самбарыг бий болгодог. Хэвлэсэн хэлхээний самбарыг доорх зурагт үзүүлэв.

Алхам 3:

Зураг
Зураг

ПХБ -д харуулснаар Arduino Nano -ийг харах боломжтой. Бүх системийг хянах үүрэгтэй. Нэмж хэлэхэд бид 5 JST холбогчтой.

C1 хүртэл C4 холбогчийг гурван товчлуур болон Reed Switch мэдрэгчийг холбоход ашигладаг. Одоо 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 */

#санах ойг тодорхойлох 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;

байт cont = 0;

гарын үсэггүй урт int VoltaCompleta = 0;

тэмдэггүй урт int tempo_atual = 0, ultimo_tempo = 0;

float 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);

// Regioo codigo програмыг тохируулах эсвэл тохируулах боломжтой

if (EEPROM.read (MEMORIA)! = 73) {ConfiguraRaio (); EEPROM.write (MEMORIA, 73); }

lcd.setCursor (3, 0);

lcd.print ("Distancia"); lcd.setCursor (6, 1); lcd.хэвлэх (Distancia);

lcd.setCursor (14, 1);

lcd.print ("км");

raio = EEPROM.read (PosRaio);

}

хоосон давталт ()

{

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

мэдрэгч = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Incremento = digitalRead (BotaoIncremento);

// Regiao de codigo para acumular a distancia percorrida

хэрэв (мэдрэгч == 0 && estado_anterior == 1) {VoltaCompleta ++;

Distancia = (хөвөх) (2*3.14*raio*VoltaCompleta) /100000.0;

lcd.setCursor (0, 1);

lcd.print (""); lcd.setCursor (6, 1); lcd.хэвлэх (Distancia);

lcd.setCursor (14, 1);

lcd.print ("км");

estado_anterior = 0;

}

хэрэв (мэдрэгч == 1 && estado_anterior == 0)

{estado_anterior = 1; }

// Regioo de Codigo, Configurar o Raio

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

хэрэв (Incremento == 0 && EstadoAnteriorIncremento == 1)

{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}

хүчингүй ConfiguraRaio ()

{

байт RaioRoda = 0;

// Imprimir mensagem нь орон нутгийн цифрүүд юм

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 Lab нь энэхүү төслийг бүтээх электрон бүрэлдэхүүн хэсгүүдийг санал болгосонд UTSOURCE -д талархал илэрхийлж байна.

Зөвлөмж болгож буй: