Senzor farieb TCS230: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
Bez shrnutí editace |
||
Riadok 19: | Riadok 19: | ||
== Analýza a opis riešenia == | == Analýza a opis riešenia == | ||
Senzor pracuje na takom princípe, že keď ho zapojíme do vývojovej dosky, tak bude naspäť posielať obdĺžnikový signál, ktorého frekvencia je priamo úmerná intenzite svetla. Senzor má 64 fotodiód, z čoho 16 má červený filter, 16 má zelený filter, 16 ma modrý filter a 16 má čistích, teda bez filtru. Tieto filtre dokážeme nastavovať pomocou pinov S2 a S3 (S2 -> log.0 a S3 -> log.0 = červený filter, atď). Takže nám stačí nastaviť filter na určitú frabu a potom stačí zmerať frekvenciu zo senzora. Na meranie frekvencii sme použili počítadlo 1 (TIMER1), čo je 16 bitové počítadlo, ktorým sme merali čas od dobežnej hrany po nábežnú a keď sme tým podelili polovicu frekvencie kryštálu (polovicu preto, lebo sme merali iba pól periódu, pretože ten signál ma 50% duty), tak dostaneme výslednú frekvenciu pri danom filtri. Potom to už len zobrazíme na LCD displaj. | |||
[[Súbor:TCS230.jpg|400px|thumb|center| | [[Súbor:TCS230.jpg|400px|thumb|center|TCS230 senzor farieb.]] | ||
Nezabudnite doplniť schému zapojenia! | Nezabudnite doplniť schému zapojenia! |
Verzia z 20:40, 13. jún 2023
Záverečný projekt predmetu MIPS / LS2023 - Tomáš Bečvarov
Zadanie
Senzor farieb - naprogramujte senzor na rozpoznávanie jednotlivých farieb, zobrazenie na LCD displej.
Chceme dosiahnúť toho, aby sme vedeli rozoznávať rôzne farby za pomocy senzora TCS230.
Literatúra:
Analýza a opis riešenia
Senzor pracuje na takom princípe, že keď ho zapojíme do vývojovej dosky, tak bude naspäť posielať obdĺžnikový signál, ktorého frekvencia je priamo úmerná intenzite svetla. Senzor má 64 fotodiód, z čoho 16 má červený filter, 16 má zelený filter, 16 ma modrý filter a 16 má čistích, teda bez filtru. Tieto filtre dokážeme nastavovať pomocou pinov S2 a S3 (S2 -> log.0 a S3 -> log.0 = červený filter, atď). Takže nám stačí nastaviť filter na určitú frabu a potom stačí zmerať frekvenciu zo senzora. Na meranie frekvencii sme použili počítadlo 1 (TIMER1), čo je 16 bitové počítadlo, ktorým sme merali čas od dobežnej hrany po nábežnú a keď sme tým podelili polovicu frekvencie kryštálu (polovicu preto, lebo sme merali iba pól periódu, pretože ten signál ma 50% duty), tak dostaneme výslednú frekvenciu pri danom filtri. Potom to už len zobrazíme na LCD displaj.
Nezabudnite doplniť schému zapojenia!
Algoritmus a program
Algoritmus programu je....
#include <avr/io.h>
int main(void)
{
unsigned int measuredValue;
while (1)
{
/* relax */
}
return(0);
}
#include <avr/io.h>
void adc_init(void); // A/D converter initialization
unsigned int adc_read(char a_pin);
Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:
Zdrojový kód: zdrojaky.zip
Overenie
Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku záverečnej obrazovky pred resetom. Vypísaný je tu priemerný čas a najlepší čas.
Video:
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.