Skocz do zawartości

Waldy

Użytkownicy
  • Zawartość

    36
  • Rejestracja

  • Ostatnio

Reputacja

11 Dobra

O Waldy

  • Ranga
    3/10

Informacje

  • Płeć
    Mężczyzna

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Dobry wieczór,borykam się z problemem poprawnego wgrania bootloadera jak i kodu programu dla układu Atmega88PA w obudowie TQFP32. Układ jest już wlutowany na płytkę do programowania używam przejściówki kanda ISP na 6 pinów. Co ciekawe sprawdzając podłączony avr w programie mkAVR Calculator atmega jest poprawnie wykrywana to też odrzuciłem(mam nadzieję) opcję błędnego połączenia wyprowadzeń mosi,miso,sck i resetu. Podmieniłem programatory i tasiemki i sytuacja się nie zmienia mkAVR Calculator wykrywa za każdym razem a Adruino ide sypie błędem. Przeinstalowałem jeszcze raz środowisko 1.8.13, prz
  2. Witam to znowu ja Teraz trochę coś z innej pułki nie chciałem spamować forum nowym wątkiem,chociaż wydaje się ciekawy czyli coś o bezpieczeństwie a konkretnie software'owa krańcówka. Chciałbym taką opcję mieć bo wiadomo różnie to bywa. Tutaj mam parę pytań: - Czy jest możliwość realizacji takiej krańcówki omijając przerwanie i czy jest to "zgodne ze sztuką" . Mam tu na myśli to że przerwanie realizuje się "nadrzędnie" i czy jest możliwość wywołania przerwania z poziomu programu np. jeżeli pozycja >= 0 to bach przerwanie w którym miga dioda dół i cewka dół jest wyłączona.
  3. Można by spróbować użyć debouncer.fell() albo debouncer.rose()) - wyzwalanie poprzez zmianę stanu naciskanego przycisku, używając do tego biblioteki Bounce2 .
  4. Hmm,stany to u mnie po prostu odczyty poszczególnych przycisków po debouncingu z wyjątkiem stanu3 i 4 który przypisałem tak bo pasował mi do kolejności debouncerów przycisków góra/dół - no faktycznie może jest to nieczytelne dla drugiej osoby/być może nawet bardzo(poprawię to). Szczerze mówiąc po przeczytaniu mam trochę mętlik w głowie no muszę sobie to na spokojnie przeanalizować.Może napiszę jaki ja miałem zamysł na strukturę(nie wiem czy to dobre słowo) kodu jako laik nie programista: Mam cztery tryby każdy wyzwalany osobnym przyciskiem tak żeby nie było pomyłki co kiedy robimy i żeby
  5. Ok,to na szybko objaśnienia tak żeby nie trzeba było przeszukiwać całego "kodu" : stan6 - odczytanie stanu przycisku który wybiera tryb bezpośredniego dojazdu do zapamiętanej pozycji w pamięci eeprom( wartosc_dol i wartosc_gora ), debouncer3.feel - zmiana stanu przycisku(przycisk_do_gory) po którym ramię dojeżdża do zapamiętanej pozycji "wartosc_gora" , debouncer4.feel -zmiana stanu przycisku(przycisk_na_dol) po którym ramię dojeżdża do zapamiętanej pozycji "wartosc_dol" , stan3 i stan4 pierwotnie to : bool stan3 = false; bool stan4 = false; I cały kod poniż
  6. Cześć,chciałbym uzyskać taki efekt taki że po chwilowym naciśnięciu przycisku "do góry" ramię jedzie do zapamiętanej pozycji zdefiniowanej jako wartosc_gora i analogicznie po chwilowym naciśnięciu przycisku na dół ramię zdąża do zapisanej pozycji wartosc_dol. Tak też się dzieje ramię ładnie zdąża do zadanej pozycji po naciśnięciu odpowiedniego przycisku ale tylko raz. ? Dlaczego tak się dzieje ? Może ja źle definiuje warunek po else jak już wykona się dojazd do zapamiętanej pozycji ? Próbowałem za else przypisać do odpowiedniego stanu false, stan przeciwny do wystawionego po wykryciu zbocza,o
  7. Faktycznie Kod jeszcze nie jest ostateczny - puki co jest nasiane 2/3 tego co chciałbym mieć ale to i tak już duży sukces. Proszę: #include <EEPROM.h> #include <Bounce2.h> #define zapis_wysokosci_gora A4 // zapis górnej wysokosci do eeprom #define zapis_wysokosci_dol A5 //zapis dolnej wysokosci do eeprom #define przycisk_do_gory 7 #define przycisk_na_dol 6 #define DZW 11 // dioda zapisu wysokości #define przycisk_regulacji 5 //przycisk umozliwiający
  8. Zastosowałem się do powyższych sugestii i muszę przyznać że "chodzi jak złoto"
  9. A co masz wybrane w narzędziach może tam jest coś nie tak może rezonator kwarcowy jest źle wybrany ?
  10. Witam,chciałbym mieć możliwość zapisu do pamięci eeprom dwóch pozycji góra i dół(w programie H i L) i mam taką zagawostkę od czego uzależnić wartości H i L żeby później można było je odczytać(jako dwie inne wartości wysokości) i porównać w dalszych etapach. Czy jak np uwarunkuje je od odczytu z czujnika to nie zapisze wartości H i L jako tej samej wysokości ? Problem zaczyna się w //ZAPIS USTAWIONEJ WYSOKOŚCI : #include <EEPROM.h> #include <Bounce2.h> #define przycisk_zapisu_wysokosci 4 // przycisk zapisujący ustawioną wysokość do pamięci eeprom
  11. Podaj więcej szczegółów Na co wgrywasz,czym co masz wybrane itp. A najprawdopodobniej to sprawdź czy wszystkie kabelki masz podłączone tak jak powinny być jeśli nie używasz podstawki.
  12. Mały update tematu,wrzucam poprawiony kod programu (na płytce stykowej działa). Dodatkowo schemat oraz wstępny projekt płytki.Może komuś też się przyda bądź będzie rozwijał dalej temat według własnych upodobań Całość wykonana jest w EasyEDA Tutaj odnośnik do całości klik Mile widziane sugestie co do schematu bądź wartości elementów,pozdrawiam Waldek. Projekt_EHR_wersja_1.rar schemat.pdf
  13. Wrzuciłem z poprawkami i działa aż miło się patrzy ^^. Tutaj pytanie chcę uzyskać kąt 70 stopni na czujniku - zakres pracy ramienia 0 -70 (orientacyjnie bo i tak pewnie wszystko się zweryfikuje na maszynie). Pomysł jest taki; fizycznie ustawić zadany kąt i odczytać wystawianą wartość ADC, później przeskalować ją do zakresu w jakim pracuje potencjometr zadający pozycje czyli 0 - 1023 tak żeby wykorzystać jego pełen zakres pracy/obrotu z uwagi na wygodę użytkowania. Czy warto by było zrobić na odwrót ? A może przeskalować obydwa potencjometry na "jakiś" wspólny zakres ? Chodzi mi o t
  14. Mnie też pomagają Plik w załączniku. Wszystko jest na warstwie Top to też jak będziesz chciał sam robić to musisz wydrukować w lustrzanym odbiciu żeby się zgadzało później no chyba że nie będą Ci przeszkadzać ścieżki razem z komponentami. liso.rar
×
×
  • 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.