Skocz do zawartości

encelados

Użytkownicy
  • Zawartość

    26
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    1

encelados zajął 1. miejsce w rankingu.
Data osiągnięcia: 19 lipca 2017.

Treści użytkownika encelados zdobyły tego dnia najwięcej polubień!

Reputacja

1 Neutralna

O encelados

  • Ranga
    3/10

Informacje

  • Płeć
    Mężczyzna
  1. Witam. Do wszystkich miłośników paska menu z poleceniami tekstowymi (Command texts) po prawej stronie okna Eagle: Moja wersja Eagle'a to 6.5.0. Kolega "Nawyk" zaproponował rozwiązanie: Niestety, u mnie zaproponowane rozwiązanie powoduje błędy przy otwieraniu pliku ze schematem. Aby działało to bezbłędnie - odpowiedni fragment wpisu w pliku "eagle.scr" powinien wyglądać tak: SCH: Grid Default On; Change Width 0.006; MENU 'Add' 'Change' 'Copy' 'Delete' 'Display' 'Edit' 'Grid' 'Group' 'Move' 'Name' 'Net' 'Quit' 'Rect' 'Route' 'Script' 'Show' 'Signal' 'Split' 'Text' 'Value' 'Via' 'W
  2. Sorry za kłopot. Oczywiście spróbuję sam. Komunikat pewnie się pojawi. O ile nastąpi sukces. Na film raczej nie ma co liczyć. Nie dlatego, że nie chcę. Tylko dlatego, że nie mam kamery. Ani nawet... smartfona. A mój cyfrowy aparat foto (kompletnie "przedpotopowy") oraz aparat foto w moim telefonie komórkowym (też kompletnie "przedpotopowym" :->) robią fotki w takiej jakości, że kilka dni później - sam muszę się domyślać co to takiego "sfotografowałem" W każdym razie, niezależnie od mojego sukcesu lub porażki - wciąż pozostaje "druga alternatywa": dorobienie funkcji umożliwiając
  3. A czy mógłbyś zamieścić przykładowy kod "żarówkowy" dla zwykłej jednokolorowej diody LED (może być tylko jedna)? W takim przypadku jasnością diody będziemy sterować chyba zmieniając wypełnienie sygnału PWM...
  4. Dziękuję bardzo za wyczerpujące rozwinięcie tematu Co wybrać na jutro? Trudny wybór, bo ciekawi mnie i jedno i drugie. To może tak: najpierw popracujmy nad udawaniem na LEDach powolnych żarówek. A potem (pojutrze?) zajmiemy się dorobieniem funkcji umożliwiającej kontrolę diodek przez port szeregowy (ustawianie kolorów, jasności, mrugania itp) poprzez wpisywanie ciekawszych komend klawiaturowych zamiast trywialnych N i P Ciekawi mnie też czy gdybym zechciał wyjść z "piaskownicy" Arduino (oraz Arduino IDE) i zaprogramować jakiegoś AVR-ka (np. ATmegę 328P) pisząc program w C w np. At
  5. Witam ponownie - znowu upłynął ponad tydzień? Na wstępie chcę podziękować koledze z forum o nicku szrek2003 za podpowiedź będącą innym spojrzeniem (oszczędzającym) na to, co chcę osiągnąć w moim "projekcie". Przepraszam też, za mój głupawy i egoistyczny komentarz dotyczący nielogiczności zasięgu lokalnych zmiennych statycznych. Sądząc po długości Twojego ostatniego wpisu - to chyba teraz Ty się zirytowałeś. I słusznie, bo: programy pisane dla mikrokontrolerów AVR (a także dla innych mikrokontrolerów) potrafią na pewno realizować dużo więcej celów, niż ten mój problem. Ale dało mi to do my
  6. A wydawało mi się, że to rozumiem W swoim przykładzie pod tytułem: "żeby jeszcze bardziej zakręcić" - pokazujesz zmienne lokalne różnych (2 ?) typów o takich samych nazwach. Ale w obrębie jednej funkcji. Czy żeby to rozumieć prawidłowo, mam myśleć że zmiennna typu static o nazwie licznik zadeklarowana w funkcji akuku() i pozostawiona w pamięci mikrokontrolera po zakończeniu działania tej funkcji - nie zostanie "nadpisana" (pomylona?) ze zmienną typu static o takiej samej nazwie licznik zadeklarowanej w innej funkcji o nazwie np. kukuryku()? Jeśli tak, to jest to faktycznie lekko... niel
  7. Nie mam dość. A wręcz odwrotnie: czuję niedosyt Wcześniej napisałeś: Chyba wiem dlaczego działa, chociaż niby nie powinno: początek funkcji glowny_fsm()? // Zmienna statyczna - to przypisanie wykona się tylko raz, // na początku programu. static uint8_t sygnal_state = S1; Wracając do Twojego ostatniego postu: niestety, wciąż jeszcze musimy podchodzić do sprawy w sposób tylko "Arduinowy". Próbowałem, zgodnie z Twoimi wcześniejszymi sugestiami, zmienić kod tak, żeby używając tylko jednej funkcji wykryj_klik() i tylko jednej funkcji sito() odkłócać oraz wykrywać wciśnięcie dwóch przyciskó
  8. Dziękuję za cenne uwagi i porady. Zastosuję się. Fotek... nie będzie. Przynajmniej na tę chwilę. Bo moja "próba zbudowania w domu modelu (...)" - oznaczała na razie tylko złożenie prototypu układu na płytce stykowej i napisaniu kodu EDIT: Napisałeś No jasne. Przecież to było wyjaśnione już w filmie Barei pod tytułem "Miś":"Nie mieszajmy myślowo dwóch różnych systemów walutowych. Nie bądźmy peweksami." EDIT 2: W nawiązaniu do tego, że "Fotek... nie będzie (...)". Bo to na razie tylko 7 LED-ów i 1 przycisk, wpięte w płytkę stykową: Ten mój model semafora - w zamyśle miał być tak
  9. 1. To nie będzie makieta do kolejki H0. Więc skala jest... nieistotna. 2. No właśnie nie. Będą to same diodki (LED) plus sygnalizacja na LCD (początkowo Monitor Portu Szeregowego). Ale nie "kilka przycisków" - tylko... jeden przycisk. Po jego wciśnięciu wyświetlane przez LED-ki sygnały (oraz ich opisy na LCD lub w Monitorze Portu Szeregowego) będą się zmieniały "sekwencyjnie" - czyli po kolei, z jednego na drugi. 3. Nie mam pojęcia. Jakie powinny być opóźniena (w ms) zapalania i gaszenia LED aby to wyglądało na tradycyjną żarówkę? Próba zbudowania "w domu modelu pół-automatycznego
  10. To już tylko krótkie wyjaśnienie. Rzeczywiście brzmi to trochę jak nazwa jakiegoś Uzi. Jednak komora - to w tym przypadku (zupełnie nie nabojowa) oprawa świetlna. A pół-samoczynny - bo sygnał zezwalający na przejazd pociągu włącza dyżurny ruchu z nastawni, a gdy pociąg minie semafor - to semafor samoczynnie przełącza się na sygnał S1 ("Stój"). W odróżnieniu od semaforów samoczynnych SBL (Samoczynna Blokada Liniowa), w której przy torach są czujniki "masy" i semafor wykrywając nadjeżdżający pociąg - sam wyświetla mu odpowiedni sygnał w zależności od "zajętości" torów na kolejnych dwóch
  11. To nie tak. Rzadko kiedy się denerwuję. Ze mnie jest taki "niespotykanie spokojny człowiek". Raczej nigdy nie denerwuję się gdy mi coś nie wychodzi. A jeśli już taki "wyjątkowy wyjątek" się zdarzy, to denerwuję się tylko na siebie. Więc: 1. Po "pierwsze primo" - nie przepraszaj. Bo nie masz za co. 2. Po "drugie primo" - to ja przepraszam. I Ciebie i pozostałych kolegów z tego Forum. Przepraszam za moje czasami zbyt "impulsywne" wpisy, spowodowane moją niecierpliwością. To prawda, że w "przerwach" mogłem zajrzeć do podręcznika (którego nie mam) lub odpytać "wujka Google"i uzupełnić swoj
  12. Po kolei: Tu zacznę, sorki za wyrażenie, "od tyłu". 1. Moja funkcja będzie działała pod warunkiem, że dostaje wartości 0 lub 1. Przepraszam za (może głupie) pytanie - ale co innego ta moja funkcja może dostać? Co innego oprócz 0 lub 1 może dostać, jeśli wywoływana w niej funkcja sito() może zwrócić tylko 0 lub 1? 2. "Nie projektujemy tu rakiet" - no, to wiadomo "A operatory logiczne opanujesz po pierwszym przeczytaniu i użyciu. Dobra, biegłość - po dziesiątym." -----------------------I TU WAŻNA UWAGA ---------------------------------------------------------- Chyba się nie rozu
  13. No tak. Czasem najciemniej bywa pod latarnią... "Dobrych stron" jest więcej: teraz już wiem jak bardzo łatwo zgubić z oczu główny cel, kiedy zacznie się przyglądać rzeczom z pozoru ważnym, a ostatecznie zupełnie nieistotnym. Proste rzeczy "programuję" i analizuję "w głowie". Bardziej złożone (czyli z cyklu: "to się w głowie nie mieści...") - na papierze. "Na sprzęcie" zwykle testuję dopiero to, co uważam za "zakończony" szkic programu. Teraz - w razie potrzeby - będę tak sprawdzał także pojedyncze funkcje programu (szkicu). Widzę też, że wybierając dział do zadania pytania - zbyt optymi
  14. Jeszcze jedna próba Zakładając, że drgania styków objawiają się tylko i wyłącznie "naprzemiennym ciągiem jedynek i zer" - tzn. nie jest możliwa sytuacja, że uda się złapać po kolei dwa (lub więcej) zera albo dwie (lub więcej) jedynki - to odkłócanie "niesfornego przycisku" powinna załatwić funkcja w takiej postaci: #define pinPrzycisku 2 int sito() { const int czekaj = 5; static int zlicz, poprzedni, stabilny; int odczyt = digitalRead(pinPrzycisku); if (odczyt != poprzedni) { ++zlicz; if (zlicz < czekaj) { return stabilny; } if
  15. No fakt. Umknęło mi to. Jeśli wywołam funkcję gdy zlicz będzie miał wartość z zakresu od 0 do 4, to aktualny będzie zawsze 0. Jeśli stabilny będzie "pamiętał" też 0, to nic złego się nie stanie: zwrócę z funkcji ten sam stabilny. Ale jeśli stabilny będzie "pamiętał" 1, to zmienię i zwrócę z funkcji nową wartość zmiennej stabilny bez... sprawdzenia stanu przycisku. Teraz powinno być dobrze: #define pinPrzycisku 2 int sito() { const int czekaj = 5; static int zlicz, stabilny; int aktualny = digitalRead(pinPrzycisku); if (aktualny != stabilny) { if (++zlicz == czekaj)
×
×
  • 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.