[ Príspevok: 1 ] 
AutorSpráva
Offline

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

Registrovaný: 17.02.14
Prihlásený: 07.08.22
Príspevky: 441
Témy: 194 | 194
Bydlisko: Poprad-okolie

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

197

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

380

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

512

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

2835

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

719

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

476

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

825

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

706

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

428

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

953

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

9492

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

688

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

668

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

960

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

900

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

2838

25.08.2006 21:26

javo



© 2005 - 2022 PCforum, edited by JanoF