İçindekiler:
Video: PCBWay Arduino Bisiklet Kilometre Sayacı: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Birçok araçta kat edilen mesafeyi hesaplayan ve sürücüye bilgi sunmak için gerekli olan cihazlar bulunmaktadır.
Böylece bu bilgiler aracılığıyla, örneğin araç kilometre sayacı aracılığıyla iki nokta arasında kat edilen mesafeyi izlemek mümkündür.
Gereçler
01 x PCBWay Özel PCB
01 x Arduino UNO - UTSOURCE
01 x LCD 16x2 Ekran - UTSOURCE
01 x Breadboard - UTSOURCE
01 x Tel Jumper'lar - UTSOURCE
01 x 10kR Döner Potansiyometre - UTSOURCE
01 x UTSOURCE Manyetik Anahtar - UTSOURCE
Bu nedenle, bu makale aracılığıyla, reed switch sensörünü kullanarak mesafe hesaplama cihazınızı nasıl monte edeceğinizi öğreteceğiz.
Adım 1: Proje
Spor salonunun bisikletinin kat ettiği mesafeyi hesaplamak için aşağıdaki proje oluşturuldu. Ayrıca, proje için programlamayı nasıl oluşturacağınızı öğreneceksiniz.
Bu projenin üç işlevi vardır:
- Bisikletle kat edilen mesafeyi hesaplayın;
- Cihaz Başlangıç Yarıçap Yapılandırması;
- Her bisiklete uyarlanabilir.
Bu işlevlere erişmek için kullanıcı, sistemin üç düğmesini kullanacaktır. Her düğme sizin işlevselliğinize sahiptir. Sistemde aşağıdaki butonlara sahibiz:
Arttırma Düğmesi: Tekerleklerin yarıçapını yapılandırma ve yarıçap değerini artırma seçeneğine girmek için kullanılacaktır;
Azaltma Düğmesi: Tekerleklerin yarıçapını yapılandırma seçeneğini azaltmak için kullanılacaktır;
Enter Butonu: Sisteme yarıçap değerini girmek için kullanılacaktır.
Ayrıca Reed Switch Sensörümüz var. Tekerleklerin tam bir dönüş yaptığını algılamaktan sorumludur. Bunu tespit etmek için tekerleklere bir mıknatıs takmak gerekir.
Reed Switch yukarıdaki Şekilde sunulmuştur.
Adım 2:
Böylece mıknatıs sensöre her yaklaştığında Manyetik Anahtar sensörünü harekete geçirecektir. Süreç aşağıdaki denklemle çalışır:
Katedilen Mesafe = 2 *π * yarıçap * TurnNumber
Bu denklem sayesinde, bisikletin kat ettiği mesafenin ne olduğunu bileceğiz.
Denklemde, yarıçap kullanıcı tarafından girilir ve Dönüş Numarası, tekerleğin dönüş sayısı ile hesaplanır.
Ve tekerleğin dönüşlerini algılamak için bisiklet tekerleğine bir mıknatıs takmak ve Tekerleğin yanına Manyetik Anahtar Sensörünü takmak gerekir.
İşlemi kolaylaştırmak için Reed Switch Sensörü ve üç düğmeyi bağlamak için bir baskılı devre kartı oluşturuyoruz. Baskılı Devre Kartı aşağıdaki Şekilde sunulmuştur.
Aşama 3:
PCB'de gösterildiği gibi Arduino Nano'yu görmek mümkündür. Tüm sistemlerin kontrolünden sorumludur. Ayrıca 5 adet JST konektörümüz var.
Üç düğmeyi ve Manyetik Anahtar Sensörünü bağlamak için C1 - C4 konektörleri kullanılır. Şimdi, LCD 16x2 I2C'yi bağlamak için C5 Konektörü kullanılıyor.
Dolayısıyla bu sistem üzerinden projeyi bisikletinize yükleyebilir ve kat edilen mesafe değerini alabilirsiniz.
Bunun için aşağıda verilen kodu kullanabilirsiniz.
#include #include
/*
Pinos de conex?o dos bot?es e sensör manyetik anahtarı 8 - Sensör Manyetik Anahtarı 9 - Azaltma 12 - Artış 11 - Gir */
#define MEMORIA 120
#define PosRaio 125
#define ReedSwitch 8
#define BotaoEnterOk 11 #define BotaoIncremento 12 #define BotaoDecreaseo 9
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
bool sensörü = 0, estado_anterior = 0, Artış = 0, Azalan = 0;
bool ArtanAnterior = 0, DecreaseoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
bayt devamı = 0;
unsigned long int VoltaCompleta = 0;
unsigned long int tempo_atual = 0, ultimo_tempo = 0;
kayan DistKm = 0;
imzasız int raio = 0; şamandıra Uzaklık = 0;
geçersiz kurulum()
{ Serial.başlangıç(9600); pinMode(8, GİRİŞ); pinMode(9, GİRİŞ); pinMode(10, GİRİŞ); pinMode(12, GİRİŞ);
lcd.başla(16, 2);
//Regiao de codigo para configurar o raio da roda do veiculo
if(EEPROM.read(MEMORIA) != 73) { ConfiguraRaio(); EEPROM.write(MEMORIA, 73); }
lcd.setCursor(3, 0);
lcd.print(“Distansya”); lcd.setCursor(6, 1); lcd.print(Distancia);
lcd.setCursor(14, 1);
lcd.print(“km”);
raio = EEPROM.read(PosRaio);
}
boşluk döngüsü()
{
//Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo
sensör = digitalRead(ReedSwitch); Azaltma = digitalRead(BotaoAzaltma); Artış = digitalRead(BotaoIncremento);
//Regiao de codigo para acumular a distancia percorrida
if(sensör == 0 && estado_anterior == 1) { VoltaCompleta++;
Uzaklık = (yüzer)(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(“km”);
estado_anterior = 0;
}
if(sensör == 1 && estado_anterior == 0)
{ estado_anterior = 1; }
//Regiao de Codigo para Configurar o Raio
if(Artış == 1 && EstadoAnteriorIncremento == 0) { EstadoAnteriorIncremento = 1; }
if(Artış == 0 && EstadoAnteriorIncremento == 1)
{ EstadoAnteriorIncremento = 0; lcd.clear(); ConfiguraRaio(); } }
geçersiz ConfiguraRaio()
{
bayt RaioRoda = 0;
//Imprimir mensagem para digitar veya raio em cm
lcd.setCursor(0, 0); lcd.print(“Inserir Raio(cm)”);
yapmak
{
lcd.setCursor(6, 1);
Artış = digitalRead(BotaoIncremento);
Azaltma = digitalRead(BotaoAzaltma); BotaoEnter = digitalRead(BotaoEnterOk);
if(Artan == 1 && ArtanÖn == 0)
{ RaioRoda = RaioRoda + 1; Artış Ön = 1; }
if(Artan == 0 && ArtanÖn == 1)
{ ArtanÖn = 0; }
if(Azaltma == 1 && AzaltmaÖn == 0)
{ RaioRoda = RaioRoda - 1; AzalanÖn = 1; }
if(Azaltma == 0 && AzaltmaÖn == 1)
{ AzaltmaÖn = 0; }
lcd.setCursor(6, 1);
lcd.print(RaioRoda);
}while(BotaoEnter == 0);
lcd.clear();
EEPROM.write(PosRaio, RaioRoda);
dönüş; }
Bu koddan muhtemelen Arduino'nuzla olan mesafenizi hesaplayacaktır.
4. Adım: Sonuç
Bu nedenle, kendi PCB'nizi istiyorsanız, PCBWay.com web sitesindeki bu bağlantıdan edinebilirsiniz. Bunun için web sitesine erişebilir, hesabınızı oluşturabilir ve kendi PCB'lerinizi edinebilirsiniz.
Silícios Laboratuvarı, bu projeyi oluşturmak için elektronik bileşenleri sunduğu için UTSOURCE'a teşekkür eder.
Önerilen:
Adım Sayacı Nasıl Yapılır?: 3 Adım (Resimlerle)
Adım Sayacı Nasıl Yapılır?: Yürümek, koşmak, bisiklete binmek, badminton oynamak gibi birçok sporda iyi performans gösterirdim. Binmeyi çok uzun zaman önce dolaşmak için seviyorum. Pekala, iri göbeğime bakın……Her neyse, egzersize yeniden başlamaya karar verdim. Hangi ekipmanı hazırlamalıyım?
Arduino Kilometre Sayacı Oluşturma - Bölüm I: 4 Adım
Arduino Kilometre Sayacı Oluşturma - Bölüm I: Bisikletçiler ve egzersiz bisikleti kullanıcılarının hızlarını ve kat ettikleri mesafeyi ölçmeleri oldukça yaygındır. Bunun için kilometre sayacı olarak bilinen bir cihaza ihtiyacımız var. Kilometre sayacı bu değişkenleri ölçmek ve bu bilgileri iletmekle görevli
Bisiklet Kilometre Göstergesi: 10 Adım (Resimlerle)
Bisiklet Kilometre Ekranı: Nedir? Adından da anlaşılacağı gibi, bu projede bisikletiniz için hem hız göstergesi hem de kilometre sayacından oluşan bir ekran oluşturmayı öğreneceksiniz. Gerçek zamanlı hızı ve kat edilen mesafeyi gösterir. Bu projenin toplam maliyeti aro geliyor
GPS Kilometre: 4 Adım (Resimlerle)
GPS Hız Göstergesi: Normalde kullandığım şirket arabam "küçük" bir "küçük"; zaman zaman problemler, sürüş sırasında hız göstergesi 0 Km/s'ye düşüyor (bir süre sonra tekrar devam ediyor). Normalde bu büyük bir sorun değil çünkü araba kullanmayı biliyorsanız,
Elektrikli Kaykay Kilometre Sayacı: 5 Adım
Elektrikli Kaykay Kilometre Sayacı: Giriş Bin dolar civarındaki çoğu üst düzey elektrikli kaykay, kaykay gerçek zamanlı bilgilerini görüntüleyen bir telefon uygulamasıyla birlikte gelir ve ne yazık ki, Çin'den daha uygun maliyetli kaykaylar bunlarla birlikte gelmez. Yani neden olmasın