[ Príspevok: 1 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 29.05.20
Príspevky: 421
Témy: 178 | 178
Bydlisko: Poprad

Bicyklovanie je veľmi obľúbený šport, aj vďaka úspešnému športovcovi Petrovi Saganovi. Vášniví cyklisti brázdia naše cesty a chodníky. Nakoľko ale počasie vždy nepraje, nejeden fanúšik bicykla by uvítal bicyklovať z pohodlia domova. Preto dnes prinášam spôsob, ako to docieliť povedzme rozšírenou realitou v podobe Google máp. Na úvod si prejdeme potrebné hardvérové prostriedky pre projekt a v ďalšom kroku si rozoberieme ich funkčnosť.

Hardvérové komponenty:
    Arduino (32u4 CPU) Leonardo Bicyklovanie po Google mapách - Arduino 32u4
    Magnetický kontakt Bicyklovanie po Google mapách - Arduino 32u4
    2x tlačidlá, spínacie, pushbuttony Bicyklovanie po Google mapách - Arduino 32u4
    2x 10kohm rezistory Bicyklovanie po Google mapách - Arduino 32u4
Pre použitie systému používateľ musí zapnúť Google mapy, zvoliť si akúkoľvek lokalitu na svete a prepnúť sa do Street View módu. To zaručí pripravené rozhranie pre interakciu s bicyklom (Arduinom). Čo sa týka bicykla, je možné použiť akýkoľvek typ. Klasický, cestný, horský, rotopéd. Na pedál a konštrukciu je nutné napasovať magnetický kontakt.

Hlavným prvkom systému je použitie vývojovej dosky Arduino Leonardo, ktorá obsahuje mikroprocesor ATmega32u4. Tento typ procesora dokáže okrem ovládania GPIO pinov (ako klasické Uno) ovládať aj klávesnicu a myš, je HID zariadením (Human Interface device). Vďaka tomu máme úplne iné možnosti využitia nielen pre našu myšlienku. Magnetický kontakt slúži na záznam otočenia pedálov o celú otáčku. Programovo je implementovaný jednoduchý counter (počítadlo), ktoré sa inkrementuje pri každom otočení pedálov o 360°. Možno použiť aj optozávoru.

Pri pretečení počítadla sa vykoná podmienka a do počítača sa odošle znak šípka hore, čo používateľa posunie o krok vpred na Google mape. Tlačidlá slúžia na otáčanie pohľadu do strán, sú aktívne pokým ich používateľ drží. Programová implementácia využíva pullup a pulldown zapojenie tlačidiel. Pri pullup nie sú nutné rezistory, sú zapnuté interné pullup rezistory Arduina. Funkčnosť oboch variant je totožná.

Bicyklovanie je možné obohatiť aj o využitie VR headsetu pri Google mape. Okrem Google Maps využíva Street View aj niekoľko ďalších zaujímavých webaplikácii, ktoré je možné vyskúšať, sú to predovšetkým zaujímavé hádacie stránky (možno zapojiť celú rodinu):

    GeoGuessr
    Earth Picker
Objavujte Google mapy, hľadajte kuriozity na mapách sveta, navštívte lokality, kde ste vždy chceli ísť. Arduino s 32u4 procesorom je možné využiť aj na ďalšie zaujímavé projekty v štýle: Volant, pedále k hre s analógovou podporou s pomerne dobrým rozlíšením, ručná brzda, ovládacie panely k simulátorom a hrám. Rovnaký procesor obsahuje aj Arduino Pro Micro, ktoré sa hodí do projektov s menším počtom vstupno-výstupných pinov.
Bicyklovanie po Google mapách - Arduino 32u4
Bicyklovanie po Google mapách - Arduino 32u4
Programová implementácia pre pullup rezistory:
Kód:
#include <Keyboard.h>
const int tlacidloVpred = 2;
int tlacidloStav;
int poslednetlacidloStav = HIGH;
unsigned long poslednezakmitCas = 0;
unsigned long zakmitDelay = 50;
int pocitadlo = 0;
const int tlacidloVlavo = 3;
const int tlacidloVpravo = 4;
void setup() {
  Keyboard.begin();
  Serial.begin(115200);
  pinMode(tlacidloVpred, INPUT_PULLUP);
  pinMode(tlacidloVlavo, INPUT_PULLUP);
  pinMode(tlacidloVpravo, INPUT_PULLUP);
}

void loop() {
  int citanie = digitalRead(tlacidloVpred);
  while(!digitalRead(tlacidloVlavo)){
  Keyboard.press('a');
  delay(300);
  Keyboard.releaseAll();
    }
    while(!digitalRead(tlacidloVpravo)){
    Keyboard.press('d');
  delay(300);
  Keyboard.releaseAll();
    }
if (citanie != poslednetlacidloStav) {
    poslednezakmitCas = millis();
  }

  if ((millis() - poslednezakmitCas) > zakmitDelay) {
    if (citanie != tlacidloStav) {
      tlacidloStav = citanie;

      if (tlacidloStav == LOW) {
        pocitadlo++;
      }
    }
  }
  poslednetlacidloStav = citanie;
  Serial.println("Hodnota counteru:");
  Serial.println(pocitadlo);
if(pocitadlo>=5){
  Keyboard.write(218);
  pocitadlo = 0;
  Serial.println("Pohyb vpred");
  }
}

Programová implementácia pre pulldown zapojenie:
Kód:
#include <Keyboard.h>
const int tlacidloVpred = 2;
int tlacidloStav;
int poslednetlacidloStav = LOW;
unsigned long poslednezakmitCas = 0;
unsigned long zakmitDelay = 50;
int pocitadlo = 0;
const int tlacidloVlavo = 3;
const int tlacidloVpravo = 4;
void setup() {
  Keyboard.begin();
  Serial.begin(115200);
  pinMode(tlacidloVpred, INPUT);
  pinMode(tlacidloVlavo, INPUT);
  pinMode(tlacidloVpravo, INPUT);
}

void loop() {
  int citanie = digitalRead(tlacidloVpred);
  while(digitalRead(tlacidloVlavo)){
  Keyboard.press('a');
  delay(300);
  Keyboard.releaseAll();
    }
    while(digitalRead(tlacidloVpravo)){
    Keyboard.press('d');
  delay(300);
  Keyboard.releaseAll();
    }
if (citanie != poslednetlacidloStav) {
    poslednezakmitCas = millis();
  }

  if ((millis() - poslednezakmitCas) > zakmitDelay) {
    if (citanie != tlacidloStav) {
      tlacidloStav = citanie;

      if (tlacidloStav == HIGH) {
        pocitadlo++;
      }
    }
  }
  poslednetlacidloStav = citanie;
  Serial.println("Hodnota counteru:");
  Serial.println(pocitadlo);
if(pocitadlo>=5){
  Keyboard.write(218);
  pocitadlo = 0;
  Serial.println("Pohyb vpred");
  }
}

Schéma zapojenia pre pullup zapojenie:
Bicyklovanie po Google mapách - Arduino 32u4


 [ Príspevok: 1 ] 


Bicyklovanie po Google mapách - Arduino 32u4



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Hlasove zadavanie v Google mapach/navigacii

v Ostatné programy

0

67

07.02.2020 5:50

matmatmat

V tomto fóre nie sú ďalšie neprečítané témy.

Firefox nelze hledat v mapách trasy.

v Sieťové a internetové programy

2

303

05.08.2009 19:20

Dzin

V tomto fóre nie sú ďalšie neprečítané témy.

Arduino

v Assembler, C, C++, Pascal, Java

6

301

05.04.2018 17:25

ado130

V tomto fóre nie sú ďalšie neprečítané témy.

C:\PROGRA~2\Google\GOOGLE~3\GO36F4~1.DLL

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Antivíry a antispywary

36

2086

23.01.2013 19:02

personal compuper

V tomto fóre nie sú ďalšie neprečítané témy.

Google vydal stable verziu Google Chromu pre linux

v Novinky

1

509

26.05.2010 1:56

Ferinciatko

V tomto fóre nie sú ďalšie neprečítané témy.

Google blokuje Google ucty v Outlooku pre Windows 10 Mobile

v Novinky

1

313

07.08.2016 14:50

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

Google vyhľadáva hneď ako píšeme - Google instant

v Novinky

8

664

09.09.2010 13:12

Jeffo

V tomto fóre nie sú ďalšie neprečítané témy.

Arduino 8bit computer

v Mikropočítače

1

529

20.02.2015 13:34

jankalman

V tomto fóre nie sú ďalšie neprečítané témy.

C a arduino

v Assembler, C, C++, Pascal, Java

0

206

30.04.2018 17:37

Dolpi

V tomto fóre nie sú ďalšie neprečítané témy.

Vyuzitie google priestoru a google API

v Ostatné

9

779

01.12.2010 12:51

roman5555

V tomto fóre nie sú ďalšie neprečítané témy.

Google si nedá povedať, spustil Google+

[ Choď na stránku:Choď na stránku: 1 ... 6, 7, 8 ]

v Novinky

211

8660

11.11.2013 21:08

jtbs

V tomto fóre nie sú ďalšie neprečítané témy.

vysledok vyhladavania Google na Google Maps

v Ostatné

1

517

09.11.2009 11:55

br4n0

V tomto fóre nie sú ďalšie neprečítané témy.

Google zmenil aplikácie v Google Packu

v Novinky

2

496

01.04.2007 12:04

xyz

V tomto fóre nie sú ďalšie neprečítané témy.

Google zabanoval Anonymous na Google Plus.

v Novinky

12

806

24.07.2011 11:21

mirom

V tomto fóre nie sú ďalšie neprečítané témy.

Sitemap na Google Sites (Google Apps)

v Internetový marketing, SEO, reklama

1

736

18.03.2012 22:33

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

Google získal českú doménu Google.cz

v Novinky

4

2691

25.08.2006 21:26

javo



© 2005 - 2020 PCforum, edited by JanoF