Skocz do zawartości

espiridion

Użytkownicy
  • Zawartość

    29
  • Rejestracja

  • Ostatnio

Wszystko napisane przez espiridion

  1. @Treker Dzięki, tak zrobię Dam znać jak wyjdzie. Projekt jest raczej narazie obecnie skupiony na 3 tygodniową wystawę. Może go kiedyś rozbuduję.
  2. @Treker Dzięki za artykuł! Jak myślisz, które z tych trzech rozwiązań podanych przez autora artykułu w moim przypadku byłoby najłatwiejsze? Mam kabel OWY 4x1.5. Czy mam z niego zrezygnować na rzecz skrętki, czy może dodanie rezystorów do OWY pomoże? Jeśli chodzi o specyfikację do której podłączam elementy to: To "komponent" (w sumie mam 6 zestawów) składający się z: 1x przełącznik ON/OFF (włącza i wyłącza zasilanie całego komponentu) 1x Step-down 5V 6A 1x płytka z zalutowanym gniazdkiem i zworkami (coś jak stykowa, ale stabilniejsza) 1x Arduino Uno (podłączane przez kable z płytki zalutowanej do pinu 5V i GND) 1x Kabel OWY 4x1,5 łączący (np. 5 metrów) 1x Sterownik PCA9685 (16-kanałowy) (decydowała cena, ale podłączone mam tylko 1-3 serwomechanizmów) (n)x Serwomechanizmy typu standard Projekt już robię ponad rok, ale i2c na długich kablach to już ostatnie mi to co zostało z tego wszystkiego. Pozdro
  3. Cześć, Czy zasilanie 16-kanałowego sterownika serw PCA9685 z Arduino Uno pinów A4 na SDA i A5 do SCL i płytki ze wspólną masą GND i 5V jest możliwe na 5-8 metrowych kablach czterożyłowych? Zrobiłem pierwsze połączenie, narazie wszystko póki co zadziałało (5-6 metrów) Na drugim (3 metry) i trzecim (8 metrów) już miałem jakiś problem (każde jest zasilane osobno, mierzyłem prąd itd) ale mimo wszystko mam wrażenie, że nie odczytuje z pinu A5 i A4 na SDA i SCL. Samo zasilanie plusa i minusa jest w porządku w każdym.
  4. @marek1707 Na zdjęciu przesyłam zdjęcie do wglądu. Nic nie powiem o modelu, bo takich informacji nigdzie niestety nie mam.
  5. Cześć, Mam analogowe panelowe woltomierze na zakres do 10V, 15V i 25V. Z racji tego, że trudno dostać na rynku woltomierze poniżej 5V to miałbym do Was pytanie. Jaki rezystor powinienem wstawić by woltomierz odczytywał zakres od 0 do 0.5V lub 0 do 1V? Pozdrawiam:)
  6. @atMegaTona Zamiast if (switch_nr[cnt].state_flag == true) continue; dałem if (switch_nr[cnt].state_flag == true && switch_nr[cnt].ld + RENEW_TIME > milis()) continue; i mam ciągły ruch serwa w tą i tamtą stronę tak jak chciałem. Ale mam jeszcze do Ciebie pytanie, mam nadzieje ostatnie bo nie chcę Cie męczyć bo zastanawiam się co robi klasa msDelay tutaj, chyba, że "del" źle zadeklarowałem? public: msDelay(){delay_cnt = 0;} msDelay(uint16_t del):delay_cnt(del+millis){} uint16_t del;
  7. @daniel89 Jeśli potrzebujesz artystycznego punktu widzenia to: Analogicznie każde elementy, które są podłączone na stałe dają wrażenie nieodłączności i czegoś trwałego. Jeśli to jest jakiś projekt. który ma też się skupiać na estetyce wizualnej połączeń to właśnie tak zrób. Okiem laika jeśli jakiś element jest wyjmowalny to raczej jest to "niestabilne".
  8. W drugim przykładzie klasy msDelay kompilator mi pokazuje, że "del" nie jest zadeklarowane.
  9. @daniel89 Jak tobie najwygodniej, ale moim zdaniem najlepiej to wlutować to na stałe, chyba, że masz zamiar potem wymieniać? Dharma?
  10. @atMegaTona Tutaj wkradł się błąd: if(digitalRead(switch_nr[cnt].sw == LOW)){ A powinno być tak: if(digitalRead(switch_nr[cnt].sw) == LOW){ i wnet wszystko ożyło
  11. @aerograf7 Przecież na schemacie są diody podłączone przez rezystory.
  12. Szanowny @atMegaTona , wielkie dzięki za podesłanie kodu. Wygląda bardzo interesująco i jestem pod ogromnym wrażeniem twojej pomocy. Narazie kombinuję z nim, ale zapowiada się bardzo dobrze.
  13. Cześć FORBOT, Proszę na wstępie o wyrozumiałość. Nie jestem osobą techniczną. Zrobiłem na ile jestem w stanie, póki co instalacja działa (jako tako do testów) i mogę nią testować swoje obiekty. Jest to studencka instalacja artystyczna. Oczekuję tylko pomocy w napisaniu tego kodu właśnie pod millis() by móc się pozbyć delays. Dla wyjaśnienia czym jest instalacja artystyczna, można znaleźć prace na festiwalu BIENNALE WRO 2019: http://wro2019.wrocenter.pl Chciałbym napisać coś takiego, ale nie wiem jak ominąć "czas". Funkcja milis() czy moze cos innego? Czyli np tak: (to mój skrót myślowy w postaci kodu myślowego....ale chciałbym bardzo takie działanie) if (Switcher[1] == LOW) { led[1] == HIGH, counterLED[1] ==HIGH, servo[1]pwm1 ( servomin_1 = 150, servomax_1 = 450, speed = 100), //np. jakas predkosc np. jak w varspeedservo servo[1]pwm0 (countermin_1 = 200, servomax_1 = 450, speed = 20) //np. szybsza predkosc } else if (Switcher[1] == HIGH) { led[1] == LOW, counterLED[1] == LOW, servo[1]pwm1 == LOW, //serwa wylaczone servo[1]pwm0 == LOW //serwa wylaczone } Obecny przykładowy kod działania jednego przełącznika, którego teraz używam: #include <Wire.h> #include <Adafruit_PWMServoDriver.h> int i = 0; const int LED[] {26, 24, 22, 10, 8, 6, 4, 2}; const int CounterLED[] {36, 38, 40, 42, 28, 30, 32, 34}; const int Switch[] {27, 25, 23, 11, 9, 7, 5, 3}; const uint8_t servo[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; Adafruit_PWMServoDriver pwm0 = Adafruit_PWMServoDriver(0x40); Adafruit_PWMServoDriver pwm1 = Adafruit_PWMServoDriver(0x41); #define SERVOMIN_1 150 #define SERVOMAX_1 600 #define SERVOMIN_2 350 #define SERVOMAX_2 500 #define COUNTER1_MIN 200 #define COUNTER1_MAX 450 #define COUNTER2_MIN 300 #define COUNTER2_MAX 440 //... i tak dalej, wiem, że to kilometry definów (mozna w ramkach) void setup() { Serial.begin(9600); pinMode(Switch[i], INPUT_PULLUP); pinMode(LED[i], OUTPUT); pinMode(CounterLED[i], OUTPUT); pwm0.begin(); pwm0.setPWMFreq(60); // Analog servos run at ~60 Hz updates pwm1.begin(); pwm1.setPWMFreq(60); // Analog servos run at ~60 Hz updates delay(10); } void setServoPulse(uint8_t n, double pulse) { double pulselength; pulselength = 1000000; // 1,000,000 us per second pulselength /= 60; // 60 Hz Serial.print(pulselength); Serial.println(" us per period"); pulselength /= 4096; // 12 bits of resolution Serial.print(pulselength); Serial.println(" us per bit"); pulse *= 1000000; // convert to us pulse /= pulselength; Serial.println(pulse); pwm0.setPWM(n, 0, pulse); pwm1.setPWM(n, 0, pulse); delay(10); } void loop() { { if(digitalRead(Switch[1]) == LOW) // PRZEŁĄCZNIK NR. 1 { digitalWrite(LED[1], HIGH); digitalWrite(CounterLED[1], HIGH); //ruch wskazowek i robota w jedna strone for (uint16_t pulselen = SERVOMIN_1; pulselen < SERVOMAX_1; pulselen++) { pwm1.setPWM(servo[0], 0, pulselen); } for (uint16_t pulselen = COUNTER1_MIN; pulselen < COUNTER1_MAX; pulselen++) { pwm0.setPWM(servo[0], 0, pulselen); } delay(500); //ruch wskazowki od poczatku i ruch orczyka robota od poczatku for (uint16_t pulselen = SERVOMAX_1; pulselen > SERVOMIN_1; pulselen--) { pwm1.setPWM(servo[0], 0, pulselen); } for (uint16_t pulselen = COUNTER1_MAX; pulselen > COUNTER1_MIN; pulselen--) { pwm0.setPWM(servo[0], 0, pulselen); } delay(500); //ruch wskazowki i robota zakoncozny //Tutaj nie chodzi o to zeby wskazowki mialyby sie zatrzymywac na pol sekundy //bardziej chodzi o to ze wskazowki i orczyk robota po prostu caly czas sie rusza od kata //powiedzmy np. od 45 stopni do 130 stopni a ten delay to czas pokonania wlasnie tej odleglosci miedzy katami //np. wskazowki maja byc ruchome, cos w stylu awarii elektrownii w Czarnobylu :) //a ruch serwa robota to poprostu zwykle obroty serwa jak w najprostszysch tutoriala dla zielonych //jesli istnialaby mozliwosc to fajnie by bylo zrobic dla duzego serwa z pwm1 np. oś czasu, czyli //pierwsza sekwencja od 300 do 600 z delayem (200) potem druga sekwencja z delayem(100) potem trzecia sekwencja z delayem (1000) itd. } else if (digitalRead(Switch[1]) == HIGH) { digitalWrite(LED[1], LOW); digitalWrite(CounterLED[1], LOW); } } } Obecne działanie: Kiedy przełączam przełącznik dźwigniowy nr 1 na ON - uruchamia on 2 ledy (led1, counterled1) oraz servo1 z pierwszego sterownika i2c (pwm0) i drugiego sterownika i2c (pwm1). Kiedy przełączam przełącznik dźwigniowy nr 1 na OFF - wyłącza on 2 ledy (led1, counterled1) oraz servo1 z pierwszego sterownika i2c (pwm0) i drugiego sterownika i2c (pwm1). Analogicznie tak działa aż do 8 przełączników. Każdy przełącznik => to komplet 2 ledów i 2 serwomechanizmów. Czasami w niektórych wypadkach może być więcej serw dołączonych do kompletu. Problem: Mam 8 przełączników. Delay powoduje opóźnienia. Kiedy włączam przełącznik 1 uruchamia się wszystko zgodnie, potem np. decyduję włączyć przełącznik 4 to zgodnie z zasadą delay trzeba odczekać sekundę po przełączeniu na ON aż włączą się 2 ledy i 2 serwomechanizmy. Gorzej się robi, jeśli chcemy manipulować kilkoma przełącznikami naraz. Czego chcę?: Pozbycia się delay() i wprowadzenie funkcji milis(). Każdy przełącznik ma działać niezależnie od innych. Kiedy go włączę na ON ma działać natychmiast, kiedy włączę go na OFF ma wyłączać natychmiast. Parametry do wszystkich serwomechanizmów : wychylenia od min: 150 do 600 max. Na przykład dla servo1 z pwm0 to będzie 200 do 300. A dla servo1 z pwm1 to będzie 150 do 450. Plus jeśli to możliwe "prędkość serw jaką ma pokonać dystans między tym a tym kątem". Aż do servo16 (pwm0 jak i pwm1) możliwość późniejszej edycji parametrów wychylenia kątów i prędkości. Zakomentowanie niektórych linijek kodu tak abym mógł edytować do woli różne parametry. Biblioteka to: https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library Lista urządzeń to: Mikrokontroler Arduino Mega 8 szt. micro servo TowerPro SG-90 12-16 szt. standard servo Tower 5010 2 szt. 16-kanałowy sterownik serwomechanizmów PCA9685 8 szt. Przełączniki dźwigniowe ON/OFF 8 szt. Diody LED zielone 5mm + rezystory 8 szt. Diody LED biały 3mm + rezystory Zasilacz 5V do Arduino Mega Zasilacz 5V do sterowników serwomechanizmów 5V z 30A lub 40A Płyta stykowa (potem będzie zamieniona na uniwersalną płytkę do lutowania przewodów). ! Schemat elektroniczny zrobiony na szybko, ale tak wygląda moje podłączenie z moim panelem sterowania i serwomechanizmami (one będą poza panelem sterowania, jeśli to ważne). W schemacie nie uwzględniłem wszystkich LEDów i przełączników bo schemat przysłaniałoby za dużo połączeń więc nie było nic praktycznie widać na zdjęciu. Dlatego dałem 4 (ale ma być 16 podlaczonych LEDów i 8 przełączników). Analogicznie wszystkie ledy są podłączone w ten sam sposób czyli: katoda do masy wspólnej GND, anoda do pinów mikrokontrolera. (lista pinów w kodzie). Pozdrawiam
  14. Ok, najwyraźniej nie miało sensu zakładanie tego tematu, jeśli nie mogę liczyć na żadną pomoc tutaj zwłaszcza od użytkownika @ethanak ,który mnie ciągle przesłuchuje. Naprawdę jest mi bardzo przykro i to naprawdę boli.
  15. Cześć, Chciałbym zlecić zaprogramowanie a właściwie przeprogramowanie mojego kodu wykorzystującego funkcję delay(); na millis(); oraz dwóch 16-kanałowych sterowników serw PWM przez i2C. Próbowałem sam zrobić i opanować przez kilka miesięcy lecz niestety nie jestem w stanie tego zrobić, bo nie rozumiem działania millis, bo to dla mnie totalna abstrakcja. Zainteresowanym wyślę mój kod, który jest rozpisany w delay() i opiszę działanie mojej instalacji artystycznej. Z poważaniem
  16. @ethanak Kod do użycia serw przy mills I LEDach zawsze biorę stąd: https://learn.adafruit.com/multi-tasking-the-arduino-part-1/all-together-now a kody z PWM są z biblioteki Adafruit, więc nie wiem o co Ci chodzi z tym kopiowaniem. Jestem artystą a nie inżynierem, ale próbuję to samemu rozwiązać, bo zajmuję się już tym 6 miesięcy, więc bardzo prosiłbym o wyrozumiałość, jeśli nie będę w stanie rozwiązać (kwestia czasu) to mogę zlecić zaprogramowanie... a nawet opłacić za pomoc. 1. Delay nie mogę użyć ponieważ mam panel sterowania w którym są przełączniki a zależy mi na tym, że kiedy zmieniam ze stanu LOW na HIGH byłoby to realizowane "natychmiast" a nie po upływie czasu pracy silnika i ledów. 2. - 3. Pulsy są wykorzystywane w PWM w przypadku pracy serwomechanizmów, chyba tego nie da się zapisać w postaci 'pos'. Tak przynajmniej zrozumiałem ucząc się z tutoriali a zwłaszcza z dokumentacji Adafruit.
  17. @ethanak Najbardziej nie rozumiem jak dodać w przypadku pwm0 i pwm1 swoje serwa. Co dodać w attach/detach w tym przypadku? Jak zdefiniować servo jak mam pod pwm? Ten kod poniżej nie jest skompilowany, ale tak narazie wygląda mój tok myślenia... #include <Wire.h> #include <Adafruit_PWMServoDriver.h> #define LED1 26 #define CounterLED1 36 #define Switch1 27 Adafruit_PWMServoDriver pwm0 = Adafruit_PWMServoDriver(0x40); Adafruit_PWMServoDriver pwm1 = Adafruit_PWMServoDriver(0x41); void setServoPulse(uint8_t n, double pulse) { double pulselength; pulselength = 1000000; // 1,000,000 us per second pulselength /= 60; // 60 Hz Serial.print(pulselength); Serial.println(" us per period"); pulselength /= 4096; // 12 bits of resolution Serial.print(pulselength); Serial.println(" us per bit"); pulse *= 1000000; // convert to us pulse /= pulselength; Serial.println(pulse); pwm0.setPWM(n, 0, pulse); pwm1.setPWM(n, 0, pulse); } class Sweeper { uint8_t servo1 = 0; int updateInterval; // interval between updates unsigned long lastUpdate; // last update of position public: Sweeper(int interval) { updateInterval = interval; increment = 1; } void Attach(int pin) { pwm0.attach(pin) pwm1.attach(pin) } void Detach() { pwm0.detach(); pwm1.detach(); } void Update() { if((millis() - lastUpdate) > updateInterval) // time to update { lastUpdate = millis(); pos += increment; pwm1.setPWM(servo1, 0, pulselen); if ((pulselen >= 600) || (pulselen <= 200)) // end of sweep { // reverse direction increment = -increment; } } } Sweeper sweeper1(10); void setup() { pwm0.begin(); pwm0.setPWMFreq(60); // Analog servos run at ~60 Hz updates pwm1.begin(); pwm1.setPWMFreq(60); // Analog servos run at ~60 Hz updates delay(10); } void loop() { if(digitalRead(Switch1) == LOW) // PRZEŁĄCZNIK NR. 1 { digitalWrite(LED1, HIGH); digitalWrite(CounterLED1, HIGH); sweeper1.Update(); } else if (digitalRead(Switch1) == HIGH) { digitalWrite(LED1, LOW); digitalWrite(CounterLED1, LOW); } }
  18. Dzień dobry, Na wstępie powiem, że przerabiałem już funkcję millis(); dla diod i serw w innych projektach, ale podłączanych w tradycyjny sposób czyli przez piny w mikrokontrolerze itd. Tutaj mam trochę większe i bardziej skomplikowane zadanie do wykonania, ponieważ używam dwóch 16-kanałowych sterowników serw przez i2C . Czy ktoś byłby w stanie mi pomóc pozbyć się delay() ale miałbym możliwość modyfikować prędkość, kierunki obrotów itd?
  19. @Treker Dziękuje Ci za odpowiedź. Wiem, sam jestem zdziwiony, że jednak dają radę działać przy 2A, ale mam w planach kupić jakiś zasilacz 5V z 10A albo 20A ale dlaczego takiego nie ma na Botlandzie? Od czego to zależy? Micro serwa to TowerPro SG-90 Standard serwa to TowerPro SG 5010 EDIT: Jednak była pomyłka w kodzie bo przy parametrze pwm1.setPWMFreq(); dałem 1600 zamiast 60 i teraz działa jak należy, nie ma żadnych zacięć. @ethanak Właśnie już to zauważyłem. Dziękuje za pomoc. EDIT: Serwa przy 2A działają wolniej niż pojedynczy, dlatego przymierzam się do kupna 5V z 18-20A zasilacza. Serdecznie pozdrawiam.
  20. Cześć, Nie jestem osobą wykształconą technicznie, jestem artystą, ale potrzebuję porady. Mam dwa sterowniki 16-kanałowe do serw Adafruit PCA9685 oraz drugi PCA9685 innej firmy (tańszy). Jako pwm0 mam podłączony ten tańszy i zasila on moje małe serwa i duże serwa (razem 16 sztuk) płynnie przy zasilaniu 5V i 2A Jako pwm1 mam podłączony Adafruit (jako 0x41 - zaadresowałem cyną punkt A0) i wszystkie kabelki są podłączone zgodnie ze schematem, sprawdzałem nawet prąd wyjściowo jest 4.75V i do małych 4-5 serw, ale jednak nie działają, ale dioda się świeci, więc chyba z zasileniem nie ma problemu? Nie wiem ile A? Ale jeśli miałbym zasilacz 5V i 10A to by lepiej działało? Chyba, że to kwestia kodu? Zastanawiam się nad funkcją "uint8_t" przy parametrach servo. #include <Wire.h> #include <Adafruit_PWMServoDriver.h> Adafruit_PWMServoDriver pwm0 = Adafruit_PWMServoDriver(0x40); Adafruit_PWMServoDriver pwm1 = Adafruit_PWMServoDriver(0x41); // Depending on your servo make, the pulse width min and max may vary, you // want these to be as small/large as possible without hitting the hard stop // for max range. You'll have to tweak them as necessary to match the servos you // have! #define SERVOMIN 150 // this is the 'minimum' pulse length count (out of 4096) #define SERVOMAX 600 // this is the 'maximum' pulse length count (out of 4096) // our servo # counter uint8_t servo1 = 0; uint8_t servo2 = 1; uint8_t servo3 = 2; uint8_t servo4 = 3; uint8_t servo5 = 4; uint8_t servo6 = 5; uint8_t servo7 = 6; uint8_t servo8 = 7; uint8_t servo9 = 8; uint8_t servo10 = 9; uint8_t servo11 = 10; uint8_t servo12 = 11; uint8_t servo13 = 12; uint8_t servo14 = 13; uint8_t servo15 = 14; void setup() { Serial.begin(9600); Serial.println("32 channel Servo test!"); pwm0.begin(); pwm0.setPWMFreq(60); // Analog servos run at ~60 Hz updates pwm1.begin(); pwm1.setPWMFreq(1600); // This is the maximum PWM frequency delay(10); } // you can use this function if you'd like to set the pulse length in seconds // e.g. setServoPulse(0, 0.001) is a ~1 millisecond pulse width. its not precise! void setServoPulse(uint8_t n, double pulse) { double pulselength; pulselength = 1000000; // 1,000,000 us per second pulselength /= 60; // 60 Hz Serial.print(pulselength); Serial.println(" us per period"); pulselength /= 4096; // 12 bits of resolution Serial.print(pulselength); Serial.println(" us per bit"); pulse *= 1000000; // convert to us pulse /= pulselength; Serial.println(pulse); pwm0.setPWM(n, 0, pulse); pwm1.setPWM(n, 0, pulse); } void loop() { for (uint16_t pulselen = SERVOMIN; pulselen < SERVOMAX; pulselen++) { pwm0.setPWM(servo1, 0, pulselen); pwm0.setPWM(servo2, 0, pulselen); pwm0.setPWM(servo3, 0, pulselen); pwm0.setPWM(servo4, 0, pulselen); pwm0.setPWM(servo5, 0, pulselen); pwm0.setPWM(servo6, 0, pulselen); pwm0.setPWM(servo7, 0, pulselen); pwm0.setPWM(servo8, 0, pulselen); pwm0.setPWM(servo9, 0, pulselen); pwm0.setPWM(servo10, 0, pulselen); pwm0.setPWM(servo11, 0, pulselen); pwm0.setPWM(servo12, 0, pulselen); pwm0.setPWM(servo13, 0, pulselen); pwm0.setPWM(servo14, 0, pulselen); pwm0.setPWM(servo15, 0, pulselen); pwm1.setPWM(servo1, 0, pulselen); pwm1.setPWM(servo2, 0, pulselen); pwm1.setPWM(servo3, 0, pulselen); pwm1.setPWM(servo4, 0, pulselen); pwm1.setPWM(servo5, 0, pulselen); } delay(500); for (uint16_t pulselen = SERVOMAX; pulselen > SERVOMIN; pulselen--) { pwm0.setPWM(servo1, 0, pulselen); pwm0.setPWM(servo2, 0, pulselen); pwm0.setPWM(servo3, 0, pulselen); pwm0.setPWM(servo4, 0, pulselen); pwm0.setPWM(servo5, 0, pulselen); pwm0.setPWM(servo6, 0, pulselen); pwm0.setPWM(servo7, 0, pulselen); pwm0.setPWM(servo8, 0, pulselen); pwm0.setPWM(servo9, 0, pulselen); pwm0.setPWM(servo10, 0, pulselen); pwm0.setPWM(servo11, 0, pulselen); pwm0.setPWM(servo12, 0, pulselen); pwm0.setPWM(servo13, 0, pulselen); pwm0.setPWM(servo14, 0, pulselen); pwm0.setPWM(servo15, 0, pulselen); pwm1.setPWM(servo1, 0, pulselen); pwm1.setPWM(servo2, 0, pulselen); pwm1.setPWM(servo3, 0, pulselen); pwm1.setPWM(servo4, 0, pulselen); pwm1.setPWM(servo5, 0, pulselen); } delay(500); }
  21. Cześć, Szukam kogoś z Krakowa, kto by sprawdził 8-10 moich mikrokontrolerów Arduino Uno (klony), ponieważ komputer ich nie wykrywa przez kanał USB. Pozostała reszta działa bez zarzutu. Od razu powiem, że próbowałem już wypalić bootloadery przez USBasp, Arduino jako ISP oraz instalowałem sterowniki CH304G na swoim. Arduina działają normalnie, tylko nie są wykrywalne przez komputer.
  22. @PiotrekEl Ok, czyli wszystko jasne, czyli to było po prostu zwarcie. Czyli rozumiem, że według tego schematu co zrobiłem powinno działać?
  23. @PiotrekEl Nie wiem czy dobrze to robię, ale w ten sposób Arduino mi się wyłącza i włącza dzięki przyciskowi ON/OFF, ale czy to nie jest zwarcie? Bo z opisu/dokumentacji tego modułu rozumiem, że jest zasada Normally Open, Normally Closed itd ale z tego mi się nic nie załącza. Czy ktoś poratowałby schematem dla mnie jak i potomnych?
  24. @PiotrekEl Dziękuje Ci za pomocną odpowiedź. Akurat mam ten moduł przekaźników z optoizolacją, ale nie bardzo wiedziałem jak go wykorzystać Dam Wam znać jak mi poszło, jeśli się uda to umieszczę schemat i opis działania takiego rozwiązania dla potomnych.
  25. @PiotrekEl Tak masz rację, że chaotycznie. Długo się zastanawiałem jak skleić te moje myśli... Tak dokładnie to miałem na myśli! Czy myślisz, że to dobre rozwiązanie czy polecasz jeszcze jakieś lepsze?
×
×
  • Utwórz nowe...