Witam wszystkich.
Moją prośbę kieruje do osób które pomogły by mi przejść przez programową obsługę czujnika a w późniejszym etapie czujników na magistrali 1wire (myślę ze jeśli by się udało to zrobić byłby to super poradnik dla totalnie początkujących)
Jeśli chodzi o mnie to ciężko mi ocenić mój stan wiedzy (początkujący) ale kroczek po kroczku i wiedza się rozszerza.
A więc zaczynam. Napisze co wiem, a w czym mam problem i przy okazji ewentualnie moja wiedzę poprawicie jeśli źle rozumiem.
Znalazłem pdf spolszczonego dla czujnika:
http://www.jaglarz.info/ja/elektronika/ds18b20.pdf Mój sprzęt to:
program: Eclipse, książka bluebook
płytka stykowa, Atmega32 wew.8 MHz
1 czujnik DS podpięty do pinu PB0. Linia 1wire podciągnięta rezystorem 5k do vcc
I teraz zaczynają się schody:
1 punkt jeśli chodzi o komunikację z DS to wysłanie Startu, lub inaczej resetu na magistralę.
Rozumiejąc pdf chodzi o ustawienie PB0 jako wyjście i ustawienie na 1wire stanu niskiego przez min 480us
następnie pin PB0 ustawić jako wejście i nasłuchiwać pin PB0 czy pojawi się stan wysoki przez określony czas.
i tu już nasuwają się pytania. Jak to poprawnie wykonać programowo. Tzn np
- jak tak naprawdę mają być te czasy aby pewnie za każdym razem wywołując funkcje: inicjacji lub resetu wszystko poprawnie zadziałało. 100% pewność.
- jak zainicjować 1 raz linię PB0 (ustalenie stanu pinu)
- jak testować linie, czy jest urządzenie na magistrali. (nie wiem ale np pętlą for? odpytywać przez określony czas. Na przykład wstawić w pętli delay 10us i pętle ustawić na 10 razy i w tym czasie sprawdzać stan lini 1wire hmm?
- a jak rozwiązać problem przywarcia lini no vcc albo do gnd jeśli by takowe wystąpiły gdyż dalsza procedura nie miała by najmniejszego sensu?
- i w ogóle jak to wszystko poprawnie i profesjonalnie zacząć.
Czekam na pomoc kto znajdzie chwilę czasu aby poprowadzić mnie po zagadkach z którymi mam problem.
Czy jest taka osoba która tak naprawdę ale tak naprawdę wyjaśni wszytko od a do z.
Mi nie chodzi o to by ktoś wrzucił cały kod i po sprawie. Ja chcę panować nad kodem, nad tym co piszę a nie kod nade mną. Że nie wiem co się w nim dzieje. Chcę nauczyć się pisać obsługę urządzenia patrząc, czytając pdf
Pozdrawiam Dawid
Czekam na przychylnych ludzi.