Skocz do zawartości

Czujniki do pomiaru natężenia światła + konfiguracja ADC


komabra

Pomocna odpowiedź

Cześć. Znów ja i znów pytanie do Was.

W skrócie. Robię stację pogody. Zatrzymałem się na pomiarze natężenia światła.

Nie ukrywam, że nie chcę kupować gotowych czujników do tego.

Mam trochę elementów opto i to z nich chciałbym skorzystać. Tu pojawia się pytanie. Co będzie najlepszym rozwiązaniem?

- fotorezystor,
- czujnik CNY70

Wiadomo, że żadne z tych rozwiązań nie będzie idealnie dokładne ale to bardziej chodzi o to żebym się nauczył.

Pytanie drugie. Konfiguracja ADC

Zawsze korzystając z przetwornika używałem jedynie jednego wejścia.

Mam już na ADC zaimplementowany czujnik natężenia opadów.

Potrzebuję zaimplementować właśnie czujnik natężenia światła.

Jak to zrobić?

-konfiguracja adc(preskaler etc)

-wybór pinu na Porcie C przez wybór MUX3..0

-uruchomienie pojedyńczej konwersji

-czekanie na zakończenie

-wypisanie wyniku natężenia na wyświetlaczu.

Zrobiłem tak dla obu czujników. Jedyne czym się tu różni to oczywiście wybór pinu przez zmianę MUX3...0.

Czujnik deszczu działa świetnie. Przy czujniku światła adc wariuje. Skacze między wartościami 1023 - 9 000 niezależnie czy czujnik jest podłączony czy nie..

Kod programu poniżej :

///////////////////deszcz ///////////////////////////////
Opady_Initialize(); //wejscia , wyjscia

ADCSRA =   (1<<ADEN) |(1<<ADPS2);
ADMUX  =  (1<<REFS1) | (1<<REFS0) 
	| (1<<MUX2) | (1<<MUX0);  // wybor kanału PC5

ADCSRA |= (1<<ADSC);  //uruchomienie pojedynczej konwersji
while(ADCSRA & (1<<ADSC));  //czeka az koniec

LCD_WriteText("Tutaj wpisuje wynik pomiarow deszczu");

////////////  światło ////////////////////////////////////////
FR_Initialize();  // wejscia,wyjscia
ADCSRA =   (1<<ADEN) |(1<<ADPS2);
ADMUX  =  (1<<REFS1) | (1<<REFS0) 
	| (1<<MUX2) ;   // wybór pinu PC4
  ADMUX &=~(1<<MUX0);

ADCSRA |= (1<<ADSC);  //uruchomienie pojedynczej konwersji
while(ADCSRA & (1<<ADSC));  //czeka az koniec

LCD_WriteText("Tutaj wpisuje wynik pomiarow światła");

Ten kawałek programu jest lekko okrojony, chodzi mi o sam sens czy dobrze robię ...

[ Dodano: 07-08-2015, 10:16 ]

Oto moja odpowiedź na pierwsze pytanie :

Myślę, że to będzie odpowiedni układ.

Was proszę o pytanko drugie.

[ Dodano: 07-08-2015, 10:40 ]

Panowie. Na razie cofam pytanie. Wygląda na to, że oba porty ADC działają poprawnie. Ale jedynie wtedy gdy są załączane osobno. Bardzo możliwe, że atmega zasilana z USB nie daje rady, więc lecę szybko po stabilizator i zobaczymy co z tego wyjdzie...

Link do komentarza
Share on other sites

Jeśli używasz Atmegi 8, to linijka:

ADMUX  =  (1<<REFS1) | (1<<REFS0)

Powoduje wybranie napięcia referencyjnego: 2.56V z kondensatorem na pinie AREF.

Zazwyczaj używa się opcji: AVCC z kondensatorem na pinie AREF, czyli ustawia się tylko bit REFS0 (tabela 74 w datasheet).

źródło: datasheet Atmega8

Link do komentarza
Share on other sites

Aktualnie wszystko śmiga. Wygląda na to, że mój królik dorwał się do jednego kabla podłączonego do ADC i nie łączył 🙂

Zostało RTC i moduł ciśnienia ale to już będę pisał w przypadku problemów !

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.