Skocz do zawartości

kempa662

Użytkownicy
  • Zawartość

    11
  • Rejestracja

  • Ostatnio

Reputacja

2 Neutralna

O kempa662

  • Ranga
    2/10

Ostatnio na profilu byli

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

  1. Nie było pytania źle podłączyłem i tyle
  2. Sporo juz zrobiłem, tylko napotkałem mały problem Narazie wszystko testowane "na stole" z zasilacza laboratoryjnego. Zauważyłem, że w momencie włączenia zasilania, przez chwilę zanim uruchomi się Arduino, wszystkie ledy świecą na biało, bo nie dostają sygnału sterującego i dopiero jak płytka się uruchomi wszystko działa już prawidłowo. Tutaj właśnie jest zagwostka, jak to rozwiązać, żeby zasilanie na ledy poszło dopiero po odpaleniu się płytki? Przekaźnik? Czy jakoś inaczej?
  3. Dzięki za wszystkie podpowiedzi. Na ta chwilę się nie poddaje i chcę to zrobić W razie dodatkowych pytań będę pisał tutaj.
  4. Dzięki wielkie za pomoc Policzyłem, że dla R1 = 2.2k i R2 = 3.3k przy 8V uzyskam 4.8V na wyjściu, także dołoże Zenera i kondensator i powinno działać... Mam jeszcze pytanie jak zabezpieczyć zasilanie Arduino i ledów? Chce zastosować przetwornicę step down 5V, np. taką jak zaproponował jas123 w drugim poście.
  5. Dokładnie to miałem na myśli, ale rzeczywiście nie pomyślałem jak działa stabilizator Czy zastosowanie R1 = 2,2k i R2 = 1k będzie ok? po odpaleniu przy 14,4V da mi to 4,5V, a przy 12V -> 3,75V
  6. Witam wszystkich, W obecnej sytuacji mając dużo więcej czasu w domu, planuję wykonać dodatkowe oświetlenie kufrów w moim motocyklu. Chcę zrobić światła pozycyjne, stop oraz kierunkowskazy z wykorzystaniem ws2812b na Arduino UNO. Do oświetlenia mam trzy kufry i chcę to rozwiązać w następujący sposób: - kufer centralny ma fabryczne miejsca w które będą pasowały pojedyncze ledy, po 6 na stronę czyli razem 12 :) - kufry boczne, mają miejsce na całe paski (ok. 15cm) i tutaj zastanawiam się jaką gęstość zastosować? czy 144/m nie będzie za gęsto? W takim przypadku będzie około 20-25 diód na stronę. Biorąc pod uwagę, że moc to 43,2W/m, wyjdzie 6-7W na stronę. Wychodzi na to, że do zasilenia będzie około 60 diód, czyli 18W, co przy 5v daje 3,6A. Jaki zasilacz mogę tutaj zastosować, który dobrze będzie współpracował z Arduino oraz ws2812b? Sygnał wejściowy z instalacji myślę, że puszczę po prostu przez stabilizatory 5v. Dzięki z góry każdemu zainteresowanemu :)
  7. Witam wszystkich Na imię mam Kamil i mam 24 lata. Na co dzień nie zajmuję się typowo elektroniką, lecz w wyniku zainteresowania tym tematem zacząłem "bawić się" w Arduino... może kiedyś przestanę się tylko bawić i wpadną bardziej ambitne projekty
  8. Chyba zrobię najpierw cały kurs, żeby wiedzieć trochę więcej o Arduino i dopiero będę kombinował jak poprawić to co mam teraz. O delay-ach już poczytałem i wiedzę, że w większości przypadków można to lepiej rozwiązać
  9. Wyrzuciłem inty przed setup() oraz loop() i z if-ami działa powiedzmy dobrze, tylko jak nacisnę przycisk1 program zaczyna działać jak normalne światła, ale żeby przełączył się na drugi tryb muszę trzymać przycisk2 do momentu jak pierwsza pętla if się zakończy (albo dobrze celować pod koniec ). Czy jest możliwe, żeby od razu po naciśnięciu przycisku, niezależnie od momentu, w którym znajduje się program następowała zmiana z jednego wariantu na drugi? Chyba, że zbyt dużo wymagam od tak prostego programu Tak to teraz wygląda: int a = 0; int b = 0; void setup() { pinMode(10, OUTPUT); //Dioda czerwona pinMode(9, OUTPUT); //Dioda żółta pinMode(8, OUTPUT); //Dioda zielona pinMode(7, INPUT_PULLUP); //przycisk włączenie pinMode(6, INPUT_PULLUP); //przycisk wyłączenie digitalWrite(10, LOW); //Wyłączenie diod digitalWrite(9, LOW); digitalWrite(8, LOW); } void loop() { int przycisk1 = digitalRead(7); int przycisk2 = digitalRead(6); if (przycisk1 == LOW){ a = 1; b = 0; } if (przycisk2 == LOW) { a = 0; b = 1; } if(a == 1){ // normalne działanie świateł digitalWrite(10, LOW); //Czerwona digitalWrite(9, LOW); //Pomarańczowa digitalWrite(8, HIGH); //Zielona delay(2000); digitalWrite(10, LOW); //Czerwona digitalWrite(9, HIGH); //Pomarańczowa digitalWrite(8, LOW); //Zielona delay(1000); digitalWrite(10, HIGH); //Czerwona digitalWrite(9, LOW); //Pomarańczowa digitalWrite(8, LOW); //Zielona delay(2000); digitalWrite(10, HIGH); //Czerwona digitalWrite(9, HIGH); //Pomarańczowa digitalWrite(8, LOW); //Zielona delay(1000); } if (b == 1) { // światła wyłączone digitalWrite(10, LOW); digitalWrite(9, HIGH); digitalWrite(8, LOW); delay (1000); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); delay (1000); } }
  10. Dzięki za podpowiedzi, zobaczę co mi wyjdzie ;)
  11. Witam, Od dwóch dni "bawię się w Arduino" staram się robić przykłady zawarte w Kursie Arduino z Forbota i między innymi znalazłem sygnalizację świetlną, którą postanowiłem zrobić. Wszystko wyszło ok i postanowiłem utrudnić sobie zadanie i dodać możliwość sterowania dwoma przyciskami, które będą zmieniały działanie programu z świateł drogowych na światła wyłączone (czyli mruga tylko żółta dioda, tak jak w miastach po wyłączeniu świateł) i z tym mam problem... Kombinowałem na różne sposoby i mi nie wychodzi Dwa przypadki: 1) mogę sterować przyciskami, lecz pętla if wykonuje kod tylko raz i się nie zapętla (jest to dla mnie wiadome) void setup() { pinMode(10, OUTPUT); //Dioda czerwona pinMode(9, OUTPUT); //Dioda żółta pinMode(8, OUTPUT); //Dioda zielona pinMode(7, INPUT_PULLUP); //przycisk włączenie pinMode(6, INPUT_PULLUP); //przycisk wyłączenie digitalWrite(10, LOW); //Wyłączenie diod digitalWrite(9, LOW); digitalWrite(8, LOW); int a=0; int b=0; } void loop() { int przycisk1 = digitalRead(7); int przycisk2 = digitalRead(6); int a = 0; int b = 0; if (przycisk1 == LOW){ a = 1; b = 0; } if (przycisk2 == LOW) { a = 0; b = 1; } if(a == 1){ // normalne działanie świateł digitalWrite(10, LOW); //Czerwona digitalWrite(9, LOW); //Pomarańczowa digitalWrite(8, HIGH); //Zielona delay(2000); digitalWrite(10, LOW); //Czerwona digitalWrite(9, HIGH); //Pomarańczowa digitalWrite(8, LOW); //Zielona delay(1000); digitalWrite(10, HIGH); //Czerwona digitalWrite(9, LOW); //Pomarańczowa digitalWrite(8, LOW); //Zielona delay(2000); digitalWrite(10, HIGH); //Czerwona digitalWrite(9, HIGH); //Pomarańczowa digitalWrite(8, LOW); //Zielona delay(1000); } if (b == 1) { // światła wyłączone digitalWrite(10, LOW); digitalWrite(9, HIGH); digitalWrite(8, LOW); delay (1000); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); delay (1000); } } 2) kod wykonuje się w pętli, lecz nie mogę zmienić działania przyciskami, muszę resetować arduino i nacisnąć drugi przycisk void setup() { pinMode(10, OUTPUT); //Dioda czerwona pinMode(9, OUTPUT); //Dioda żółta pinMode(8, OUTPUT); //Dioda zielona pinMode(7, INPUT_PULLUP); //przycisk włączenie pinMode(6, INPUT_PULLUP); //przycisk wyłączenie digitalWrite(10, LOW); //Wyłączenie diod digitalWrite(9, LOW); digitalWrite(8, LOW); int a=0; int b=0; } void loop() { int przycisk1 = digitalRead(7); int przycisk2 = digitalRead(6); int a = 0; int b = 0; if (przycisk1 == LOW){ a = 1; b = 0; } if (przycisk2 == LOW) { a = 0; b = 1; } while(a == 1){ // normalne działanie świateł digitalWrite(10, LOW); //Czerwona digitalWrite(9, LOW); //Pomarańczowa digitalWrite(8, HIGH); //Zielona delay(2000); digitalWrite(10, LOW); //Czerwona digitalWrite(9, HIGH); //Pomarańczowa digitalWrite(8, LOW); //Zielona delay(1000); digitalWrite(10, HIGH); //Czerwona digitalWrite(9, LOW); //Pomarańczowa digitalWrite(8, LOW); //Zielona delay(2000); digitalWrite(10, HIGH); //Czerwona digitalWrite(9, HIGH); //Pomarańczowa digitalWrite(8, LOW); //Zielona delay(1000); } while (b == 1) { // światła wyłączone digitalWrite(10, LOW); digitalWrite(9, HIGH); digitalWrite(8, LOW); delay (1000); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); delay (1000); } } Kombinowałem z łączeniem pętli w różny sposób, oraz z do-while ale nic to nie daje... Może ktoś ma jakąś radę?
×
×
  • Utwórz nowe...