Skocz do zawartości

radek04

Użytkownicy
  • Zawartość

    58
  • Rejestracja

  • Ostatnio

Reputacja

3 Neutralna

O radek04

  • Ranga
    4/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. Kupiłem klipsy do programowania (8- i 16-pinowe <żeby w razie czego na 1-warstwowej płytce też móc robić>) i teraz muszę zwężyć przestrzeń między szczękami klipsa. Robił ktoś to kiedyś? Wystarczy spiłować trochę plastiku?
  2. Podoba mi się pomysł z klipsem. Znalazłem także SOIC16, nie są drogie, więc mogę kupić 2 wersje. @deshipu, o jakie 2 dziurki Ci chodzi? W projekcie widziałem 5 dziur między padami. Czy są one konieczne? Czy chodzi jedynie o stabilność klipsa, a bez nich też da radę podłączyć?
  3. @deshipu, bardzo fajne rozwiązanie. Czy są też podobne ze złączami po 1 stronie, bądź z większą liczbą takich złączy, żeby wystarczyło także przy stosowaniu 1-str. PCB? Ile minimalnie wyprowadzeń potrzebuję przy programowaniu STM32?
  4. No właśnie chciałem uniknąć goldpinów i innych dużych gniazd. Do SWD potrzeba 5 pinów? Z drugiej strony jednak - nauczony doświadczeniem - wolałbym mieć dostęp do jakiegokolwiek złącza umożliwiającego programowanie. @ps19, czy mógłbyś pokazać, jak to gniazdo u Ciebie wygląda? Stosujesz jakieś dedykowane taśmy, czy zwykłe przewody?
  5. Jak się używa takich igieł? Mógłbym prosić o jakiś film/zdjęcia?
  6. Cześć. Zdarza mi się popełnić jakiś układ, który wykonuję samodzielnie - trawienie, lutowanie, programowanie itp. Hobbystycznie - dla siebie, ewentualnie coś dla znajomych. Zwykle korzystam z uC AVR, ale ostatnio bawię się płytkami Nucleo od STM. Powoli myślę o przesiadce z THT na SMT. I tu pojawia się pytanie - w jaki sposób programować takie mikrokontrolery? Mam w domu jakieś przejściówki z QFP na DIP, ale to wymaga przylutowania, zaprogramowania, odlutowania i przylutowania na gotowej płytce. Trochę mnie taki proces przeraża. Chciałem zakupić taki adapter z klipsem, ale okazuje się, że to uzależnia mnie zarówno od danej wielkości układu (QFP48, QPT64 itd.), jak i rozstawu nóżek (np. 0.8 mm dla AVR i 0.5 mm dla STM32). Znalazłem też takie igły-sondy z wysuwanymi szczypcami do chwytania nóżek, ale czy to mi chwyci 0.5 mm bez zwierania sąsiednich nóżek??? Czy jest jakieś w miarę uniwersalne rozwiązanie, które pozwoli mi na programowanie układów SMD o różnym rastrze, a przynajmniej różnej liczbie nóżek? Takie dedykowane adaptery są dość drogie (ok. 60 zł zwykły i ok. 300 zł z wyprowadzeniami JTAG/SWD i USART) i nie chciałbym kupować kilku, by móc używać różnych uC. Czy pozostaje mi wlutowywanie na docelowej płytce pinów do programowania? Używając SMD chciałbym przede wszystkim uniknąć wiercenia w płytce i zająć jak najmniej miejsca na niej, a takie piny trochę mi się z tym kłócą. Jakie rozwiązanie polecacie dla mnie? I drugie - poboczne pytanie: jak najlepiej/najłatwiej programować gołe scalaki z STM32, jeśli posiadam programatory z płytek Nucleo-64 i Nucleo-144?
  7. U mnie na Ubuntu (bez obsługi GPU) wpisywałem: $ sudo pip3 install tensorflow Oczywiście wcześniej $ sudo apt-get install python3-pip python3-dev update'y, upgrade'y, pakiety itp. i chodziło dobrze.
  8. Wybierz procersor. Chyba nie ma sensu wprowadzać własnej płytki. Biblioteki HAL to trochę inny temat i do nich zalecany jest dodatek Cube-MX.
  9. Chyba wyjście z większą liczbą kategorii mi działa, ale wejścia nie mogę ogarnąć. Próbuję z "append": values.append([float(fields[0])], [float(fields[1])], [float(fields[2])]) values.append(float(fields[0]), float(fields[1]), float(fields[2])) values.append([float(fields[0]), float(fields[1]), float(fields[2])]) ale zawsze coś jest nie tak. Problemem jest chyba dopasowanie wielkości tablic.
  10. Cześć. Robię projekt rozpoznawania jednego z kilku ruchów za pomocą akcelerometru, żyroskopu, STM32F467ZG i pakietu X-CUBE-AI. Opieram się na artykule @Elvis Sztuczna inteligencja na STM32, czyli przykład użycia X-CUBE-AI, ale mam kłopot z jego rozszerzeniem. Próbowałem różnych sposobów, ale nie mogę zrobić sieci, która zamiast wartości binarnej (ruch - brak ruchu) zwróci mi prawdopodobieństwa każdego z 6 wyjść (na razie chciałbym tyle różnych ruchów rozpoznawać). Mam książkę, którą poleca Elvis ("Deep Learning" autorstwa Chollet'a), ale brak doświadczenia z SSN, czy nawet językiem Python mocno mnie ogranicza. Chciałbym też, żeby zamiast jednego wejścia będącego prostą funkcją odczytów z czujników (suma kwadratów odczytów z akcelerometru), f = open('data1.csv','r') values = [] results = [] for line in f: fields = line.strip().split(',') if len(fields) == 4: x = float(fields[0]) y = float(fields[1]) z = float(fields[2]) values.append([math.sqrt(x**2 + y**2 + z**2)]) results.append(float(fields[3])) f.close() układ bezpośrednio korzystał ze wszystkich 6 (3ACC i 3 GYRO). Tutaj fragment kodu Elvisa z STM'a: void MX_X_CUBE_AI_Process(void) { /* USER CODE BEGIN 1 */ float nn_input[AI_FORBOT_AI_IN_1_SIZE]; float nn_output[AI_FORBOT_AI_OUT_1_SIZE]; aiRun(nn_input, nn_output); /* USER CODE END 1 */ } static uint32_t next_ms = 1000; static float nn_input[AI_FORBOT_AI_IN_1_SIZE]; float nn_output[AI_FORBOT_AI_OUT_1_SIZE]; while (HAL_GetTick() < next_ms) {} next_ms += READ_DELAY_MS; lsm6_value_t acc; acc = lsm6_read_acc(); for (int i = 0; i < AI_FORBOT_AI_IN_1_SIZE - 1; i++) nn_input[i] = nn_input[i + 1]; nn_input[AI_FORBOT_AI_IN_1_SIZE - 1] = sqrt(acc.x * acc.x + acc.y * acc.y + acc.z * acc.z); aiRun(nn_input, nn_output); if (nn_output[0] >= 0.5f) HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET); else HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET); Pomożecie mi zmienić kod Python'a i STM'a, bym mógł go użyć do swoich potrzeb? Naprawdę długo szukałem sposobu i próbowałem wielu rozwiązań, ale albo nie działa mi sieć neuronowa, albo nie kompiluje się projekt w SW4STM32.
  11. @Elvis, a może Ty mógłbyś pomóc? Kupiłem książkę Deep Learning, ale mimo to, słabo mi idzie. Zadanie mam bliźniacze do Twojego, tylko tych kategorii więcej. Twój sposób wprowadzania danych wejściowy mi odpowiada, ale w książce podobnych nie znajduję. A może chociaż nakierujesz mnie, gdzie poszukać dobrego rozwiązania mojego problemu? Dlaczego u Ciebie batch_size=8?
  12. @Harnas, jak zmodyfikować kod w Pythonie, jeśli chcę wykorzystać wprost wszystkie 6 wejść (3 osie akcelerometru oraz 3 żyroskopu), a układ ma rozpoznawać 3 różne wzorce (i brak konkretnego wzorca jako 4. stan)?
  13. Udało mi się (chyba) rozwiązać problem. Jeśli wersje bibliotek nie współgrają ze sobą, zamiast from keras... należy pisać from tensorflow.keras...
×
×
  • Utwórz nowe...