logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Budowa i kalibracja czujnika światła z wykorzystaniem BASCOM i m328p

Justyniunia 17 Kwi 2021 20:01 1701 38
REKLAMA
  • #1 19386012
    Justyniunia
    Poziom 36  
    Czołem!

    Zmotałam sobie na szybko czujnik, który "uczy" się pierwotnego poziomu oświetlenia, a później pilnuje przekroczenia progu i niby wszystko OK.
    (LCD jest do testów, nie będzie go tam)

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    Czujnik reaguje na przysłonięcie fototranzystora, a próg zadziałania ustala się sam, po włączeniu, ale tylko raz i tu jest problem.
    W praktyce:
    Jeśli czujnik skalibruje się przy świetle monitora i zasłonię go, to LED się zaświeci, ale jeśli już zaświecę do tego lampkę biurkową, to czujnik już nie zareaguje, bo jest za jasno.
    To samo jest z sytuacją odwrotną - kalibracja przy jasnym oświetleniu, po czym zgaszenie lampki (i to jest logiczne).

    Macie jakiś pomysł, żeby po dużej zmianie poziomów oświetlenia zewnętrznego. czujnik kalibrował się ponownie sam?

    Inaczej mówiąc czujnik ma reagować na zmiany poziomu w nie dużych granicach, ale w przypadku dużej rozbieżności miał by skalibrować się ponownie.

    Edit:

    Po chwili zastanowienia to chyba nie jest dobry pomysł i nie zadziała, bo przy zasłonięciu czujnika zmienna osiąga bardzo dużą wartość
    Najlepszym rozwiązaniem byłby drugi czujnik i porównywanie obu pomiarów, ale tak być nie może...
    Zostaje jak jest i po dużej zmianie oświetlenia zewnętrznego będę go po prostu ręcznie resetować.
  • REKLAMA
  • Pomocny post
    #2 19386344
    Marek_Skalski
    VIP Zasłużony dla elektroda
    Mam inną propozycję.
    1. Poziom odniesienia wyznacza wartość z filtra dolnoprzepustowego, np. jako średnia krocząca pomiarów oświetlenia z ostatnich 10 sekund.
    2. Wartość odniesienia porównujesz z wartością przepuszczoną przez filtr górnoprzepustowy, np. różnica wartości między ostatnim pomiarem a wartością z punktu 1.
    3. Jeżeli różnica przekracza określony próg (może być wyznaczany jako procent wartości odniesienia), to włączasz lub wyłączasz odbiornik.
    Całość zamknie się w kilku linijkach programu.
  • #3 19386395
    Justyniunia
    Poziom 36  
    Chodzi o to, żeby uprościć to do granic możliwości.
    Attiny13 i fototranzystor (właściwie to dwa)
    Wykrywanie obecności i kierunku pociągów na torach.
    Stąd też foto podłączone bezpośrednio pod podciągnięty do vcc port, bez żadnych zewnętrznych elementów (komparatorów itp)
    Układ działa i sprawuje się świetnie, tylko po zmianie oświetlenia zewnętrznego (słonko/chmury) trzeba obwód czujników na chwilę wyłączyć i włączyć żeby czujniki nauczyły się nowych warunków.
    Nie jest to problemem, ale irytuje kiedy nagle podczas zabawy LEDy na pulpicie zaczynają się zaświecać.

    Chyba, że da się to załatwić tylko programowo, na tak małym uC.
    W programie są dwa takie czujniki + kilka linijek kodu do określania kierunku.
  • Pomocny post
    #4 19386416
    Marek_Skalski
    VIP Zasłużony dla elektroda
    Opisałem jak to zrobić w programie. Jeżeli trzeba zmienić sprzęt, to tylko dla optymalnego dopasowania charakterystyki fotorezystora do natężenia światła.

    Średnia krocząca, to przecież żaden problem. Dodawanie i dzielenie przez przyjazne wartości, np. 64.
    Filtr górnoprzepustowy, to już opcjonalnie, a może nawet drugi filtr dolnoprzepustowy o mniejszej stałej czasowej.
    Komparator, to zwykłe porównanie 2 wartości.
  • Pomocny post
    #5 19386572
    TvWidget
    Poziom 38  
    Kluczowym elementem rozwiązania jakie zaprezentowałeś jest miernik natężenia oświetlenia. Jak każde urządzenie pomiarowe charakteryzują go dwa kluczowe parametry czyli zakres pomiarowy i dokładność pomiaru. Zapewne podłączyłeś jakiś fotoelement do wejścia ADC w uP. Tego typu przetworniki mają zwykle rozdzielczość rzędu 10-bit. Czyli teoretycznie pozwalają na pomiar sygnałów o dynamice 1:1000. Natężenie oświetlenia w naszym otoczeniu może się jednak zamieniać przynajmniej w 100 razy większym zakresie. Rozwiązaniem jest układ pomiarowy o logarytmicznej charakterystyce lub zwiększenie rozdzielczości ADC np. do 22-bit. Możesz też całkowicie zmienić koncepcję np. mierząc lub reagując jedynie zmiany oświetlenia.
  • #6 19386680
    Justyniunia
    Poziom 36  
    Rozpisane w krokach jak miało by to działać:

    1 Mierzymy natężenie światła
    2 Ustalamy próg
    3 Mierzymy znowu i porównujemy z progiem.
    Jeśli > próg - zaświecamy LED, jeśli < gasimy i wracamy do kalibracji (krok 1)

    Tutaj "na papierze" jest pewna niezgodność, bo im większe natężenie, tym wartość mniejsza (foto przywiera ADC do masy), ale tak ma być.

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    Panowie, co by się nie działo, to taka autokalibracja działa tylko w jedną stronę (jak się na zewnątrz rozjaśnia).
    W drugą stronę już nie.
    Potrzeba dodatkowy czujnik i porównywać natężenie światła obok toru z natężeniem światła na torze.

    Jest jeszcze opcja odwrotna, oświetlenie czujnika diodą IR i wykrywanie światła odbitego od podwozia, wtedy nic nie trzeba kalibrować, wystarczy "z góry" ustalić próg zadziałania.

    To tylko zabawka...
  • Pomocny post
    #7 19387563
    ex-or
    Poziom 28  
    Są dwa czujniki. Jeśli skok jasności następuje niejednocześnie to został wykryty ruch pociągu, jego kierunek i prędkość. Jeśi jednocześnie to nastąpiła zmiana jasności otoczenia. Gdy zmiana jasności oswietlenia następuje w momencie gdy oba czujniki są przysłonięte/odsłoniete sprawa jest oczywista, Gdy zmiana nastąpi w momencie gdy tylko jeden jest przysłonięty potrzeba dodatkowych sprawdzeń/przeliczeń. Wyznaczenie poziomu otoczenia wykonywane na bieżaco. Powinno działać niezależnie od położena pociągu w relacji do czujników oraz poziomu oświetlenia w momencie włączeniu systemu.
  • REKLAMA
  • #8 19387641
    yego666
    Poziom 33  
    Wydaje mi się, że problem Ci się mocno uprości jeśli zamiast fotoelementów zastosujesz czujniki Halla i mały magnes pod lokomotywą.
    Odpada problem kalibracji a zasada detekcji w zasadzie jest niezmieniona gdyż z Hallotronu również dostajesz sygnał elektryczny. Sugeruję w tym przypadku cyfrowe czujniki. Można je wylutować ze starych napędów FDD.
  • #9 19387699
    Justyniunia
    Poziom 36  
    Mam koło tysiąca czujników (właściwie to całych transoptorów szczelinowych, tylko są za duże żeby zastosować całe), Tiny13 też całą masę. Aż się prosiło żeby wykorzystać.
    Właściwie to zostaje mi jedna wolna noga proca, więc albo dołożę w każdym module trzeci czujnik, albo połącze wszystkie moduły do kupy z jednym czujnikiem zewnętrznym.
    Myślałam że będzie łatwiej i że to ja się gdzieś zatrzymuje w programie.
  • REKLAMA
  • #10 19388474
    yego666
    Poziom 33  
    A w jakiej skali masz te swoje kolejki - tak z ciekawości pytam.

    Przyszedł mi do głowy pomysł jak obejść problem ze zmiennym oświetleniem.
    W zasadzie należałoby zupełnie ignorować poziom zewnętrznego oświetlenia do momentu aż tylko jeden z czujników zarejestruje skokową zmianę oświetlenia.
    Jednoczasna zmiana oświetlenia obu czujników musi być ignorowana, bo ciuchcia nie zakrywa obu czujników jednocześnie. Zakrycie drugiego z czujników waliduje stan pierwszego z wykrytych skoków i określa kierunek ruchu pociągu.
    Należałoby jedynie ustalić poziom poniżej którego czujnik "uzna" że został zakryty. Chyba wyznaczenie dolnego progu powinno być dużo łatwiejsze niż śledzenie zmian jasności otoczenia i dostosowywanie się do tych zmian.
    Jedyny problem z takim rozwiązaniem pojawi się gdy uruchomisz makietę gdy jest zupełnie ciemno.
  • #11 19388667
    Justyniunia
    Poziom 36  
    Później po pracy wrzucę program, może się "rozjaśni" co nieco. Żeby zarejestrować co kolwiek, program i tak musi znać poziom przed zasłonięciem foto. No i to się dzieje - sprawdza poziom światła, zapisuje wartość i czeka na zmianę.

    Do tego dojdzie zewnętrzne oświetlenie (jakieś latarnie tu i tam, światła lokomotyw).
    Może się okazać że to nie takie proste.

    Na plus jest to, że najazd pociągu na fotoelement powoduje odczytanie przez ADC dość dużej wartości (czasem podchodzi i pod 1000)

    Żeby nie było za slodko... Kolejny problem jaki widzę, to podczas kalibracji żaden pojazd nie może znajdować się na żadnym czujniku.

    H0.
  • Pomocny post
    #12 19389180
    gaskoin
    Poziom 38  
    Jeśli inny sposób wykrywania pociągu (modelu pociągu?) nie wchodzi w grę to żeby wyeliminować wpływ słońca na odczyt z czujników możesz sygnał modulować/demodulować. Dioda sobie mruga z częstotliwością X i czekasz aż sygnał odbierany przestanie mrugać :) Do demodulacji można użyć zintegrowanych TSOP.

    Jeżeli nie wchodzi to w grę to dobrym pomysłem jest sprawdzanie nie sygnału samego w sobie a jego pochodnej. Wtedy masz informacje o każdej gwałtownej zmianie światła w górę lub w dół niezależnie od jasności tła.
  • #13 19389226
    Justyniunia
    Poziom 36  
    To kod dla dwóch czujników (kalibracja po włączeniu):
    Kod: Bash
    Zaloguj się, aby zobaczyć kod


    To kod dla trzech czujników(trzeci poza torem i to sprawuje się najlepiej):

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • #14 19389304
    yego666
    Poziom 33  
    Wydaje mi się że podstawową sprawą jest ustalenie wyraźnej granicy pomiędzy stanem zasłonięcia i odsłonięcia fotoelementu.
    Obecnie Twój układ wejściowy posiada dość sporą ( chyba niepotrzebnie ) dynamikę, przez co masz duże wahania wartości odczytywanych.
    łatwiej byłoby ustalić " poziom czerni" gdyby zmniejszyć dynamikę układu o współczynnik 2 lub 3, czyli należałoby zmniejszyć 2 lub 3 krotnie wartość opornika w emiterze fototranzystora.
    Następnie należałoby eksperymentalnie ustalić maksymalny poziom czerni i minimalny poziom bieli dla wszystkich możliwych warunków oświetleniowych.
    Taka wiedza dałaby możliwość pewnego rozróżniania stanów czujników.

    Inna sprawa, że gdy odpalisz makietę po ciemku to nie będą działały takie czujniki z powodu braku różnic w oświetleniu.
    Można to wyleczyć umieszczając LED pod lokomotywką czy też pod każdym wagonem i badać wtedy stany czujników.
    Wyglądałoby to tak:
    1. czujniki niezasłonięte - odczyt wysoki
    2. czujniki zasłonięte - odczyt niski

    Prawdziwa detekcja zajętości odcinka i kierunku następowałaby tylko wtedy gdy oba czujniki są zasłonięte przez ciuchcię ( łatwo wyczaić taki stan układu ) a LED pod ciuchcią oświetla je kolejno dając informację o kierunku i prędkości składu.
    Oczywiście LED może być IRED o ile czujniki reagują na tę długość fali. Można jeszcze ewentualnie pomyśleć nad przysłonięciem fotoelementów filtrem przepuszczającym fotony IRED co by jeszcze bardziej poprawiło działanie układu.

    Kwestie jak to zaprogramować pozostawiam na boku jako trywialne i nieistotne dla tego rozważania. Każdy zapewne zrobiłby to inaczej i w innym języku, więc szkoda czasu na takie rozważania w fazie koncepcyjnej, tym bardziej, że nie kwestia kodu a koncepcji jest tu rozważana. Kod jest tylko ostateczną realizacją koncepcji, która jak widać jest jeszcze nieprzemyślana do końca.


    Jeszcze jeden pomysł właśnie mi przyszedł do głowy.
    Można przeprowadzić kalibrację poziomu czerni i bieli jednocześnie.
    A nawet należałoby taką kalibrację przeprowadzać w sposób cykliczny.
    Żeby to było możliwe, czujniki muszą być umieszczone w takiej odległości od siebie by przy najeździe składu jeden z nich był przez chwilę całkowicie zasłonięty a drugi jeszcze zupełnie oświetlony. Tak oto mamy w prosty sposób załatwiony problem kalibracji poziomu czerni i bieli.
    Pomyśl TEŻ nad LEDem pod ciuchcią :)
  • REKLAMA
  • Pomocny post
    #15 19389323
    gaskoin
    Poziom 38  
    Ale po co cokolwiek kalibrować skoro liczenie różniczki jest właśnie taką samokalibracją? Tło ma wartość x i pociągu nie ma w zakresie czujników - sygnał jest = 0 (pomijając oczywiście błędy pomiaru etc.). Nieważne czy jest pełne słońce czy środek nocy bez latarni. Każda zmiana natężenia (pojawiający się pociąg) "odchyli" znacznie pomiar i to jest właśnie to, co chcemy uzyskać, ale autor chyba nie czyta co ludzie piszą :)

    Rozwiązywałem kiedyś podobny problem, ale akurat wykorzystałem akurat sposób z wykrywaniem tylko światła o oczekiwanej częstotliwości, co również wykluczyło kalibracje tła.
  • #16 19389345
    yego666
    Poziom 33  
    gaskoin napisał:
    dobrym pomysłem jest sprawdzanie nie sygnału samego w sobie a jego pochodnej. Wtedy masz informacje o każdej gwałtownej zmianie światła w górę lub w dół niezależnie od jasności tła.
    Tylko że jak Autorka pisze " poziom oświetlenia może się zmieniać bardzo gwałtownie na skutek włączenia lampy lub monitora lub nawet słonka :).
    Przy tak prostym podejściu w każdej takiej sytuacji następowałaby fałszywa detekcja tym bardziej że oba czujniki nie muszą być oświetlane w taki sam sposób jednocześnie gdyż są jedna nieco od siebie oddalone.
    Stąd nawet badanie pierwszej pochodnej z obu czujników nie dawałoby pewności co do źródła zmian jej wartości.
  • Pomocny post
    #17 19389376
    ex-or
    Poziom 28  
    yego666 napisał:
    oba czujniki nie muszą być oświetlane w taki sam sposób jednocześnie gdyż są jedna nieco od siebie oddalone

    Wielkość zmiany jest drugorzędna. Liczy się sam fakt zamiany, relacja czasowa wobec drugiego czujnika (w tym samym momencie - zmiana otoczenia, odstęp czasowy - najazd/odjazd pociągu) oraz znak (+ zwiększenie jasności otoczenia-zdarzenie nieistotne/odjazd pociągu, -zmniejszenie jasności-zdarzenie nieistotne/najazd pociągu)
  • Pomocny post
    #18 19389382
    gaskoin
    Poziom 38  
    Nie wiemy też jak to fizycznie jest rozwiązane, ja zakładam taką sytuację:

    FOTOTRANZYSTOR --------------- POCIĄG (lub powietrze) --------------- DIODA

    Być może zwykła koszulka na fototranzystor by pomogła...

    Może też być tak, że pomiar przy pomocy światła w tym przypadku nie jest najlepszym rozwiązaniem bo zawsze zaburzenie w postaci nagłej zmiany tła wystąpi. Ewentualnie potrzebny byłby osobny pomiar tła lub jeśli mamy kilka punktów pomiarowych w torze to trzeba by sprawdzać czy wszystkie się zmieniły na raz - wtedy byłby to znak, że zmieniło się tło

    W takiej sytuacji jechał pociąg z prędkością x w prawo:
    Czujnik 1:  ____------______________
    Czujnik 2:  ________------__________
    Czujnik 3:  ____________-------_____
    


    W takiej sytuacji jechał pociąg z prędkością x w lewo:
    Czujnik 1:  ____________-------_____
    Czujnik 2:  ________------__________
    Czujnik 3:  ____------______________


    W takiej sytuacji zmieniło się tło:
    Czujnik 1:  ________------__________
    Czujnik 2:  ________------__________
    Czujnik 3:  ________------__________
  • #19 19389453
    yego666
    Poziom 33  
    Jeśli w sytuacji opisanej powyżej źródłem "zaciemnienia" czujników będzie pociąg przejeżdżający po sąsiednim, równoległym torze ( dokładniej jego cień ), to bez znajomości poziomu czerni ( a tylko na podstawie zmiany pierwszej pochodnej ) nie odróżnimy tego od przejazdu pociągu na który właśnie polujemy.
    Dla tego trzeba znać ten poziom odniesienia.
    Poza tym chyba się wszyscy zgadzamy, że metoda jaką założyła sobie Autorka jest mało optymalna i raczej nie gwarantuje prawidłowego działania w każdych warunkach. Stąd trudno będzie podać rozwiązanie, które będzie niezawodne i pozbawione wad.
    Co do trzech zamiast dwóch czujników, to chyba już jest pewien overkill w stosunku do domeny sprzętowej zakreślonej przez Autorkę na początku. Zresztą proponowany przeze mnie LED pod ciuchcią również nim jest, choć w moim przekonaniu jest właściwym rozwiązaniem :)
  • Pomocny post
    #20 19389589
    bart-projects
    Poziom 29  
    Jedna dioda nadawcza i odbiornik.
    Wyłączamy diodę i mierzymy normalny poziom.
    Włączamy diodę i ma się naświetlenie zwiększyć w stosunku do tego co było przed włączeniem . Nie zwiększa się -> Pociąg zasłania.

    Testujemy tak sobie co określony czas a najlepiej dwu lub więcej krotnie zliczając zasłonięcia i odsłonięcia. Po określonym progu decyzja. To nawet lampki się nie będzie bało.
    Proste jak świński ogon :D
  • #21 19389629
    yego666
    Poziom 33  
    bart-projects napisał:
    Jedna dioda nadawcza i odbiornik.
    Wyłączamy diodę i mierzymy normalny poziom.
    Włączamy diodę i ma się naświetlenie zwiększyć w stosunku do tego co było przed włączeniem . Nie zwiększa się -> Pociąg zasłania.

    Testujemy tak sobie co określony czas a najlepiej dwu lub więcej krotnie zliczając zasłonięcia i odsłonięcia. Po określonym progu decyzja. To nawet lampki się nie będzie bało.
    Proste jak świński ogon :D
    A kolega budował kiedyś makietę kolejkową ?
    Jeśli nie to nie wie że ustawienie czujników z boku pociągu zamiast pod torami okrutnie szpeci makietę i nadaje jej nierealistyczny charakter.
    Sądzę, że z tego powodu czujniki mają być pod lokomotywą a nie obok.
    Może się mylę, ale Autorka powinna to jeszcze dokreślić, bo jak widać są w tej kwestii wątpliwości.
  • #22 19389675
    Justyniunia
    Poziom 36  
    Chwilę mnie nie było, a już dużo się w temacie zadziało.
    Dioda pod lokiem odpada. Czujniki mają reagować na lokomotywy i wagony. Już lepiej nalkejka-cenówka. Czujników na jednym torze będzie więcej.
    Rozważam zastosowanie diody nadawczej i dwóch odbiorników, ale na zasadzie odbiciowej - wszystko ma być w torze, pod pociągiem, zasypane szuterkiem (oczywiście oprócz soczewek fotoelementów) tylko skoro foto oświetlone lampką biurkową powoduje odczyt 40-50, to co będzie kiedy oświetlę to IRED...

    W emiterach nie ma żadnych rezystorów, (no właśnie).
  • Pomocny post
    #23 19389686
    bart-projects
    Poziom 29  
    Nie widziałem wcześniej, że już na to wpadłaś.
    Twój się kalibrował tylko w jedną stronę a ten powinien w obydwie (ale nie testowałem) ;)
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    [EDIT] Dodałem zabezpieczenie gdyby New_adc <= Hist
  • Pomocny post
    #24 19389903
    yego666
    Poziom 33  
    @Ba_rt-projects,
    Nie chciałbym podważać Twojego dobrego samopoczucia, ale chyba nie zauważyłeś zmiany kontekstu.
    Teraz mówimy już o transoptorze w konfiguracji refleksyjnej.
    Wprawdzie nie programuję w basiku od miliona lat, ale jeszcze pamiętam trochę z podstawówki.
    Wydaje mi się, że testujesz po pierwsze event przejścia a nie odbicia wiązki z LEDa nadawczego, ponadto z tego co widzę to zajmujesz się wejściem tylko jednego fototranzystora ( a gdzie drugi? ).
    Bez dwóch fototranzystorów w układzie przeziernym ( takim gdzie wiązka jest przerywana a nie odbijana ) nie określisz kierunku ruchu ciuchci.
    Niestety w przypadku uzycia konfiguracji refleksyjnej ( wszystko pod torami ) złożonej z jednej diody nadawczej i dwóch fototranzystorów raczej również kierunku nie określisz :)
    Ucieszę się jeśli się mylę i w tym układzie się to jednak uda ...
  • Pomocny post
    #26 19390091
    yego666
    Poziom 33  
    Justyniunia napisał:
    Rozważamy różne opcje, wybierzemy najlepsza.
    Skoro mamy już kilka propozycji to bądź łaskawa je przekompilować i wybrać kierunek, który Cię najbardziej interesuje.
    Odfiltrujemy niepotrzebne wątki i dyskusja pójdzie we właściwym kierunku.
  • Pomocny post
    #28 19390531
    BlueDraco
    Specjalista - Mikrokontrolery
    Jeśli chcesz wykrywać pociąg, to nie jest właściwa metoda. Na ten temat masz sporo artykułów w sieci. Oczywiście najlepsze są odcinki izolowane i wykrywanie zajętości przez monitorowanie natężenia na odcinku. Czujniki innego rodzaju, nie podłączone do torów muszą być odporne na to, co na zewnątrz, czyli np. na poziom oświetlenia. Można użyć diod IR i odbiorników zdalnego sterowania w podczerwieni - kosztują grosze i obsłuży je ATtiny. W torze obok siebie masz diodę i odbiornik. Dioda świeci do góry, a odbiornik odbiera to, co odbije spód taboru. Odbiornik ma w środku wzmaczniacz z ARW i dyskryminację częstotliwości, więc nie reaguje na zwykłe oświetlenie. Generujesz krótkie paczki impulsów 38 kHz do sterowania diodą i sprawdzasz odpowiedź odbiornika. Diodę sterujesz dobranym doświadczalnie, b. małym prądem - zgaduję, że max. 1 mA, i masz dość niezawodne rozwiązanie "optyczne".
  • #29 19390578
    Justyniunia
    Poziom 36  
    Odcinki izolowane są dobre jak ktoś ma kolejki Marklin, w każdym innym przypadku trzeba w każdym pojeździe montować rezystory między kołami.

    Pierwszy układ działa, jeśli da się go ulepszyć to dobrze, jeśli nie, spróbuję jeszcze z diodą nadawczą świecącą w górę i dwoma odbiornikami zbierającymi światło odbite od podwozia (ograniczę max odczyt sprzętowo lub programowo).

    Później przetestuje kod Barta.
    Tam jest jeden czujnik (można dopisać drugi).
    Bart zawsze daje wędkę ;) tylko jaką!
    Włókno szklane, kołowrotek z podwójnym łożyskowaniem itd... (Nie znam się na wędkach)
  • Pomocny post
    #30 19390646
    yego666
    Poziom 33  
    Justyniunia napisał:
    , jeśli nie, spróbuję jeszcze z diodą nadawczą świecącą w górę i dwoma odbiornikami zbierającymi światło odbite od podwozia (ograniczę max odczyt sprzętowo lub programowo).

    Szkoda czasu na ten eksperyment. W tym układzie to nie zadziała, ale to już pisałem wcześniej. Jak widać słabo czytasz to co piszą Twoi koledzy.
    Układ trzeba nieco wzbogacić by oszukać fizykę :)

Podsumowanie tematu

Dyskusja dotyczy budowy i kalibracji czujnika światła opartego na mikrokontrolerze m328p, który ma za zadanie monitorować poziom oświetlenia i reagować na jego zmiany. Uczestnicy proponują różne metody kalibracji, w tym wykorzystanie filtrów dolnoprzepustowych i górnoprzepustowych, a także pomysły na uproszczenie układu przy użyciu czujników Halla. Wskazują na problemy związane z detekcją pociągów w zmiennych warunkach oświetleniowych oraz sugerują zastosowanie diod IR i odbiorników do eliminacji wpływu światła zewnętrznego. Wiele odpowiedzi koncentruje się na optymalizacji kodu oraz poprawie dokładności pomiarów, a także na konieczności uwzględnienia histerezy w detekcji.
Podsumowanie wygenerowane przez model językowy.
REKLAMA