Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W wielu pojazdach znajdują się urządzenia, które obliczają przebytą odległość i są niezbędne do prezentowania informacji kierowcy.
Dzięki tym informacjom możliwe jest monitorowanie odległości przebytej między dwoma punktami, na przykład za pomocą licznika kilometrów pojazdu.
Kieszonkowe dzieci
01 x PCBWay Niestandardowa płytka drukowana
01 x Arduino UNO - UTSOURCE
01 x wyświetlacz LCD 16x2 - UTSOURCE
01 x deska do krojenia chleba - UTSOURCE
01 x zworki drutowe - UTSOURCE
01 x 10kR Potencjometr obrotowy - UTSOURCE
01 x UTSOURCE Kontaktron - UTSOURCE
Dlatego w tym artykule nauczymy Cię, jak złożyć urządzenie do obliczania odległości za pomocą czujnika kontaktronowego.
Krok 1: Projekt
Poniższy projekt został stworzony w celu obliczenia dystansu przebytego przez rower z siłowni. Dodatkowo dowiesz się, jak tworzyć programowanie dla projektu.
Ten projekt ma trzy funkcjonalności:
- Oblicz odległość przebytą rowerem;
- Konfiguracja promienia uruchamiania urządzenia;
- Możliwość dostosowania do każdego roweru.
Aby uzyskać dostęp do tych funkcji, użytkownik użyje trzech przycisków systemu. Każdy przycisk ma swoją funkcjonalność. W systemie mamy następujące przyciski:
Przycisk Przyrostu: Służy do wprowadzania opcji konfiguracji promienia kół i zwiększania wartości promienia;
Przycisk dekrementacji: Służy do zmniejszania opcji konfiguracji promienia kół;
Przycisk Enter: Będzie używany do wstawiania wartości promienia do systemu.
Dodatkowo mamy czujnik kontaktronowy. Jest odpowiedzialny za wykrycie, kiedy koła wykonują pełny obrót. Aby to wykryć, należy zainstalować magnes na kołach.
Kontaktron został przedstawiony na powyższym rysunku.
Krok 2:
Tak więc za każdym razem, gdy magnes zbliży się do czujnika, uruchomi czujnik kontaktronowy. Proces przebiega według następującego równania:
Przebyta odległość = 2 *π * promień * TurnNumber
Dzięki temu równaniu dowiemy się, jaką odległość przebył rower.
W równaniu promień jest wstawiany przez użytkownika, a numer skrętu jest obliczany na podstawie liczby obrotów koła.
Aby wykryć obroty koła, należy zainstalować magnes w kole rowerowym i zainstalować czujnik kontaktronowy w pobliżu koła.
Aby ułatwić ten proces, tworzymy płytkę drukowaną do podłączenia czujnika kontaktronowego i trzech przycisków. Płytka drukowana jest przedstawiona poniżej na poniższym rysunku.
Krok 3:
Jak widać na płytce drukowanej można zobaczyć Arduino Nano. Jest odpowiedzialny za kontrolę wszystkich systemów. Dodatkowo posiadamy 5 złącz JST.
Złącza C1 do C4 służą do podłączenia trzech przycisków i czujnika kontaktronowego. Teraz złącze C5 służy do podłączenia LCD 16x2 I2C.
Dlatego dzięki temu systemowi możesz zainstalować projekt w swoim rowerze i uzyskać wartość przebytej odległości.
W tym celu możesz skorzystać z kodu przedstawionego poniżej.
#włącz #włącz
/*
Pinos de conex?o dos bot?es e sensor kontaktron 8 - Sensor kontaktron 9 - Decremento 12 - Incremento 11 - Enter */
#define PAMIĘĆ 120
#define PosRaio 125
#define ReedSwitch 8
#define BotaoEnterOk 11 #define BotaoIncremento 12 #define BotaoDecremento 9
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
czujnik bool = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
liczba bajtów = 0;
unsigned long int VoltaCompleta = 0;
unsigned long int tempo_atual = 0, ultimo_tempo = 0;
zmiennoprzecinkowa Dystans = 0;
unsigned int raio = 0; pływak Odległość = 0;
pusta konfiguracja()
{ Szeregowy.początek(9600); pinMode(8, WEJŚCIE); pinMode(9, WEJŚCIE); pinMode(10, WEJŚCIE); pinMode(12, WEJŚCIE);
lcd.początek(16, 2);
//Regiao de codigo para configurar o raio da roda do veiculo
if(EEPROM.odczyt(PAMIĘĆ) != 73) { ConfiguraRaio(); EEPROM.zapis(PAMIĘĆ, 73); }
lcd.setCursor(3, 0);
lcd.print("Odległość"); lcd.setCursor(6, 1); lcd.print(Distance);
lcd.setCursor(14, 1);
lcd.print("km");
raio = EEPROM.read(PosRaio);
}
pusta pętla()
{
//Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo
czujnik = digitalRead (ReedSwitch); Dekrementacja = digitalRead (BotaoDekremento); Przyrost = digitalRead (BotaoIncremento);
//Regiao de codigo para acumular a distancia percorrida
if(czujnik == 0 && estado_anterior == 1) { VoltaCompleta++;
Odległość = (liczba zmiennoprzecinkowa)(2*3,14*stosunek*VoltaCompleta)/100000,0;
lcd.setCursor(0, 1);
lcd.print(““); lcd.setCursor(6, 1); lcd.print(Distance);
lcd.setCursor(14, 1);
lcd.print(„km”);
stan_przedni = 0;
}
if(czujnik == 1 && estado_anterior == 0)
{ stan_przedni = 1; }
//Regiao de Codigo para Configurar o Raio
if(Przyrost == 1 && EstadoAnteriorIncremento == 0) { EstadoAnteriorIncremento = 1; }
if(Przyrost == 0 && StanPoprzedniPrzyrosto == 1)
{ StanPoprzedniPrzyrost = 0; lcd.clear(); KonfigurujRaio(); } }
void KonfigurujRaio()
{
bajt RaioRoda = 0;
//Imprimir mensagem para digitar lub raio em cm
lcd.setCursor(0, 0); lcd.print("Inserir Raio(cm)");
robić
{
lcd.setCursor(6, 1);
Przyrost = digitalRead (BotaoIncremento);
Dekrementacja = digitalRead (BotaoDekremento); BotaoEnter = digitalRead (BotaoEnterOk);
if(Przyrost == 1 && PrzyrostoPoprzedni == 0)
{ RaioRoda = RaioRoda + 1; Przyrost przedprzedni = 1; }
if(Przyrost == 0 && PrzyrostoPoprzedni == 1)
{ PrzyrostPoprzedni = 0; }
if(Decremento == 1 && DecrementoAnterior == 0)
{ RaioRoda = RaioRoda - 1; Dekrementacja przednia = 1; }
if(Decremento == 0 && DecrementoAnterior == 1)
{ DekrementacjaPoprzednia = 0; }
lcd.setCursor(6, 1);
lcd.print(RaioRoda);
} while(BotaoEnter == 0);
lcd.clear();
EEPROM.write(PosRaio, RaioRoda);
powrót; }
Z tego kodu prawdopodobnie obliczy odległość za pomocą Arduino.
Krok 4: Wniosek
Dlatego jeśli chcesz mieć własną płytkę drukowaną, możesz ją uzyskać za pośrednictwem tego linku na stronie PCBWay.com. W tym celu możesz wejść na stronę internetową, założyć konto i uzyskać własne PCB.
Laboratorium Silícios dziękuje firmie UTSOURCE za zaoferowanie komponentów elektronicznych do stworzenia tego projektu.