Skocz do zawartości

Tablica liderów

Popularna zawartość

Pokazuje zawartość z najwyższą reputacją od 22.08.2021 we wszystkich miejscach

  1. Sygnał sterujący diody programowalne przypomina sygnał PWM i całkiem łatwo zrealizować go sprzętowo. W tym wpisie chcę przedstawić w jaki sposób można zrealizować układ sterujący składający się z bramek i liczników z serii 74xx. Czym zasilać WS2812B? W odróżnieniu od swojego poprzednika, wariant z końcówką "B" można sterować z niższych napięć. Warto od razu przejrzeć dokumentację, jest bardzo krótka – tylko 5 stron. Napięcie zasilania zawiera się w przedziale 3,5 – 5,3 V. Stany logiczne reprezentowane są następująco: logiczne 1: od 0,7 napięcia zasilania czyl
    8 punktów
  2. Dlaczego? Otóż mój znajomy jest rolnikiem i co sianokosy owija bardzo dużo belek (co najmniej trzy cyfry), więc praca zwykle trwa do nocy. Oryginalny licznik (zdjęcie niżej) niestety nie ma podświetlenia, więc od wieczora zaczyna się problem, bo trzeba świecić latarką na licznik, by sprawdzić ilość owinięć. Oryginalny licznik belek (klon) Zamysł By rozwiązać ten problem należało sprawdzić jak są zliczane bele - i tutaj "zdziwko" - jest to najzwyczajniejszy kontaktron (nawet nie czujnik indukcyjny). Więc należy wziąć pod uwagę drgania styków. Przy najwyższej prędkości koł
    8 punktów
  3. W imieniu swoim i @Elvis bardzo dziękuję za miłą niespodziankę Dla osób, które nie były wtajemniczone: spore grono użytkowników forum "zmówiło" się za naszymi plecami, aby przygotować dla nas niezwykłe statuetki, które ostatecznie wykonał @Gieneq. Bardzo się cieszymy, że kurs STM32L4 Wam się spodobał, dziękujemy za ten upominek - to baaaardzo miłe! Tutaj zdjęcia tego co zastałem na swoim biurku po urlopie: @SOYER, @FlyingDutch, @Frantick, @Dominikzz, @Bhoy67, @ethanak, @H1M4W4R1, @Matthew11, @Leroy, @Leoneq, @Autorobotyk, @bjrk, @Toomas, @BartekJ, @_LM_, @Gieneq, @Sabre, @xan
    7 punktów
  4. Pisałem niedawno, że marzyłem kiedyś i takim przenośnym urządzeniu, które czytałoby mi książki w czasie spaceru czy jazdy pociągiem. I to nie audiobooki, ale zwyczajne ebooki. Cóż - kilkanaście lat temu było to raczej mało realne. Minęły lata (kilkanaście jak wspomniałem), realia się zmieniły, i chociaż rzadziej wychodzę na spacery czy wsiadam do pociągu - postanowiłem zrealizować swoje marzenie. Co prawda jakieś pierwotne założenia sobie poczyniłem, jednak pozostały z nich tylko dwa: rozmiar nie przekraczający paczki papierosów i ESP32 WROVER jako serce urządzenia. Miałem w planach
    4 punkty
  5. @Elvis cieszę się, że prezent się spodobał W sumie nie myślałem o opisywaniu tego projektu, bo sam sposób sterowania jest dość prosty, ale w sumie... może kogoś zainspiruje Na końcu artykułu jest zamieszczony pdf ze schematem:
    4 punkty
  6. Przeglądając sieć w poszukiwaniu różnych DIY od czasu do czasu można trafić na różne układziki które mają za zadanie odczytać jakiś parametr a następnie przesłać do urządzenia nadrzędnego. Przeważnie te układy są zasilane z akumulatorów zawierają dodatkowe przetwornice i inne podobne rozwiązania. Byłem ciekaw czy faktycznie esp8266 zawsze musi mieć zasilanie akumulatorowe? Czy pobiera aż tyle prądu że nie da się użyć baterii? Po krótkim przejrzeniu możliwości tych układów okazało się te układy mogą “zejść” z poborem prądu aż do 15uA no nie jest to jakiś rekord wśród współczesnych układów ale j
    4 punkty
  7. Witam wszystkich, Dawno mnie tu nie było, praca, studia itp. W końcu znalazłem coś czasu, aby przedstawić projekt już chyba ostatni mojej kierownicy, który wykonałem w ramach pracy inżynierskiej na kierunku Mechatronika. Projekt od wcześniejszych pod względem elektroniki znacznie się nie różni jedyne co to został zastosowany inny enkoder oraz silnik DC co opisze w dalszej części postu. A więc tak: Główne założenia projektu: Wykorzystanie mikrokontrolera Arduino Leonardo do sterowania urządzeniem, Użycie enkodera OMRON E6B2-CWZ6C do odczytu położenia kierownicy,
    3 punkty
  8. W ramach poznawania i nauki Basic for Java postanowiłem napisać prostą aplikację wspierającą pracę z mikrokontrolerami AVR. Konkretnie: tworzenie makr wspierających konfigurację portów. Ale ponieważ apetyt rośnie w miarę jedzenia, następną rzeczą którą mam zamiar dodać będzie generowanie wektorów przerwań z ciałem ich obsługi, później być może również konfiguracja timerów. Na moment kiedy piszę tego posta pierwszy cel jest z grubsza osiągnięty - poniżej screeny z działania aplikacji (jeszcze w trybie debugera) Ustawienia parametrów portu sprowadza się do zaznaczenia odpowiednich pól
    3 punkty
  9. Teoretycznie można w dwóch przypadkach: Robisz sobie doświadczenia na stykówce (typu "sterowanie diodami z Arduino") i chcesz po prostu sprawdzić czy program działa, a za chwilę całość zdemontujesz. Program jest napisany w ten sposób, że zawsze świeci najwyżej jeden kolor i nie interesuje Ciebie, że zielony będzie słabiej świecić niż niebieski, Ani Arduino ani diodom to nie zaszkodzi (o ile rezystor nie będzie za mały), tyle że kolory będą... powiedzmy... umowne
    3 punkty
  10. Przed chwilą kurier dostarczył moją statuetkę, pozwólcie więc że również bardzo podziękuję za przemiłą niespodziankę Statuetka na żywo wygląda o wiele lepiej niż na zdjęciu, wyrazy uznania za pomysł i jakość wykonania projektu. A przy okazji, czy gdzieś na forum dostępny jest może opis i schematem tego układu? Przyznam, że jestem bardzo ciekaw jak sterowania diodami RGB bez użycia mikrokontrolera.
    3 punkty
  11. Ogólnie zależnie od języka - w pseudo-obiektowym C++ obiekt tyczy się typów prostych, struktur, klas i konstrukcji lambda (może coś jeszcze zgubiłem). Dla przykładu w C# (język obiektowy z elementami proceduralnymi) obiektami są: typy proste, struktury, klasy, interfejsy, konstrukcje lambda, atrybuty (tutaj na 100% coś zgubiłem). Każdy jeden element tego języka można skonwertować do obiektu (w tym zmienne, metody, zdarzenia itd.) Tutaj radzę uważać, bo niektóre kompilatory nie kompilują cpp z nagłówkami h, a wyłącznie z hpp
    2 punkty
  12. @Krawi92 tu musisz wyjść od znajomości pojęć deklaracja i definicja. Deklaracja jest takim wstępem do utworzenia czegoś, np. plik .h ma prototypy/deklaracje funkcji. Może też mieć deklarację zmiennej - czyli poinformowanie co to za zwierz ale nie wiemy jeszcze jakiego koloru i gdzie gniazduje Deklarację możesz skojarzyć z deklaracjami wyborczymi czy czymś raczej niespełnionym Jeżeli napiszesz sobie w pliku: int zmienna; To masz deklaracje i definicję. Jak to? Jest to zmienna globalna, której dane trafiają do obszaru pamięci statycznej i domyślnie są inicjowane 0. Jak napi
    2 punkty
  13. Spokojnie, to nie gryzie. ls /dev/tty* pokazuje wszystkie urządzenia których nazwy rozpoczynają się od tty. Jako że wszelakie porty serial mają nazwy typu "ttyS1" i tak dalej pokaże wszystkie urządzenia serial (no, nie tylko, ale nas interesują tylko USB i ACM) lsusb pokazuje co tam mamy podpiętego do usb. Na przykład moja płytka WROVER z konwerterem FTDI przedstawia się jako: Bus 003 Device 055: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
    2 punkty
  14. Ktoś tu kiedyś powiedział, że pisanie workloga jest pomocne nie tylko dla czytelników, ale również dla samego piszącego. Pisząc tę część musiałem zrobić parę poprawek w kodzie, który przed tymi poprawkami co prawda działał, ale nie nadawał się do pokazania Ale do rzeczy. Ponieważ zrezygowałem z karty microSD naturalne wydało mi się przechowywanie książek w postaci skompresowanej. Po przeanalizowaniu kilku bibliotek okazało się, że albo są jakieś wielgaśne (przy czym większość funkcji pozostałaby nieużywana), albo zbyt uproszczone. Okazało się jednak, że jakieś funkcje kompresji zna
    2 punkty
  15. Kurs jest super,to moja płytka PCB po lekkich poprawkach.
    2 punkty
  16. No więc posłuchałem i trochę się douczyłem, postanowiłem na nowo napisać "sterownik" do wiatraka. Założenia jak poprzednio, sterowanie silnikiem DC(3 tryby szybkosci) sterowanie servem, obsluga 3 przycisków wlaczajaca silnik,servo, i wylaczajaca wszystko. Teraz użyłem już tylko 3 przycisków wykorzystując zwaną dumnie szumnie maszynę stanów. Rozbiłem projekt na 3 pliki, wykorzystałem strukturę i pola bitowe w ramach testu, jak to działa. Teraz wszystko działa tak jak chciałem. Wrzucam kod, żeby ktoś ocenił, lub nawet dla porównania z poprzednim. Chętnie wysłucham uwag co tu mogłem zrobić lepiej
    2 punkty
  17. Długa dyskusja się wywiązała, więc pozwólcie że napiszę kilka słów. Po pierwsze warto zrozumieć czym różni się wartość od wskaźnika - wartość to np. Bajt (uint8_t), int, albo cała struktura. Typ zmiennej określa ile pamięci jest potrzebne do jej przechowywania oraz jak wykonywać operacje na niej. Różne typy mogą zajmować różną ilość pamięci, więc np. Przypisując wartoś zmiennej 32-bitowej do zmiennej 8-bitowej możemy część danych stracić, bo po prostu się nie zmieszczą. Natomiast wskaźnik jest tylko adresem w pamięci, w stm32l4 to zawsze 32-bitowa liczba, a więc każdy typ wskaźnikowy w pamięci
    2 punkty
  18. Moja matka miała duże problemy ze słuchem, aparaty słuchowe okazały się sensownym rozwiązaniem na dość długi czas. Wiem, że na implanty na pewno by się nie zgodziła - nawet pomijając kwestię ceny; już by przekonać ją do sprawdzenia aparatów potrzebowałem dłuższego czasu (pomógł jedyny lekarz do którego miała zaufanie). @pawelkx91 Jeśli chcesz pogadać pisz na priv, nie chcę wprowadzać na forum zamieszania. @szymonw Implanty są protezą, tak samo jak aparaty słuchowe. Dobór każdej protezy winien być poprzedzony dokładnym badaniem i rozeznaniem sytuacji, potem następuje wybór rodzaju p
    2 punkty
  19. loop(): push rbp # 2 cycles mov rbp, rsp # 1 cycle mov eax, DWORD PTR czas[rip] # 1 cycle add eax, 1 # 1 cycle mov DWORD PTR czas[rip], eax # 1 cycle nop #1 cycle pop rbp #2 cycles ret # 4 cycles # Sum: 13 cycles 13 cykli zegara, zakładając, że używasz kwarcu 16MHz to jest to ok. 812.5ns na każdą pętlę. (UWAGA: nie wliczyłem czasu wykonania pętli while wewnątrz API Arduino, więc będzie to coś bliżej 1us/pętlę). Mogłem się walnąć w obliczeniach, ale raczej jest dobrze P.S.
    2 punkty
  20. Witajce! Na wstępnie chciałbym się przywitać z całą społecznością tego forum - to mój pierwszy post. Ze względu na pandemię i tego, że przeszedłem na home office - pojawiło się troszkę więcej czasu. W pracy zajmuję się modelowaniem 3D i niedawno ogarnąłem drukarkę 3D wiec zastanawiałem się jak to połączyć i zrobić coś z tego ciekawego. Pomyślałem o elektronice - czyli coś co zawsze mnie w jakiś sposób ciekawiło. Tym bardziej, że niedawno urodził się syn więc tym bardziej się to przyda Wpadłem na pomysł aby zrobić model koparki sterowanej zdalnie. Projekt z racji mojej nikłej
    2 punkty
  21. Udało Ci się napisać pierwsze programy z wykorzystaniem tablic. Ta część kursu jest bardziej teoretyczna, ale pozwoli Ci zapoznać się z organizacją pamięci w mikrokontrolerze ATmega328P. Dowiesz się o różnych typach zmiennych i gdzie są zapisywane. Przyda się to w nabraniu świadomości jak działa tablica. Spis treści #1 – wstęp i praktyka #2 – organizacja pamięci (czytasz ten artykuł) #3 – tablice w pamięci #4 – tablica jest wskaźnikiem #6 – argumenty funkcji #7 – przykład #8 – tablice wielowymiarowe #9 – tablice dynamiczne #10
    2 punkty
  22. Choć tablice nie są tematem kursu Arduino ani poziomu 1 ani poziomu 2, to warto o nich wspomnieć. W pytaniach na forum kursanci często pytają jak udoskonalić swoje programy – w niektórych przykładach aż prosi się o użycie tablic. Temat jest omówiony co prawda w kursie STM32L4 w części 3 o GPIO, to jednak linkowanie trudnego artykułu dla zupełnie początkujących może budzić lęk. Postanowiłem więc napisać wstęp do tablic w Arduino, który przerodził się w nieco dłuższą serię (powiedzmy kurs). W pierwszej części ogólnikowo przedstawię tematykę oraz sposób poradzenia sobie z kilkoma typowymi pr
    2 punkty
  23. @daneil737 to wygląda na pewno strasznie, ale żeby dobrze wejść w temat tranzystorów to najlepiej zapoznać się z materiałami pokroju tego o teorii tranzystorów bipolarnych.
    2 punkty
  24. No jezeli przestalo dzialac z dnia na dzien bez zadnego kombinowania przy ktorym moglbys spalic plytke, to duze prawdopodobienstwo ze to wlasnie bootloader...mi juz dwa razy padl na roznych plytkach ardu...po wganiu wszystko smiga...kup sobie ISP bo i tak predzej czy pozniej bedzie Ci potrzebna, no chyba ze masz drugie ardu to mozesz sobie z tego zrobic isp...szczegoly w necie
    2 punkty
  25. Nad czym? Że blaszki z dielektrykiem płyty stykowej tworzą rozproszoną pojemność? @Lukasz2525 To jest kondensator odsprzęgający, jego zadaniem jest dostarczenie energii w momencie przełączenia bramek układu na stan przeciwny. Pojawia się wtedy króciutki, nanosekundowy impuls prądu na linii zasilania układu scalonego, bierze się stąd, że podczas przełączenia muszą się przeładować szkodliwe pojemności zarówno wewnątrz układu scalonego(pasożytnicze pojemności bramek tranzystorów MOS) jak i pojemności dołączone do wyjścia układu. Kondensator ma za zadanie dostarczyć energii na ten króciutki m
    2 punkty
  26. Dzisiaj przyszły Kailh Purpz, więc w ramach testu zmontowałem klawiaturę, do której kiedyś zrobiłem płytkę, ale nie miałem siły złożyć. Jak zwykle użyłem klawiszy z keychrona, bo nie mam dla nich zastosowania (są za małe i za wysokie), więc leżą. Klawiatura jest przeróbką Atreusa/Flatreusa, polegającą na dodaniu dwóch dodatkowych kolumn na brzegach, żeby tam wsadzić wszystkie taby, escape-y, backspace-y i entery. W ten sposób zwolnił się środek, więc wsadziłem tam klawisze nawigacji. Cyfry standardowo na drugiej warstwie na home row, funkcyjne na górze. Wyszła
    2 punkty
  27. Po elektronice I radziłby jeszcze przerobić elektronikę II, bo do światłoluba potrzebne są fototranzystory, omawiane w tym kursie. Ale nie jest to niezbędne, o fototranzystorach możesz też poczytać gdzie indziej, np. w ,,Leksykonie robotyki".
    2 punkty
  28. @daneil737 kolega @StefanekP dobrze pisze, że jest jakiś maksymalny prąd. Wzmocnienie prądowe zależy od wielu czynników i te β=100, czy 300 to spore uproszczenie. βzależy od prądu bazy, napięcia na bazie, napięcia kolektor-emiter, temperatury złącza i jeszcze innych parametrów. Jeżeli weźmiesz jakiś bardzo mały prąd bazy, ustawisz jakieś napięcie polaryzujące bazę i tranzystor podłączysz kolektorem do zasilania np 6V, emiterem do masy to będziesz mógł kontrolować prąd płynący przez tranzystor ponieważ β nie może przekroczyć wartości wynikającej z tzw. punktu pracy. Punkt pracy u
    2 punkty
  29. Cześć, jestem nowy na forum dlatego chciałbym się przedstawić Nazywam się Adrian i odkąd pamiętam, to zawsze byłem zaciekawiony robotami, elektroniką oraz działaniem różnych urządzeń. Na początku tego roku zacząłem realizować swoje małe projekty czerpiąc wiedzę między innymi z artykułów na "forbot", jednak na rejestrację na forum zdecydowałem się dopiero teraz. Mam nadzieję, że dzięki dołączeniu do grupy forumowiczów będę mógł się dalej rozwijać, a przy okazji znajdę pomoc przy rozwiązaniu różnych problemów
    2 punkty
  30. @cwietov dobra odkopałem maline i mam skrypty, przeklejam cały kod bo może coś cie w nim zainspiruje. Ten pierwszy ma funkcję do pobrania wartości z kontrolera domoticza: #!/usr/bin/python3 import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) from urllib.request import urlopen from urllib.error import URLError import threading import json import re import ast import time serverIP = "192.168.0.12:8080" dummy_rgb_id = 22 url = "http://" + serverIP + "/json.htm?type=devices&rid=" + str(dummy_rgb_id) pin_button = 22 ########################## pin_segment_s1 = 25 pin_segment_s2 = 23 pin_segm
    2 punkty
  31. @Leroy Ciężko jest pomóc jeśli nie napiszesz, co nie działa jak powinno. Opis "Niestety program nie działa jak należy" jest nieco zbyt ogólny. Ale przyglądając się Twojemu programowi, wydaje mi się, że jeden z błędów może być tutaj: // Pobieram konfigurację I/O do sprawdzenia uint8_t config = mcp_reg_read(MCP_IODIR); if (check_bit(config, output_num) == 0){ uint8_t reg_val = mcp_reg_read(MCP_GPIO); return check_bit(reg_val, output_num); } else{ return -1; } O ile rozumiem, chciałeś odczytywać rejestr MCP_GPIO tylko wówczas, gdy pin działa jako wejście. W przypad
    2 punkty
  32. @AdAstraGeek witam serdecznie i przepraszam, że późno odpisuję. Raczej konkretnego twierdzenia tu nie ma, ale jest to bardziej obserwacja związana z konstrukcją dzielnika napięcia - jest to urządzenie które ma tracić energię, więc jako źródło zasilania jest bardzo niestabilne, bo chcąc pobrać większy prąd wpływa się na wartość podziału napięcia (to tka jakbyś dostawił rezystancję obciążenia równolegle do rezystora z dzielnika przy masie). Dodatkowo nieważne jak dobierzesz rząd rezystorów będzie źle: za duży opór - za mały prąd, za mały opór - będą się grzać przy większym prądzie.
    2 punkty
  33. Witam, właśnie siedzę nad projektem płytki Dev Board pod AVR128DA, by pobawić się nowymi mikrokontrolerami microchip, w planie jeszcze jest zrobić wersję pod DB oraz jak wyjdą DE. Wiadomo, można zrobić to na stykówce, ale tutaj będzie pewność, że od strony sprzętowej jest wszystko ok, a w kodzie błędy.
    2 punkty
  34. Kilka rzeczy które mogą pomóc: stosuj kondensatory odsprzęgające zasilanie czyli zestaw: kond elektrolityczny i ceramiczny jak najbliżej nóżek zasilania mikrokontrolera. W obciążeniach indukcyjnych stosuj diody włączone zaporowo do kierunku włączenia tych indukcyjności. Jeśli obciążenie pobiera sporo prądu stosuj dodatkowe kondensatory dużej pojemności w okolicach zasilania tegoż. To takie minimum, piszę z telefonu więc nieco ogólnikowo i bez przykładów.
    2 punkty
  35. Jeżeli może być w Paincie, a nie na kartce, to bym to widział tak: Mam nadzieję, że połączenia są widoczne. Masę można wziąć z dowolnego pinu GND. Nie rozumiem do końca tego pytania. Domyślam się, że chodzi o te różowe napisy na płytce. To, czy wejście STM32 pracuje jako cyfrowe czy analogowe (podłączone do wejścia wewnętrznego przetwornika analogowo-cyfrowego) zależy od konfiguracji programowej, nie od oznaczeń na płytce. To, że jest napisane obok wyprowadzenia „A3", to nie wyklucza tego, że ten pin (PB0 w tym przypadku - patrz rysunek wyżej) może pracować jako norma
    2 punkty
  36. Hazard to inne zagadnienie. Tutaj problemem jest logika – funkcje wzbudzeń nie współgrają czasowo z aktualną wartością licznika. Sygnały w języku VHDL są uaktualniane przy zakończeniu procesu. To znaczy, przez cały proces zachowują przy odczycie swoją pierwszą wartość. Dlatego obliczeniach funkcje wzbudzeń czytają ich poprzednie wartości. Rozwiązaniem tego problemu może być na przykład zamiana sygnałów (funkcji wzbudzeń) na zmienne – coś takiego (uproszczony proces do symulacji): proc: process(Clk) variable J, K : std_logic_vector(qn'range) := (others => '0'); begin if rising_edge(Clk)
    2 punkty
  37. Dziękuję za miłe słowa, przygotowanie tego kursu wymagało mnóstwa pracy od całego zespołu, tym milej jest słyszeć, albo raczej czytać, że praca nie poszła na marne Natomiast co do przerwań i funkcji HAL_UART_Transmit_IT to chyba zaszło pewne nieporozumienie. Ta funkcja nie wysyła wszystkich danych natychmiast. Zamiast tego wstawia do rejestrów modułu UART pierwszy fragment danych i kończy działanie. Przerwanie zostanie wywołane gdy moduł UART wyśle dane i będzie oczekiwał na kolejne. W międzyczasie program główny będzie dalej wykonywany, więc dane będą przesyłane niejako w tle. Program
    2 punkty
  38. Twoja strata. Tyle mogę powiedzieć że jak chcesz dobrze wykorzystać małe mikrokontrolery to od przerwań nie uciekniesz, a opracowanie programu wielozadaniowego, czy tam wielowątkowego zaczyna się od poznania timerów programowych bo niestety w AVR sprzętowych zbyt wielu niema, później dobrze jest ogarnąć wskaźniki na funkcje co nie jest zagadnieniem aż tak trudnym jak go się przedstawia.
    2 punkty
  39. @elbart witam serdecznie Dziękujemy za miły komentarz, staramy się, żeby na forum była pozytywna atmosfera, a pomoc udzielana możliwie szybko. Obserwacje które spisałeś tyczą się tego obrazka na końcu, zgadza się. Jest to opór wewnętrzny, który działa podobnie co 2 rezystory w szeregu tworzące dzielnik napięcia. @szymix9721 również witam serdecznie problem ten może być w tym, że masz podłączone zasilanie do układu - pomiar oporu wykonujemy zawsze na odłączonym zasilaniu. W tym drugim podejściu pominąłeś rezystor 10k więc prąd powinien płynąć większy, bo jest mniej
    2 punkty
  40. Cześć Tak prezentuje się moja stacja pogody: Kod: //biblioteki #include <DHT.h> //wilgotnosc #include <OneWire.h> //temperatura #include <DallasTemperature.h> #include <LiquidCrystal.h> //wyswietlacz #define DHT11_PIN 10 #define termometr A4 #define zachmurzenie A5 #define czuwanie 11 DHT dht; //wilgotnosc OneWire oneWire(termometr); //temperatura i oneWire DallasTemperature sensors(&oneWire); LiquidCrystal lcd(4,5,6,7,8,9); //wyswietlacz volatile int tryb = 1; int wilgotnosc=0; int wilgotnosc2=0; int temperatura=0; int zachm
    2 punkty
  41. D jest wewnętrznym sygnałem modułu. Testowanie polega na pobudzaniu zewnętrznych „wyprowadzeń/" (wejść) modułu. Wewnątrz procesu stim_proc umieszcza się takie pobudzenia. W tym przypadku jedynym wejściem jest zegar. Zazwyczaj w takim przypadku jest pisany osobny proces do wytwarzania sygnału taktującego. Proces ten powinien być automatycznie wygenerowany przez program ISE. Tego przede wszystkim brakuje w przedstawionym kodzie. Sygnału D nie zmienia się w symulacji, można jedynie sprawdzać jego wartość. Nie przepisuje się też kodu z modułu do procesu symulacyjnego. Z punktu widzenia modułu
    2 punkty
  42. Przykładowo... // ilość przedziałów #define TEMPSTEPS 10 static const int tout[TEMPSTEPS]= {0,10,30,60,100,150,220,300,400,500}; static const int tin[TEMPSTEPS] = {15,25,35,45,55,60,75,85,95,105}; int steps(int temp) { /* szukamy interesującego przedziału. Dla niewielkiej ilości przedziałów prosta pętla będzie szybsza niż jakieś bsearche czy inne mądre algorytmy */ for (i=0; i<TEMPSTEPS;i++) if (temp <= tin[i]) break; if (!i) return tout[0]; // poniżej zakresu pomiarowego if (i >= TEMPSTEPS) return tout[TEMPSTEPS-1]; // powyżej zakresu pomiarowego
    2 punkty
  43. Z tym bym trochę polemizował... Ale tak da się. Oczywiście mikrokontrolery DIP znacznie łatwiej wyjąć niż SMD. A co do polemizowania: dodaj koszt dodatkowych komponentów - regulatora napięcia, kwarcu, kondensatorów dla kwarcu... To wcale nie wychodzi tak tanio jak się na początku wydaje...
    2 punkty
  44. Moje rozwiązanie zadania 4.5 #define red_LED 8 #define yellow_LED 9 #define green_LED 10 #define button 3 int potentiometerValue; //wartość odczytana z potencjometru int readValue; //wartość wpisana przez użytkownika int attempt = 1; //która próba void setup() { Serial.begin(9600); pinMode(red_LED, OUTPUT); pinMode(yellow_LED, OUTPUT); pinMode(green_LED, OUTPUT); pinMode(button, INPUT_PULLUP); digitalWrite(red_LED, LOW); digitalWrite(yellow_LED, LOW); digitalWrite(green_LED, LOW); Serial.println("Cześć! Zagrajmy w grę!"); Serial.println("Przekręć potencjometr i wci
    2 punkty
  45. Potrzebowałem zapisać zmienną do pamięci FALSH gdy będzie zanikało zasilanie. W tym celu w konfiguratorze w zakładce System Core/NVIC ustawiłem przerwanie PVD kontrolera napięcia zasilania procesora. W wyniku czego w main.c pojawiło się przerwanie: static void MX_NVIC_Init(void) { /* PVD_IRQn interrupt configuration */ HAL_NVIC_SetPriority(PVD_IRQn, 8, 0); HAL_NVIC_EnableIRQ(PVD_IRQn); } Aby odczytać uprzednio zapisaną wartość zmiennej dodałem po inicjacji przerwania: total_time = *(__uint32_t*) ADD_FLASH; // odczytanie z FLASH całkowitego czasu pracy Napisałem trzy funkcje
    2 punkty
  46. Przesyłam część pliku opisującego stm32cube programmer w języku polskim i całość w oryginale.Proszę przeczytać i niektóre rozdziały zastosować. stm32cubeprogrammer30ston.pdf dm00403500-stm32cubeprogrammer-software-description-stmicroelectronics(1).pdf
    2 punkty
  47. Cześć, mam na imię Tomek. Elektroniką interesuję się już od dawna, próbuję zgłębiać jej tajniki. Przez ten czas pojawiło się wiele pytań i niewiadomych stąd moje dołączenie do forum. Pozdrawiam Wszystkich.
    2 punkty
  48. @StefanekP a pokaz jaki masz kod. Kiedyś musi przestać się ściszać
    1 punkt
  49. Dzień dobry, nie bardzo kminię to całe witanie się, więc będzie nieskładnie... Nazywam się Zosia od urodzenia, czyli już 21 lat. Studiuję inżynierię biomedyczną ze specjalizacją informatyka medyczna i aktualnie mam praktyki w dziale IT w firmie wujaszka. Chłopaki z działu naopowiadali mi masę ciekawych rzeczy toteż postanowiłam się pobawić we wszystko po trochu i tak mieszam się między HTML/CSS, Pythonem, JS i Linuksem. Zatem, żeby nie mieszało mi się za mało postanowiłam wziąć się za elektronikę. Życzę nam wszystkim emocjonującej zabawy z elektroniką
    1 punkt
  50. Eh, zmontowałem układ na innej płytce prototypowej, chyba lepszej jakości i zaczęło działać poprawnie. Co by oznaczało, że ta pierwsza była kiepskiej jakości i chyba musiały być tam jakieś zwarcia
    1 punkt
Tablica liderów jest ustawiona na Warszawa/GMT+02:00
×
×
  • 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.