Skocz do zawartości

Rogal

Użytkownicy
  • Zawartość

    22
  • Rejestracja

  • Ostatnio

Reputacja

18 Dobra

O Rogal

  • Ranga
    2/10
  • Urodziny 27.07.1989

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Warszawa
  • Zainteresowania
    lotnictwo
  • Zawód
    pilot samolotu

Ostatnio na profilu byli

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

  1. Rogal

    Co wybrać po Arduino?

    Ja osobiście poszedłem w stronę Atmeli. To jest dokładnie ten sam rodzaj mikrokontrolera jaki siedzi w Arduino Uno tylko, że ja postanowiłem korzystać z nich bez Arduino. Mniej więcej chodzi o to co napisał ethanak. Dodatkowymi zaletami jest dość niska cena (Atmega8 jest za ok. 7 zł) i dostępność obudów THT. Dla mnie osobiście układy scalone w obudowie SMD są pewnym utrudnieniem bo nie umiem lutować SMD - ucząc się STM32 korzystałem z płytek prototypowych i w sumie to nie wyszedłem poza ten zakres korzystania. Co do "minusów" to próg przejścia z Arduino na goły mikrokontroler może wydawać się
  2. Cześć, Właśnie kończę mój pierwszy mały projekt i zastanawiam się czy ewentualnie kwalifikowałby się do rabatu. Nic wyszukanego - podlewaczka do roślin. Mikrokontroler atmega8a. Czujniki wilgotności gleby, napięcia zasilania i nasłonecznienia. W projekcie jest m.in. sterowanie pompą za pomocą PWM, timer taktowany kwarcem zegarkowym, usypianie mikrokontrolera i dość zawiła logika działania tego wszystkiego (na maszynie stanów). Mogę opublikować schemat z eagla (nie gwarantuje, że w 100% poprawny - dopiero się ucze) oraz kod.
  3. Hej, Wrzucam zadania domowe. W zadaniach 9.1 oraz 9.2 kolejność podłączenia diod do wyjść ekspandera może być trochę nieintuicyjna - są w kolejności 3, 0, 1, 2. We wszystkich zadaniach zdecydowałem się na dodatkowe buforowanie rejestrów OLAT i IODIR ekspandera w pamięci mikrokontrolera. Zapisy do tych buforów jak i bezpośrednio do mniej używanych rejestrów ekspandera zrealizowałem za pomocą przesunięć bitowych trochę tak jak w AVR. /*Zadanie domowe 9.1 Podłącz do ekspandera kilka diod świecących np.: 4 i napisz program, który pozwala na włączanie i wyłączanie diod poprzez wysyłanie od
  4. Zastanawiam się co w sytuacji gdy dajmy na to kupiłem na allegro niedziałający monitor. Zdjąłem obudowę, zrobiłem recap używając do tego cyny z ołowiem i nagle monitor zaczął działać. Mogę go komuś podarować albo odsprzedać?
  5. Rogal

    UART STM32 i Arduino

    Pierwsze co mi przyszło do głowy to różnica napięć, STM32 jest na 3,3V a UNO na 5V. Może konwerter poziomów logicznych by pomógł? Dodatkowo można by się zastanowić z którego UARTa korzysta ST zaprogramowany w ten sposób. Nigdy nie programowałem tych mikrokontrolerów tak jak Arduino. Programując go w ten sposób, możesz odczytać dane na PC podłączonym przez USB z płytką? Spróbuj podłączyć do PA2 zamiast PA9.
  6. Póki co nie wymyśliłem nic innego niż odbieranie bajt po bajcie. Zadanie 5.2: #include <string.h> #include "stm32f1xx.h" #define RX_BUFFER_SIZE 4 //String size + 1 UART_HandleTypeDef uart; void send_string(char* s){ HAL_UART_Transmit(&uart, (uint8_t*)s, strlen(s), 1000); } int main(void){ SystemCoreClock = 8000000; HAL_Init(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_USART2_CLK_ENABLE(); GPIO_InitTypeDef inout; /*PIN PA2 AS TX (ALTERNATE)*/ inout.Mode = GPIO_MODE_AF_PP; inout.Pin = GPIO_PIN_2; inout.Pull = GPIO_NOPULL; inout.Speed = GPIO_SPEED_FREQ_L
  7. Wchodzi ale też z niej wychodzi - otrzymałeś 2 komunikaty o otwartym oknie bez indykacji, że program wszedł do pętli pomiędzy nimi. To powinno wyglądać tak, że masz 1 komunikat o otwartym oknie a później tylko, że program jest w pętli. To co wyżej napisał Belferek ma dla mnie dużo sensu warto by było to sprawdzić przed dalszą diagnozą. Na późniejszym etapie nauki można by było się pokusić o filtr RC na tym przycisku. https://forbot.pl/blog/czym-jest-filtr-rc-jak-dziala-i-co-warto-o-nim-wiedziec-id40448
  8. Drgania styków? Jak na moje to program nie wpada w tą pętle while, można to sprawdzić dodając tam jakiś println z napisem np. "jestem w pętli while" i zobaczyć czy się wyświetli i jak tak to w jakich sytuacjach.
  9. Tak się zastanawiam. Czy w przypadku każdego stanu konieczne jest ustawianie go na nowo jeżeli nie zostały spełnione warunku do przejścia do kolejnego stanu (instrukcja w blokach else)? when S0 => if(not DPSwitch(0)) = '1' then Stan <= S1; end if; Przetestowałem coś takiego i działa ale czy są jakieś inne względy z powodu, których w każdym stanie powinien znaleźć się blok else z określeniem aktualnego stanu ponownie na ten sam stan w którym już i tak się znajduje?
  10. Na pewno jest tak jak mówisz ale dopiero muszę do tego dojść. Arduino jeszcze dałbym rade sobie skonfigurować do swoich potrzeb programując bity w atmedze ale na ESP to w sumie nie wiem jak to zrobić. Pisząc wczorajszy komentarz chodziło mi bardziej o zestaw funkcji dostarczone przez arduino niż o samą płytkę. A ja bym chociaż jeden program w kursie chciał zobaczyć na VSC.
  11. Jakiś czas programowałem AVRy w atmel studio i mi w arduino brakuje delikatnie niższego poziomu. Nawet nie chodzi mi o jakieś wstawki w ASM tylko bardziej właśnie o dokładną konfiguracje timerow, adc, uart etc, także podział projektu na pliki. Wiem, że generalnie kompilator zrobi robotę i pewnie w 99% bede mial to czego potrzebuje no ale taki przywilej hobbysty, że mogę się rozdwodzic nad prescalerem adc i sleep mode żeby osiągnąć lepsze rezultaty a nie tylko wystarczające. Oczywiście na obecnym etapie w modulach ESP to ciesze się, że w ogóle wiem jak wgrać program :)
  12. Super! Aż zapisałem sobie linka w zakładkach.
  13. Ano tak właśnie jest. W trakcie ćwiczenia pisałem swój własny ucf na podstawie dokumentacji i wszystko mi działało jak powinno ale porównując później pliki z tym z kursu faktycznie zauważyłem, że są piny na odwrót. Wszystko jest zgodne z logiką tego co napisałeś. Najpierw bit zerowy(najmłodszy bit) jest ustawiany na 6 bicie a później to co jest na 6 bicie jest ustawiane na zerowym i tak w kółko. Przypuszczam, że chodziło Ci o inny efekt i wtedy bity powinieneś łączyć tak: 0 & 7 & 6 & 5 & 4 & 3 & 2 & 1 o ile rejestr ma się przesuwać w prawo albo 6 & 5 &am
  14. DP8 na płytce jest opisany jako 1 (P70) na schemacie ale animacje w kursie są poprawne. Jak ktoś chce mieć na innych przełącznikach to trzeba zmienić w ucf DP[0] na P58 i DP[1] na P59. Przetestowałem u mnie i działa. Błąd opisu na płytce tudzież schemacie - tam gdzie na płytce jest 8 to powinno być 1, tam gdzie 7 to 2 etc.
  15. Cześć, Sorry, że odpowiadam tak późno ale czytam forum w miarę własnych postępów. Zacznijmy od pojemności kondensatorów. Kondensator o pojemności 1uF jest bardziej pojemny od 10 nF. 1 uF to 10^-6F a 10nF to 10^-8F. "u" to mikro (10^-6) a "n" to nano (10^-9). Drugą sprawą jest kwestia rezystora. Chodzi o generowanie sygnału o bardzo konkretnej częstotliwości tak aby sygnał podstawowy podawany na buzzer zmieniał się w słyszalnej dla ludzi częstotliwości. Wystarczy to podstawić do wzoru z poprzedniej lekcji. f = 1 / (2,2 * C * R) = 1 / (2,2 * 1uF * 100kR) =~4,5 Hz tj. zmiana tonu b
×
×
  • 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.