User Manual
88
Obsluha události se může samozřejmě vedle textového výstupu dále rozšiřovat – tj. domníváme
se, že robot zastaví a couvá/zatáčí. To se však neprovádí ve vlastní obsluze události, ale někde
jinde v programu. V obsluze události možná nastavíte proměnno příkazu, která se kontroluje
v hlavním programu pro identifikaci možného pohybu. Vždy se snažte, aby byla obsluha
události co nejkratší.
V obsluze události můžete použít všechny funkce z knihovny RP6Library, ale u funkcí “otáčení”
a “pohyb” musíte být opatrní – probereme to v dalších kapitolách. V obsluze události NIKDY
nepoužívejte režim blokování těchto funkcí (opakované stisknutí nárazníků například nebude
příliš pracné).
Základní myšlenka obsluhy událostí se také používá v řadě dalších funkcí. Například ACS –
které má velmi podobné používání voláním obsluhy události při každé změně stavu snímač
předmětů.
Obsluhu události používáme také při příjmu kódů RC5 z dálkového ovladače. Libovolný příjem
signálu kódovaného systémem RC5 inicializuje volání příslušné funkce obsluhy události. Pro
tuto činnost není třeba používat obsluhu události – samozřejmě můžete pro kontrolu změn
jednoduše použít podmíněný příkaz, ale obsluha události zjednoduší návrh programu.
Opakování je matka moudrosti.
Doporučení: CD nabízí řadu podrobných ukázkových programů na toto téma.
4.6.5. Čtení ADC hodnot (baterie, proud motorů a snímače osvětlení)
Jak bylo popsáno v kapitole 2, je k ADC (analogově číslicový převodník) připojeno několik
snímačů. Knihovna RP6Library samozřejmě poskytuje funkci pro čtení naměřených ADC
hodnot:
uint16_t readADC(uint8_t channel)
Tato funkce vrací 10-bitovou hodnotu (0...1023) a pro hodnoty snímačů vyžaduje 16-bitovou
proměnnou. Je možné číst následující kanály:
ADC_BAT --> Snímač napětí baterie
ADC_MCURRENT_R --> Snímač proudu pravého motoru
ADC_MCURRENT_L --> Snímač proudu levého motoru
ADC_LS_L --> Levý snímač osvětlení
ADC_LS_R --> Pravý snímač osvětlení
ADC_ADC0 --> Volný ADC kanál pro individuální snímače
ADC_ADC1 --> Volný ADC kanál pro individuální snímače
Doporučení: dva konektory volných ADC kanálů nejsou obsazeny. Můžete
sem zapájet konektory se standardní roztečí 2,54 mm a možná přidat dva
kondenzátory 100 nF a pokud snímač (např. IR snímač vzdálenosti SHARP)
potřebuje vyšší napájecí proud, tak ještě velký elektrolytický kondenzátor
470µF.
To vyžaduje určité zkušenosti s pájením! Pokud zkušenosti nemáte, může být
lepší řešení v použití rozšiřujícího modulu.