Innholdsfortegnelse:

Gjedde - Kjør tryggere, kjør smartere, kjør en gjedde !: 5 trinn
Gjedde - Kjør tryggere, kjør smartere, kjør en gjedde !: 5 trinn

Video: Gjedde - Kjør tryggere, kjør smartere, kjør en gjedde !: 5 trinn

Video: Gjedde - Kjør tryggere, kjør smartere, kjør en gjedde !: 5 trinn
Video: NYTTÅRS PANNEKAKER DE DEISTE. Oppskrift på pannekaker med kjøtt. Kjøttsaus med rød kaviar. 2024, Desember
Anonim
Gjedde - Kjør tryggere, kjør smartere, kjør en gjedde!
Gjedde - Kjør tryggere, kjør smartere, kjør en gjedde!

Velkommen til prosjektet mitt som heter Pike!

Dette er et prosjekt som en del av min utdannelse. Jeg er student NMCT på Howest i Belgia. Målet var å gjøre noe smart ved å bruke en Raspberry Pi. Vi hadde full frihet der vi ønsket å gjøre smart.

For meg var det et enkelt valg å gjøre sykkelen litt smartere. Jeg bor på et sted hvor sykkel fører meg raskere til destinasjonen min i byen.

Jeg falt også med sykkelen en gang. Jeg brakk ellbuen. Jeg falt ned fordi jeg pekte på sjåføren bak meg at jeg ville gå rett. Veien var glatt og jeg mistet kontrollen fordi jeg bare hadde en hånd på rattet. Derfor var min første idé å feste retningsindikatorer til sykkelen min. Derfra begynte jeg å tenke på hva annet jeg kunne legge til, så jeg fant på GPS-sporing slik at du senere kan se hvilken rute du tok.

Så hva kan gjedden gjøre?

Gjedda vil holde oversikt over kjøreøktene dine. Den vil holde oversikt over hvilken rute du tok, den beregner gjennomsnittshastigheten og distansen du har kjørt. Etter hver økt kan du deretter logge inn på nettstedet for å sjekke hvor og hvordan turen var. Vi vil også lage noe slik at du kan velge hvem som skal sykle, slik at flere kan bruke gjedden din hvis de vil!

Trinn 1: Delene

Delene
Delene

Så åpenbart må du vite hva du trenger for å gjenskape prosjektet mitt. Før vi begynner vil jeg si at dette prosjektet ikke akkurat var billig. Jeg kjøpte også ledninger i en lokal butikk som var overpriset. Du kan kjøpe dem online for et par euro/dollar (som jeg anbefaler deg å gjøre). Jeg hadde ikke tid til å vente. Derfor kjøpte jeg dem fra min lokale butikk til en høy pris.

Handlelisten

- Bringebær Pi

- Kabler

- Powerbank vil gjøre så lenge det gir din Pi nok strøm

- Maxxter smarttelefonholder (i utgangspunktet den billigste du finner …)

- Maxxter smarttelefonholder (de hvite sirkulære er også veldig billige å passe til plastrørene mine)

- Plastrør (boret et hull i det for å passe til knappene som passer i smarttelefonholderen for å feste på rattet)

- Knapper*

- 6x 220 Ω motstander

- 1x 5K Ω motstand

- LCD-skjerm

- DS18B20 One Wire Temperature Sensor

- Adafruit GPS-modul Ultimate Breakout 66 Channel

- GPS -antenne - Ekstern aktiv antenne - 3-5V 28db med 5 meter kabel SMA (for å forsterke GPS -signal)

- uFLto SMA-adapter (for å koble ekstra antenne til Adafruit GPS-modul)

Merknader:

* De du ser på bildene er metall, kanskje ikke de mest ideelle, men det var de de hadde i min lokale butikk. Du kan gå helt vanntette knapper, men de var 15 € stykket som jeg syntes var for dyrt for en knapp. Du kan kjøpe hvilken knapp du vil, så lenge det fungerer med et pull up -system, vil det gå bra.

Trinn 2: Koble alt opp

Koble alt opp
Koble alt opp
Koble alt opp
Koble alt opp

Det er ikke så vanskelig. Siden GPS -modulen er koblet til med USB. Du kan se på bildet ovenfor at du kan matche fargene med kablene på USB -adapteren. Knappene og lysdiodene er koblet til 220 Ω. DS18B20 temperatursensor er koblet til en 5K Ω motstand.

Trinn 3: La oss konfigurere din Raspberry Pi

La oss konfigurere din Raspberry Pi!
La oss konfigurere din Raspberry Pi!

Først trenger du Raspbian som du kan lære her, og deretter må du følge trinnene i dette depotet.

Min Database -tidsplan er minimal. Den inneholder 4 tabeller:

  1. tbluser

    1. UserID (tinyint, 2) AUTO INCREMENT, UNSIGNED
    2. Brukernavn (varchar, 175)
    3. UserLogin (varchar, 180)
    4. UserPassword (varchar, 255)
    5. UserActive (tinyint, 1) UNSIGNED
  2. tblsession

    1. SessionID (int, 10) AUTO INCREMENT, UNSIGNED
    2. Sesjonsdato (dato)
    3. Bruker-ID
  3. tblsensor

    1. SensorID (tinyint, 3) AUTO INCREMENT, UNSIGNED
    2. Sensornavn (varchar, 150)
  4. tblhistorie

    1. HistoryID (bigint, 20) AUTO INCREMENT, UNSIGNED
    2. SensorID
    3. Øktnummer
    4. HistoryValue (varchar, 255)
    5. HistoryTime (tid, 3)

Men du kan også ta en titt på.sql dump -filen

Trinn 4: La oss starte kodingen

La oss begynne å kode
La oss begynne å kode

Du finner koden min for å få prosjektet til å fungere her.

GPS

Det er veldig enkelt å komme i gang med GPS -modulen. Alt du trenger å gjøre er å installere gpsd-py3-pakken i Python-miljøet. Deretter kan du bruke dette biblioteket til å gjøre livet ditt enklere. Du kan bruke kodeeksemplene for å hente data som lengdegrad, breddegrad, hastighet, etc. fra GPS -en din.

LCD-skjerm

For å få LCD -skjermen til å fungere må du installere biblioteket fra Adafruit. Kodingseksempler finner du her.

DS18B20 One Wire Temperature Sensor

For å finne sensoren med én ledning må du gjøre litt mer arbeid. Først av alt må vi aktivere buss med én ledning. Følg trinnene for å gjøre dette:

  1. sudo raspi-config
  2. Grensesnittalternativer
  3. 1-Wire

For å begynne å lese dataene fra sensoren må vi vite hvordan den ene ledningen vår kalles. Til denne typen i cd/sys/bus/w1/devices/

Du vil se to enheter, den ene er Raspberry Pi selv, og den andre skal se ut omtrent 28-0 … osv. Vel, den lange rekken med tall og bokstaver er hvordan du kan lese data i Python. For å lese data i python må du åpne dem som en fil. Så banen for å åpne filen skal se omtrent slik ut:/sys/bus/w1/devices/28-04177032d4ff/w1_slave.

Knapper og lysdioder

Dette er grunnleggende funksjoner, du kan se på koden min i denne mappen Klasser.

SQL-setninger

Nesten hver setning er grunnleggende SQL -setninger. Imidlertid vil jeg gi en liten forklaring på hvordan jeg lagret sensorene mine verdiene. Jeg la manuelt til sensorene mine i tblsensorene mine. Så jeg visste hvilken sensor som hadde hvilken ID. Så jeg holder orden på lengdegrad, breddegrad og hastighet. For hver verdi har jeg laget en annen funksjon. Jeg ville bare komme med 3 kvl setninger som er de samme, men avhengig av hvilken verdi jeg vil lagre, endret jeg WHERE -setningen.

Anbefalt: