Skocz do zawartości

vtor

Użytkownicy
  • Zawartość

    34
  • Rejestracja

  • Ostatnio

Reputacja

2 Neutralna

O vtor

  • Ranga
    3/10

Ostatnio na profilu byli

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

  1. Pytanie logistyczne. Czy obydwa kursy można przerobić na jednej i tej samej płytce? Którą płytkę kupić Nucleo czy Discovery?
  2. Na stronie ,w części " Communicating with other devices", omówiony jest przykład komunikacji po I2C. W sposobie tym każde urządzenie (mikrokontroler) ma przypisany adres, żaden nie jest zdefiniowany w trybie Master. Odbieranie transmitowanych do mikrokontrolera obsługiwane jest przez Wire.onReceive (receiveEvent); a wysyłanie przez Wire.beginTransmission (SLAVE_ADDRESS); Wire.write (x); Wire.endTransmission (); Testowałem tą metodę i wiem że działa i to z więcej niż dwoma mirokontrolerami. Wytłumaczcie mi proszę na jakiej zasadzie ten sposób działa. Istotą I2C jest to że musi być Master, tutaj wygląda to tak jakby go nie było. Czy wszystkie mikrokontrolery w tym przypadku działają jak Master choć są deklarowane jako Slave?
  3. Od czego zacząć naukę STM32? Co kupić? jaką płytkę? Chodzi mi o pisanie w STM32CubeIDE. Można zacząć od BluePill?
  4. Zamierzam zabrać się za STM32. Przeglądam trochę materiałów i ciekawi mnie jak w tych mikrokontrolerach realizuje się wielozadaniowość? W AVR Arduino wykorzystywało się millis(). A jak to jest w STM32? ( STM32CubeIDE). Bo dellay() jest mało funkcjonalne.
  5. Pytanie było z czystej ciekawości. Zewnętrzny flash podłącza się jak SD , przez SPI ?
  6. Czy w układach z rodziny Atmega można zwiększyć ilość pamięci na program, dołożyć przestrzeni?
  7. Problem wygląda na rozwiązany. Drgania wyeliminowane programowo. Na elemencie wirującym tylko jeden znacznik Program liczy ilość milisekund które upłynęły między impulsami. I na tej podstawie wylicza ilość obrotów.
  8. czujniki są po kabelku ze złączem , podłączone do pcb z kilkoma komparatorami, to pcb jest kabelkiem podłączone do kontrolera. Wiem że najrozsądniej było by przeprojektować PCB z komparatorami ale na to nie ma czasu i możliwości więc mogę ten układ tylko rozbudować o dodatkowe moduły. Więc co radzicie mi w takiej sytuacji? Co było by najrozsądniejszym rozwiązaniem? Z tego co piszecie to każde rozwiązanie sprzętowe problemu w moim przypadku równa się z budową nowego pcb a na to nie mam czasu.
  9. Dziękuję za wyjaśnienie tematu. Niestety układ z komparatorem jest już na gotowym PCB więc zamiana nie jest możliwa. Zostaje mi tylko modyfikacja programu mikrokontrolera. Wypowiedzcie się jeszcze w kwestii wstawienia między obecnym komparatorem a mikrokontrolerem kolejnego komparatora z histerezową bo to jest fizycznie możliwe.
  10. CNY70 mam połączony w taki sposób. Z tego co doczytałem , żeby stworzyć histerezę powinienem rezystorem połączyć wyjście komparatora z wejściem z napięciem referencyjnym ( to połączone z potencjometrem , u mnie wejście odwracające ). Czy taka modyfikacja jednym dobrze dobranym rezystorem rozwiąże problem w moim przypadku?
  11. Witam chce zbudować " obrotomierz ". Element wirujący czarny z białymi znacznikami. Cny70 podłączony do komparatora z potencjometrem. I tu wszystko działa , jak przed czujnikiem jest biała powierzchnia to komparator na multimetrze daje 0v , na czarnym 5v. Jak na Arduino dam przerwanie ze zboczem to układ zachowuje się tak jak by to zbocze w ułamku sekundy wystąpiło kilka do kilku set razów. W przerwaniu zmienna ma być zwiększana o 1 a wzrasta nawet o 300. Zauważyłem że dzieje się tak przy powolnym obracaniu elementu wirującego , od pewnej prędkości sytuacja wydaje się normalizować. Nie mam dostępu do oscyloskopu. Czy można to jakoś rozwiązać żeby jedno "mignięcie " białego znacznika było interpretowane jako jeden impuls?
  12. Musi być np. void receiveEvent (int x){ } bez int x jest błąd.
  13. Jak w Arduino IDE 1.8.10 zamiast płytki UNO wybieram Atmega 328 ( wcześniej doinstalowana paczka MiniCore). To wywala mi komunikat invalid conversion from 'void (*)()' to 'void (*)(int)' [-fpermissive] i podświetla na czerwono linijkę z kodem Wire.onReceive (receiveEvent); Po wybraniu płytki UNO nie ma takiego problemu i kod kompiluje się bez problemu.
  14. Witam 2 x zestaw Arduino UNO , stabilizator 3,3v , NRF24101+. Stabilizator 1A wydajności zasilany z 5V Arduino, na wejściu i wyjściu stabilizatora kondensator ceramiczny 100 nF. Podłączenie klasyczne jak w przykładach. Wszystkie połączenia sprawdziłem multimetrem. Kody programów: #include <SPI.h> #include <nRF24L01.h> #include <printf.h> #include <RF24.h> #include <RF24_config.h> RF24 radio(7, 8); // CE, CSN const byte address[6] = "00001"; void setup() { Serial.begin(9600); radio.begin(); radio.setPALevel(RF24_PA_MIN); radio.openWritingPipe(address); radio.stopListening(); //radio.printDetails(); Serial.println("nadajnik"); } void loop() { const char text[] = "Hello World"; radio.write(&text, sizeof(text)); delay(1000); } #include <SPI.h> #include <nRF24L01.h> #include <printf.h> #include <RF24.h> #include <RF24_config.h> RF24 radio(7, 8); // CE, CSN const byte address[6] = "00001"; void setup() { Serial.begin(9600); radio.begin(); radio.openReadingPipe(0, address); radio.setPALevel(RF24_PA_MIN); radio.startListening(); //radio.printDetails(); Serial.println("odbiornik"); } void loop() { if (radio.available()) { char text[32]; radio.read(&text, sizeof(text)); Serial.println(text); } } Od komentowanie radio.printDetails(); powoduje brak wyświetlania czegokolwiek nawet nadajnik/odbiornik. Więc czy ja coś robię źle , czy moduły NRF mogą być uszkodzone? Z analizujcie chociaż kody programów czy tu nie leży problem.
  15. Witam Wiem że pytanie dla większości jest trywialne ale jak wyliczyć wartości rezystorów znając zakres mierzonego napięcia i maksymalne napięcie ADC. Jakiś wzór był by mile widziany. Bo nawet nie wiem czego szukać w Google.
×
×
  • Utwórz nowe...