» kierteet » DIY-ideoita »Skootterin nopeusmittari

Skootterin nopeusmittari

Esitän huomioni seuraavaan käsityötnimittäin skootterin nopeusmittari.
Tausta on seuraava: Fyysisen passiivisuuden voittamisen iloksi Rollersurf-levy ostettiin. Koska lautalla on vain kaksi pyörää, sen ajaminen vaatii tasapainoa, voit vain seistä siinä liikkeessä. Varmistuttuaan, että jatkuvan noin 700 metrin etäisyyden jälkeen pyörät näyttivät juuttuneen hiekkaan ja liikkuvuus oli erittäin vaikeaa, käännyin internetin ja asiantuntijoiden puoleen. Kävi selväksi, että pyörämateriaalin liiallisen pehmeyden takia pyörämateriaalini on erittäin kuuma ja pehmennetty, kosketus tien kanssa kasvaa ja pyörän lisääntynyt viskositeetti vaikeuttaa vääntömomentin hallintaa ja luomista. Sen jälkeen kun pyörät on korvattu kovemmalla telalla, levyt kasvoivat huomattavasti, samoin kuin helppo hallittavuus. Samalla pitkällä radalla tuttua jarrutusta ei tapahtunut, nopeus jatkoi nousuaan, mikä johti epämiellyttävään pudotukseen.
Ajatus mitata nopeutta ja rajoittaa itseäsi kiihtyvyydessä tuli todennäköisesti pudotuksen jälkeen :) Vuodesta 2014 oli prototyyppi, jossa tällainen laite luotiin, mutta erityyppiselle levylle, jossa pyörän pyörintotaso ei liiku paljon suhteessa lautaan ja elektroniikka voidaan asettaa itse levylle kytkemällä se pyörän anturiin joustavalla langalla.
Minun tapauksessani sekä anturia että elektroniikkaa ei tule asettaa pyöränkiinnikkeeseen, koska kiinnike (pyörä) pyörii akselinsa ympäri pyöreällä tavalla suhteessa levyn tasoon.
Rullalautailijoiden ulkonäkö


Toteutumista. BlueTooth valitsi siirtospesifikaation tämän tekniikan saatavuuden ja läsnäolon vuoksi Samsung SM-V700-älykellosta. BlueTooth-moduuli valittiin ohjaimeksi HC-05 Työläs Mini Pro, mutta myöhemmin korvattu AtMega168A -ohjaimella, valittiin 500mAh Li-Pol-akku, joka vastaa pyörän mittoja ja arvioitua virrankulutusta. Pyörimisanturina valittiin Hall-anturi SS49E, prototyypistä poiketen, toiminnallisesti vakaammaksi. Vastaavasti luonnos modernisoitiin hieman. Pyörännapaan asennetun magneetin kulkua analysoidaan kahdella pisteellä: ensimmäinen käyttö - magneetti tulee herkkyysvyöhykkeelle - “ryhmä” ja toinen aktivointi - magneetti poistuu anturin herkkyysalueelta - “laskeutuminen”.Ohjain laskee nämä tapahtumat tietyn ajanjakson aikana - yhden sekunnin ja lähettää vastaanotetun numeron viestintäkanavan kautta Android-laitteelle analysoidessaan samalla tulevia signaaleja. Ohjelma moduulin vastaanottamista, näyttämistä ja hallintaa varten luotiin prototyypin perusteella Android Studio -ympäristössä. Se tarjoaa joitain parannuksia melun häiriöiden lisäämiseen. Kuten prototyyppi, se laskee nopeuden ja etäisyyden. "Ajovalojen" - liikkeessä eteenpäin suunnatun LEDin - kytkemisen päälle / pois päältä hyödyllinen toiminto tallennetaan myös, kuten näyttää.
Estä ilman suojaa

Näkyvä ylhäällä vasemmalla: punainen latauksen peruutussuojauksen merkkivalo, lataus-työn kytkin, akku; alla: vihreä BT-moduuli, AtMega168A-mikrokontrolleri, jossa on uppopainotetut liittimet, on liimattu selkänojassa kotelon yläosan kanssa.
Lokeron kansi magneettianturilla

Pyörän kanssa koottu moduuli näyttää tältä:
Estä pyörä

Kuvassa näkyy virtakytkin, laturin kytkentäkoskettimet, laitteen toisella puolella yllä olevassa kulmassa - LED - "ajovalo".
Prototyyppiohjelmaa täydennettiin kyvyllä antaa ääni- ja tärinösignaaleja erilaisissa tapahtumissa (ajovalojen kytkeminen päälle / pois, hälytyssignaali, kun ylitetään määritetty enimmäisnopeusrajoitus).
Testaus pöydällä - alla olevassa kuvassa, ei vielä testattu tiellä, odottaen kesää :)
Testaus pöydällä

Android Studio -projektilla on suuri määrä, postitan sen jonnekin linkin avulla. Jos on kiinnostusta, tuon luonnoksen kommentteineen.
Kiinnostuksen läsnä ollessa olen valmis jakamaan ideoita, kokemuksia.
Kysymys \ aihe julkaistaan ​​automaattisesti sosiaalisessa mediassa. Sivustoverkko - pysy ajan tasalla vastauksista siellä:

Soveltuu aiheeseen

Aiheeseen liittyvät aiheet

Lisää kommentti

    • hymyillähymyileexaxakunnossadontknowyahoonea
      pomonaarmutyperyskylläkyllä-kylläaggressiivinensalaisuus
      anteeksitanssidance2dance3anteeksihelpjuomat
      pysäytysystäväthyvägoodgoodpillipyörtyäkieli
      savutaputusCrayjulistaapilkallinenDon-t_mentiondownload
      lämpöirefullaugh1MDAkokousmoskingnegatiivinen
      not_ipopcornrangaistaluettupelästyttääpelottaaetsi
      kiusatathank_youtämäto_clueumnikakuuttisuostua
      huonoBeeeblack_eyeblum3punastuaylpeilläikävystyminen
      sensuroituhassutussecret2uhatavoittoyusun_bespectacled
      SHOKrespektlolprevedtervetuloakrutoyya_za
      ya_dobryiauttajane_huliganne_othodifludkieltolähellä
1 kommentti
Kirjailija
ATMega168A-firmware-luonnos:
/*
* Mega168 !!!
*/
#include "timer-api.h"

int Napaisuus = -1; // tulosignaalin pulssin napaisuus (minun tapauksessani negatiivinen
int-kynnysarvo = 500; // lukupulssin liipaisukynnys 1/2 Vcc = 512
int CountTurn = 0; // tallenna kierrosten lukumäärä tilikaudelle
int LED = 13; // LED kytketty PB5-nastaan
int InputSignal = A5; // tulo Hall-anturille
int TurnNumber = 0; // kertynyt kierrosluku
int DeltaT = 28; // viive eteenpäin pulssin lopun määrittämiseen vakauden saavuttamiseksi
bool Tick = väärä; // alkuarvo, ei vielä valintaa

tyhjä asennus ()
{
Serial.begin (9600); // virheenkorjausta varten
timer_init_ISR_2Hz (TIMER_DEFAULT); // saat 1 sekunnin viiveen !!!
pinMode (LED, OUTPUT); // signaalin lähtö taustavaloon (ajovalo)
pinMode (InputSignal, INPUT); // tulo Hall-anturille
}

void loop () // tässä käsittelemme anturin ja ajovalojen ohjauksen signaaleja
{
if (Tick) // lupa suorittaa if-lohko kiinteällä aikavälillä
// lähetä kierrosten lukumäärä
{
Serial.println (merkkijono (CountTurn) + ";"); // virheenkorjausta varten
Tick ​​= false; // valmistele jälki. aikaväli
CountTurn = 0; // nolla kierrosluku älypuhelimeen siirron jälkeen
}

muuten // jos rasti ei ole vielä saapunut, keräämme kierrosten määrän, kytkemme ajovalot päälle / pois päältä
{
// kierrosten kertyminen
if (analogRead (InputSignal) {
viivytys (DeltaT); // älä lue vielä mitään
if (analogRead (InputSignal)> kynnysarvo) // takareuna on tullut
{
CountTurn ++; // kerää kierrosten lukumäärä takareunan saapuessa
}
}

// ajovalojen hallinta
if (Serial.avable ()> 0) // lue merkki BTSerialista
{
char-komento = Serial.read ();
kytkin (komento)
{
tapaus '0': digitalWrite (LED, LOW); break; // kytke ajovalo päälle
tapaus '1': digitalWrite (LED, HIGH); break; // Sammuta ajovalo
}
}
}
}

void timer_handle_interrupts (int timer)
{
Tick ​​= totta;
}

Suosittelemme lukemaan:

Anna se älypuhelimelle ...