Агуулгын хүснэгт:
Видео: PCBWay Arduino дугуйн одометр: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Олон тээврийн хэрэгсэлд аялсан зайг тооцоолох төхөөрөмжүүд байдаг бөгөөд жолоочид мэдээлэл өгөхөд зайлшгүй шаардлагатай байдаг.
Ийнхүү энэхүү мэдээллээр дамжуулан хоёр цэгийн хоорондох замыг, жишээлбэл, машины одометрээр дамжуулан хянах боломжтой.
Хангамж
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 -д талархал илэрхийлж байна.
Зөвлөмж болгож буй:
Унадаг дугуйн гэрэл: 7 алхам
Унадаг дугуйн гэрэл: Энэхүү төсөлд би шөнийн цагаар таны замыг гэрэлтүүлж, хаашаа явахаа зааж өгөх боломжтой унадаг дугуйн гэрлийг хэрхэн яаж хийхийг харуулах болно
CD4017 дээр суурилсан олон үйлдэлт дугуйн арын гэрэлтүүлэг: 15 алхам
CD4017 дээр суурилсан олон үйлдэлт унадаг дугуйн арын гэрэлтүүлэг: Энэ хэлхээг LED chaser гэж нэрлэгддэг маш түгээмэл CD4017 LED хэлхээг ашигласнаар бүтээсэн боловч хяналтын кабелийг янз бүрийн аргаар залгах замаар LED анивчих янз бүрийн аргыг дэмжиж болох юм. харааны үзүүлэлт
Унадаг дугуйн эргэх энгийн дохиог бүтээх: 11 алхам (зурагтай)
Унадаг дугуйн эргэх энгийн дохиог бүтээгээрэй: Уналт эхлэхтэй зэрэгцэн температур ижил байж болох ч өдрүүд богиноссон гэдгийг ойлгоход заримдаа хэцүү байдаг. Энэ нь хүн бүрт тохиолдсон- та үдээс хойш дугуйгаар аялах гэж байна, гэхдээ буцахаасаа өмнө харанхуй болж, та
GPS ашиглан Arduino унадаг дугуйн хурд хэмжигч: 8 алхам
GPS ашиглан Arduino унадаг дугуйн хурд хэмжигч: Энэхүү гарын авлагад бид Arduino болон Visuino ашиглан ST7735 дэлгэц дээр GPS -ээс унадаг дугуйн хурдыг харуулах болно
Цахилгаан тэшүүрийн одометр: 5 алхам
Цахилгаан тэшүүрийн одометр: Танилцуулга Мянган долларын үнэтэй дээд зэргийн чанартай цахилгаан тэшүүр нь скейтбордын бодит цагийн мэдээллийг харуулдаг утасны апп дагалддаг бөгөөд харамсалтай нь Хятадаас илүү хэмнэлттэй скейтбордууд дагалддаггүй. Тэгвэл яагаад болохгүй гэж