Skocz do zawartości

kasjo

Użytkownicy
  • Zawartość

    7
  • Rejestracja

  • Ostatnio

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.

Osiągnięcia użytkownika kasjo

Odkrywca

Odkrywca (4/19)

  • Regularny bywalec
  • Za 5 postów
  • To już rok!
  • To już 5 lat!

Odznaki

3

Reputacja

  1. kasjo

    Wybór lutownicy

    Ja też polecam lutownicę T12 ta co ja mam to się chyba zwie OSS T12-X. Wcześniej miałem taką żeby wymienić grot to trzeba się bawić w odkręcanie. Ale od kiedy mam T12 to jest bajka, dokupiłem do niej kila rożnych grotów, nagrzewa się momentalnie, wymiana grota to chwila moment, nie trzeba czekać aż się ostudzi.
  2. kasjo

    Czujnik poziomu szamba

    Przejrzałem historię zakupów i użyłem panel 60x60mm 0,44W, akumulator Li-po 3,7V 2000mAh taki płaski, a moduł do ładowania to CN3065. Wszystko chodzi na ESP8266 którego wybudzam co 1h żeby zrobił pomiar wysłał wynik po wifi do serwera homeassistant.
  3. kasjo

    Czujnik poziomu szamba

    Mam zrobiony pomiar poziomu szamba na właśnie takim czujniku (JSN-SR04T) i przez pół roku działał prawidłowo, niestety napadało śniegu, zasypało mi panel słoneczny i rozładował się akumulator więc na razie urządzenie nie działa bo nie wybieram się w najbliższym czasie na działkę na HC-SR04 robiłem na początku ale w ogóle się nie sprawował, szybko zachodził wilgocią i zjadała go korozja. JSN na razie się trzyma Czujnik nie może wisieć obok ścianki zbiornika, trzeba go odsunąć na kilka cm.
  4. Jednym z rozwiązań jest podłączenie np malinki (lub innego niewielkiego komputera) w domu w niemczech i przez niego łączyć się z dowolnego miejsca Dla wszystkich będziesz widoczny jakbyś łączył się w niemiec. Jeżeli masz zewnętrzne IP to konfigurujesz na malinie server VPN i konfigurujesz go w ten sposób aby przepuszczał cały ruch przez niego Jeżeli nie masz zewnętrznego IP to wykupujesz VPS (są na rynku darmowe albo gdzie płacisz grosze za rok) na tym VPSie stawiasz serwer VPN a malinkę ustawiasz jako klient VPN i też puszczasz przez niego cały ruch. Opcja 3: zobacz usługę Tailscale, nie używałem jej wprawdzie ale wygląda że może być odpowiednia do Twoich potrzeb i załatwi bawienie się we własne VPNy i VPSy 🙂
  5. A nie możesz przechowywać danych w ten sposób? wyniki={'gracz1': 14, 'gracz2': 45, 'gracz3': 1} Potem tylko posortować sorted(wyniki.items(), key=lambda x:x[1], reverse=True) I
  6. „Każdy hobbysta posiadający RPi powinien być w stanie zaimplementować uczenie maszynowe na swoim komputerze. (…) obecnie tylko nieliczni mogą” Biblioteka Tensorflow działa na rPi i nie jest jakaś super skomplikowana w użytkowaniu
  7. Próbuję odczytać jak najszybciej napięcie z ADC czymś takim: GPIO_InitTypeDef gpio; SPI_InitTypeDef spi; ADC_InitTypeDef adc; ADC_CommonInitTypeDef adc_common; DMA_InitTypeDef dma; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2 | RCC_AHB1Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_ADC2 | RCC_APB2Periph_ADC3, ENABLE); gpio.GPIO_Mode = GPIO_Mode_AN; gpio.GPIO_OType = GPIO_OType_PP; gpio.GPIO_Pin = GPIO_PIN_0; GPIO_Init(GPIOA, &gpio); dma.DMA_BufferSize = 3; dma.DMA_Channel = DMA_Channel_0; dma.DMA_DIR = DMA_DIR_PeripheralToMemory; dma.DMA_FIFOMode = DMA_FIFOMode_Disable; dma.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; dma.DMA_Memory0BaseAddr = 0xD0000000; dma.DMA_MemoryBurst = DMA_MemoryBurst_Single; dma.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; dma.DMA_MemoryInc = DMA_MemoryInc_Enable; dma.DMA_Mode = DMA_Mode_Circular; dma.DMA_PeripheralBaseAddr = &ADC->CDR; dma.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; dma.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; dma.DMA_PeripheralInc = DMA_PeripheralInc_Disable; dma.DMA_Priority = DMA_Priority_High; DMA_Init(DMA2_Stream0, &dma); DMA_Cmd(DMA2_Stream0, ENABLE); adc_common.ADC_DMAAccessMode = ADC_DMAAccessMode_2; adc_common.ADC_Mode = ADC_TripleMode_Interl; adc_common.ADC_Prescaler = ADC_Prescaler_Div2; adc_common.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; ADC_CommonInit(&adc_common); adc.ADC_ContinuousConvMode = ENABLE; adc.ADC_DataAlign = ADC_DataAlign_Right; adc.ADC_ExternalTrigConv = DISABLE; adc.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; adc.ADC_NbrOfConversion = 1; adc.ADC_Resolution = ADC_Resolution_12b; adc.ADC_ScanConvMode = DISABLE; ADC_Init(ADC1, &adc); ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_3Cycles); ADC_DMACmd(DMA1, ENABLE); ADC_Init(ADC2, &adc); ADC_RegularChannelConfig(ADC2, ADC_Channel_0, 1, ADC_SampleTime_3Cycles); ADC_Init(ADC3, &adc); ADC_RegularChannelConfig(ADC3, ADC_Channel_0, 1, ADC_SampleTime_3Cycles); ADC_MultiModeDMARequestAfterLastTransferCmd(ENABLE); ADC_Cmd(ADC1, ENABLE); ADC_Cmd(ADC2, ENABLE); ADC_Cmd(ADC3, ENABLE); ADC_SoftwareStartConv(ADC1); Teraz chciałbym odczytane wartości przez krótki okres czasu pchać do pamięci żeby je potem obrobić. Czy mogę w ten sposób wrzucić jedynie 65536 wartości? Bo chyba taki maksymalnie może mieć rozmiar bufora dla DMA?
×
×
  • 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.