Atmega i problem z czujnikiem pojemnościowym

Jacek pisze:

Pójdzie na Atmega8? Schody u mnie zakręcają, musiałbym dać 2 kamery. Na razie szykuję się na wersję z nadajnikiem częstotliwości z drutu rozciągniętego wzdłuż schodów i odbiornikami w stopniach.

Reply to
AlexY
Loading thread data ...

Poczytaj od QTouchADC. Algorytm genialny w prostocie, dwa pomiary różnicowe wywalają większość zakłóceń. Praktycznie zero elementów zewnętrznych (no, warto dać rezystor dla zmniejszenia EMI). Pomiar bardzo stabilny i działający. Sam mam elektrody wstawione ok. 1cm od powierzchni dotykanej (w szafce od wewnątrz, natomiast dotyka się tego na zewnątrz szafki) i działa bez problemu. Testowałem też dla 2cm, ale margines zmian był już niezbyt duży.

Będziesz też musiał pomyśleć nad elektrodami, bo nie wiem czy cienki drut da dużą zmianę pojemności przy przyłożeniu stopy. Potestuj z paskami folii alu czy miedzianej.

Tu masz to w miarę dokładnie opisane:

formatting link
Jeżeli będziesz to pisał sam, to:

- oba pomiary musisz odjąć od siebie, a nie sumować jak jest w opisie

- potrzebujesz drugiego pina ADC z +5V do ładowania kondensatora w ADC (tego też nie ma nigdzie opisane, ale można się domyślić po wymogach).

Pozdrawiam

Marek

Reply to
Marek Wodzinski

W dniu 2015-12-22 o 00:41, AlexY pisze: A to widziałeś?

formatting link

Reply to
janusz_k

I na chceniu sie skonczy.

Reply to
Zenek Kapelinder

janusz_k pisze:

Dziwne rozwiązanie, po co tam tranzystor? Sprawdzałem podobny układ, ogólnie wzorowałem się na

formatting link
nie znam szwabskiego, tak że mogłem coś pomieszać.

Reply to
AlexY

Zenek Kapelinder pisze:

Komu i na co odpisujesz?

Reply to
AlexY

Jak to komu? Tobie. Napisales ze chcesz zrobic. Odpisalem ze na chceniu sie skonczy. Nie dlatego zeby sie nie dalo. Ty nie zrobisz.

Reply to
Zenek Kapelinder

Użytkownik "AlexY" snipped-for-privacy@irc.pl napisał w wiadomości news:n5lrp3$fp2$ snipped-for-privacy@dont-email.me...

Pójdzie na każdym procku, kamera ma tę zaletę iż pierwszy stopień można zapalić gdy ktoś zbliży się na 50cm czy metr do 1 stopnia i zawsze wykryje zmianę, nie zależnie od prędkości czy wielkości stopy. Osobiście uważam iż podświetlenie powinno wyprzedzać o 2-3 stopnie idącego a nie dopiero gdy stanie na stopniu się zapalać ale o gustach się ne dyskutuje...

Reply to
Jacek

Użytkownik "Jacek" snipped-for-privacy@gmail.com napisał w wiadomości news:n5qmcr$gt5$ snipped-for-privacy@news.icm.edu.pl...

A może połączyć jedno z drugim i... Z wyprzedzeniem zapalać oświetlenie, które zapobiega wypierniczeniu się w ciemności na schodach, a w momencie nastąpienia, coś ozdobnego, jako dodatek?

Reply to
ACMM-033

Zenek Kapelinder pisze:

aha. Ciekawe na jakiej podstawie to stwierdziłeś.

Reply to
AlexY

Jacek pisze:

Jeszcze nie wiedziałem żeby ktoś podpinał kamerę do atmegi8 co nie znaczy że się nie da, idę o zakład że prędzej opanuję obsługę ADC aniżeli kupie/dostanę/podłączę/obsłużę kamerę.

Tak, da się, można też użyć czujki IR, mikrofalowej itd, tylko to przerost formy nad treścią.

Chyba nie czytałeś wątku od początku.

Reply to
AlexY

Bylem u wrozki. Jak masz kaprys to moge za pol roku spytac jak Ci idzie.

Reply to
Zenek Kapelinder

Kamery cctv mają wyjścia 'alamrmów' i jak sobie zaprogramujesz w kamerze, że w danym sektorze coś się poruszy, to ona zmieni sama stan na tym wyjściu. Banał. Tylko cena kamery pewnie Cię zniechęci :-)

Weź nie demonizuj tego ADC. W Arduino:

- inicjalizacja (opcjonalna); analogReference(DEFAULT);

- odczyt dowolnego kanału (zwraca int): analogRead(nr_pinu_z_adc); Koniec.

Jak chcesz rzeźbić w asemblerze czy C, to rzeczywiście trzeba spojrzeć do datasheeta i wpisać odpowiednie wartości do odpowiednich rejestrów, żeby coś odczytać. Arduino dodaje warstwę abstrakcji. Czasem jest to upierdliwe, ale czasem całkiem dobre, bo program możesz przenieść na inny procek praktycznie bez zmian i zastanawiania się co się tam po rejestrach pozmieninało.

Jak się przyzwyczaisz do Arduino, to okaże się, że przy okazji liznąłeś C zamiast bezużytecznego Basica w Bascomie.

Pozdrawiam

Marek

Reply to
Marek Wodzinski

W dniu 2015-12-29 o 01:40, Marek Wodzinski pisze:

To jest ukłon w kierunku Bascoma :)

Powielasz bzdurne mity głoszone przez ludzi, którzy nigdy nie mieli styczności z Bascomem i którzy utożsamiają go Basiciem. Wiele rzeczy w Bascomie robi się o wiele prościej i szybciej niż w C właśnie dlatego, że "warstwa abstrakcji" w nim istnieje od samego początku. Język ten cały czas się rozwija i rośnie liczba bibliotek obsługujących peryferia, włącznie z obsługą dyków czy ethernet, a przy tym pisanie programów jest łatwiejsze i szybsze niż w jakimkolwiek innym języku. Poza tym Bascom to nie Basic. On tylko był tworzony na bazie czy też podobieństwo Basica i obecnie niewiele ma z nim wspólnego. Zatem utożsamianie go z Basiciem świadczy o kompletnej ignorancji osoby tak twierdzącej. Fakt, że C jest bardziej elastyczny i ma większe możliwości, ale tylko dlatego, że operuje na niższym poziomie programowania i przez to kody wynikowe są krótsze, ale samo programowanie wymaga większej wiedzy i grzebania w dokumentacji. Czy lepsze i bardziej elastyczny od Bascoma? Niekoniecznie, ponieważ Bascom umożliwia robienia wstawek assemblerowych. Czyli tego co nie zrobisz bezpośrednio w Bascom, możesz zrobić w assemblerze. Za to sam program w C jest dłuższy niż w Bascomie i trzeba się przy nim trochę nagłowić. Dużym plusem C jest to, że są kompilatory na różne procesory, a Bascom obsługuje tylko i wyłacznie Atmela serię MISC 51 oraz RISC AVR. Przewagą Bascoma jest natomiast to, że o wiele szybciej można go poznać i o wiele łatwiej się pisze programy.

Reply to
Uzytkownik

Uzytkownik pisze: [ciach flamewar]

Pany, dyskusje o wyższości jednego czy drugiego prowadźcie na advocacy. Ja już pisałem, próbowałem podejść do C i go odrzuciłem, to nie ja będę się naginał do języka tylko wybiorę to co mi pasi, nie jestem lemmingiem. A pasi mi assembler bo kod robi dokładnie to co ja chcę i basic bo jest intuicyjny. Kamera IP z ilomaś tam strefami detekcji odpada, nie te koszta i szpeci. Przerwa świąteczna zakończona, wracam do dłubania.

Reply to
AlexY

W dniu 2015-12-28 o 02:42, AlexY pisze:

Przecież pisze że podłączony do rozładowania kondesatora przez 220om.

Ale tam masz wszystko opisane i nawet na programie się można wzorować.

Reply to
janusz_k

janusz_k pisze:

Widzę co on robi, tylko nadal nie widzę sensu żeby robić to przez tranzystor, to nie jest 2200uF, nic nie upali, to samo robi się każdą inną metodą, i to bez opornika.

Program programem a opisy, zastosowania i sztuczki/kruczki w części opisowej.

Reply to
AlexY

Mity??. Bascom to jest kpina a nie język programowania. Pisałem o tym wielorokrotnie i zawsze będę to powtarzał. Ograniczenie dwóch operandow i jednego operatora, nie da się zapisać wyrażenia x=2*z+y. Nie ma żadnej optymalizacji kodu bo to nie jest nawet kompilator tylko konsolidator asemblerowych biliotek i makr tworzonych bez zachowania żadnych konwencji w podawaniu argumentow procedur/funkcjj. Już powyższe dwa zarzuty zdradzają, że twórcy owego pseudojezyka nie mieli żadnej styczności i doświadczenia z profesjanalnymi narzędziami do analizy leksykalnej i składniowej (flex, bison). Przez co wymyślając od nowa koło stworzyli takiego potworka. Ale to nie wszystko: brak możliwości pisania bibliotek (nie asemblerowych) co w programiście wpaja ograniczenie "jednego programu" przez co taki później ma problem z ogarnięciem bardziej skomplikowanych rzeczy np. wielizadaniowości. Bascom niestety produkuje kaleki programistyczne, których rozwój zatrzymuje się na jednej rodzinie mcu z jednym pseudojęzykiem.

Reply to
Marek

W dniu 2015-12-29 o 20:34, AlexY pisze:

No nie, jak zrobisz to portem, to zanim go przełączysz na wejście to rezystory wewnętrzne rozładują ci kondesator, widocznie nie dało się tego ominąć i dlatego dołożyli tranzystor.

Ale dość prosto opisane, da się po swojemu napisać program.

Reply to
janusz_k

janusz_k pisze:

Jakie rez wew? Port jest przełączany w stan wysokiej impedancji (rezystory podciągające odłączone) i tyle, mam wrażenie że ten układ robił ktoś nie do końca świadomy tematu, nie znam C a chyba na tym bazuje arduino ale widzę tam 2 rzeczy świadczące o tym że autor projektu stawia pierwsze kroki w mikrokontrolerach:

  1. ładowanie wyłącza dopiero na koniec cyklu, po otrzymaniu stanu wysokiego na wejściu (w tym momencie powinien przerwać), po 100mS debouncingu i po ustawieniu switchstate.
  2. rozładowanie potrwa prawdopodobnie 1/4 uS bo zaraz po włączeniu tranzystora bez żadnego opóźnienia jest on wyłączany. IMHO wpisanie zera w port pomiarowy (zaraz sprawdzę czy trzeba przełączać pin na wyjście) będzie skuteczniejsze a zaoszczędzi się jeden port.

Toteż napisałem i działa jak działa czyli ma za małą czułość, dzisiaj robię wersję na ADC, chyba że znowu zmarnuję dzień na czołgi...

Reply to
AlexY

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.