Witam, chciałbym popróbować coś na Arduino - ledy programowalne, czy ktoś mi troszkę rozszerzy moje komórki, jak napisać od LED 1 do LED 10 w Arduino? Jestem bardzo początkującym. AI: Jaki dokładnie model Arduino posiadasz (np. Uno, Nano, Mega)? Arduino Uno AI: Jakie LED-y chcesz wykorzystać - zwykłe pojedyncze diody, taśmę LED czy może programowalne LED-y typu WS2812? WS2812
Witam , chciałbym popróbować coś na arduino ledy programowalne, czy ktoś mi troszkę rozszerzy moje komórki jak napisać od led 1 do led 10 w arduino? jestem bardzo początkującym.
Przestudiuj te poniżej prezentacje, a zostaniesz mistrzem w okolicy:
Będzie wymagane doinstalowanie odpowiedniej biblioteki (library),
która/które nie są zamieszczone w podstawowej instalacji Arduino IDE.
Nie sugeruję żadnej, bo jest ich wiele.....
A na jakie napięcie kupiłeś LEDY WS2812, takie pytanie także AI powinna Ci zadać?
Dzisiaj kochany autorze problemu masz potężne narzędzie do nauki programowania w postaci AI, wystarczy tylko odpowiednio zadać pytanie lub problem a uzyskasz podpowiedź w sekundę po zadaniu pytania, jakiej 50 lat temu musiałbyś szukać samemu na kursie BASIC w Młodym Techniku W tym linku na zielono masz prawie wszystko wytłumaczone jak na dłoni:
Link
Polecam też kursy FORBOT https://forbot.pl/blog/kurs-arduino-ii-diody-rgb-tradycyjne-oraz-ws2812-id15495 A jak wykonasz jakiś projekt z tego kursu z wykorzystaniem jakiejś biblioteko i ją zainstalujesz to na Twoim komputerze znajdziesz zawsze parę przykładów z wykorzystaniem tej biblioteki np. tutaj załączam Ci w załączniku to co pojawi się na Twoim kompie po zainstalowaniu biblioteki FasLed - przejrzyj podkatalogi oraz pliki .ino, możesz jakiś wgrać i bawić się do woli... Przynajmniej dla mnie nauka poprzez modyfikacje gotowych przykładów była szybsza niż ucząc się na sucho czy tylko w teorii...
Kod: Arduino
Zaloguj się, aby zobaczyć kod
Po wgraniu przykładu patrzysz w kod programu pod który pin płytki ARDUINO podpiąć sterowanie, np. taka linijka:
#define LED_PIN 6
znaczy, że na schemacie w realu musisz podpiąć sterowanie DATA INPUT z taśmy pod w/w pin i dalej już z górki...
Albo patrzysz pod który pin już masz podpięte to sterowanie i w kodzie zmieniasz numer tego pinu na taki jaki masz w realu aby nie zmieniać co chwilę lutowania czy przekładania kabelków do innych styków...
Dalej znajdziesz taką linijkę:
#define CHIPSET WS2811
- nie przejmuj się, że jest napis WS2811, bo WS2812 z tego co pamiętam także mi poszły bez zmiany tej linijki...
Dalej możesz znaleźć np, linijkę
#define NUM_LEDS 30
- świadczy to, ze z Twojego paska diod WS2812 zostanie użytych 30 LED (zwracaj uwagę aby dopasować zasilacz do ilości prądu pobieranego przez tę ilość LED)... W swoim poście napisałeś, że chcesz użyć 10 sztuk LED no to w tej linijce zamiast 30 wstawiasz 10....
Zwykle używam zasilacza 5V 4A do takiej zabawy i jest OK
Zwykle używam taśm LED pod 5V aby jednym zasilaczem i tym samym napięciem obsłużyć tak płytkę ARDUINO UNO jak i paski LED, a zasilanie wtedy podpinam pod 5V płytki ARDUINO UNO - czy te sprawy już opanowałeś co do wyboru zasilacza i podpinania w odpowiednie miejsce czy jeszcze nie? Gdy czegoś nie wiesz to lepiej się zapytaj...
W załączniku podaję Ci jak ja zasilam, czyli unikam tego koncentrycznego gniazda z lewej strony płytki, dzięki temu moje płytki żyją bardzo długo, bo po co w czasie wykonywania programu zasilać całą płytkę i część służącą do programowania przez USB gdy do wykonania programu wystarczy zasilić sam procesor ATMEGA328 czyli część wykonawczą płytki ARDUINO UNO oraz pasek LED a pin sterowniczy podpinasz sobie przez opornik tam gdzie trzeba i skąd trzeba, czyli dla w/w listingu przepinasz na pin 6 i łączysz z DIN taśmy LED. A nawet można wyjąć ATMEGĘ328 z płytki ARDUINO UNO i próby dokonywać na uniwersalnych czy innych płytkach: Poczytaj tez ten wątek o sposobie wgrywania programu gdybyś miał kłopoty ze sterownikami i łącznością komputer-programator-płytka-procesor : https://www.elektroda.pl/rtvforum/topic4157077.html#21779969
Załączniki:
ATTINY85-4 diody i wskaźnik napięcia 01.mp4(29.15 MB)
Musisz być zalogowany, aby pobrać ten załącznik.
AEMEGA328 jeden przycisk kilka funkcji 03.mp4(44.04 MB)
Musisz być zalogowany, aby pobrać ten załącznik.
FastLED-3.1.0.zip(267.2 KB)
Musisz być zalogowany, aby pobrać ten załącznik.
Każdy pisze define numled 60... a tu mi tylko chodziło o to, jak wyciągnąć od, do, czyli od 70 do 80, albo od 10 do 40... Ledy na 12 V, długość 5 m, na razie zasilacz daje radę, chociaż chyba będę musiał zastosować jakiś tranzystor z większym zasilaczem, jeszcze nie mam schematu, docelowo będzie około 12 m jednym ciągiem, mają to być schody podświetlane z włączeniem dotykowym poręczy (barierki) z nierdzewki. Taki mój zamysł, oby się udało (z waszą pomocą).
Nie wiem o czym piszesz z tymi wyjściami - to Ty je definiujesz w programie, na przykład PIN 6 jest zdefiniowany jako pin wyjściowy sterujący dla DATA INPUT taśmy LED i trzeba to sterowanie fizycznie też tam podpiąć... Aby operować 70-80 LEDAMI to trzeba zdefiniować ich wymaganą ilość - Ty to definiujesz czy deklarujesz rozkazem: #define NUM_LEDS 80
A tu masz przykład jak zmieniać kolory określonych numerów LED, można to robić na wiele sposobów np. przyporządkowując zmiennej "i" różne zakresy liczbowe i kolorów. Zadeklarowano liczę całkowitą 20 LED a w trzecim przebiegu od 10 do 20 kolor zielony, patrz listing niżej...
Kod: Arduino
Zaloguj się, aby zobaczyć kod
Najlepiej to w praktyce coś zmieniać i obserwować zmiany w realu, patrz film... Jedna moja uwaga, to przy płytkach ARDUINO UNO trzeba odseparować linię 5V zasilania od sterowania, co najmniej plusami o czym wspominała nawet AI a pozostawić minusy wspólne... Inne płytki na przykład ARDUINO NANO nie są takie wrażliwe, ale najlepiej nauczyć się dobrych i właściwych nawyków od razu aby potem nie szukać godzinami przyczyny nie działania programów... Jak znajdę czas to jutro sprawdzę jak to jest z 12V bo jak do tej pory to używałem tylko taśm LED na 5V i płytek ARDUINO NANO i wszystko mi działało, ale dzisiaj dla Twoich potrzeb wyciągnąłem płytkę ARDUINO UNO, no i musiałem jednak odseparować plusy co widać na filmie i zasilić z 12V płytkę a taśmę z 5V bo LEDY mam tylko 5V, więc to co rysowałem i rysuję nie bardzo wiem z praktyki czy taka separacja przetwornicą STEP DOWN jak narysowałem w poprzednim poście byłaby wystarczająca...
Ty musisz dać chyba dwa zasilacze po 12V DC - jeden słabszy dla samej płytki a drugi mocniejszy prądowo dla diod LED gdybyś miał kłopoty z działaniem układu pod jednym zasilaczem, piszę o tym na wszelki wypadek, bo przy 12V nie ma potrzeby korzystać z linii 5V.... Albowiem program się kompiluje i wgrywa na płytkę ale jak nie ma separacji to nie każdy działa no i po co szukać przyczyny? Są to takie drobne niuanse nad którymi można stracić masę czasu.... Kolejną sprawą jest także ustalenie sobie przy jakich ustawieniach FUSE BITÓW działa program - to też ma znacznie gdy później będziesz przenosił program np. z płytki na sam procesor kopiując sam wsad czyli plik.hex.. No ale do tego to zapewne później dojdziesz, bo po co do każdego projektu dawać nową całą płytkę ARDUINO skoro można zaprząc sam procesor a w niektórych wypadkach nawet "goły", czyli bez kwarcu i kondensatorów gdy projekt wizualny nie wymaga stabilnego działania... Na filmie w załączniku masz dowód, że projekt z ostatniego listingu działa OK... Pozdrawiam świątecznie...
Załączniki:
Zasilenie UNO 12V i LEDY 12V dwa zasilacze.jpg(100.96 KB)
Musisz być zalogowany, aby pobrać ten załącznik.
Zasilenie UNO 12V a LEDY 5V - sposób na separację.jpg(98.34 KB)
Musisz być zalogowany, aby pobrać ten załącznik.
Film-sekwencyjne zapalanie-LED.mp4(15.62 MB)
Musisz być zalogowany, aby pobrać ten załącznik.
No i co, sprawdziłeś? Ja natomiast sprawdziłem jak to jest z zasilaniem układu wykonawczego z 12V dla pasków LED na 12V a także dla wersji z samym procesorem a przy okazji zrobiłem Ci jak i potomności wykaz FUSEBITÓW jak je trzeba ustawiać i wgrywać aby można było użyć procesor ATMEGA328 poza płytką ARDUINO i bez dodatkowych elementów typu kwarc w celu miniaturyzacji tego projektu... Pozdrawiam noworocznie...
Załączniki:
ATMEGA 328 POZA ARDUINO UNO oraz FUSE BITY.jpg(637.4 KB)
Musisz być zalogowany, aby pobrać ten załącznik.
FILM ATMEGA328 poza ARDUINO UNO 02.mp4(22.31 MB)
Musisz być zalogowany, aby pobrać ten załącznik.
✨ Dyskusja dotyczy programowania sekwencyjnego zapalania diod LED WS2812 na platformie Arduino Uno, skierowana do początkujących użytkowników. Poruszono kwestie instalacji odpowiednich bibliotek, takich jak FastLED, które nie są domyślnie dostępne w Arduino IDE, oraz wykorzystania przykładów do nauki i modyfikacji kodu. Omówiono definicję liczby diod LED (#define NUM_LEDS) oraz przypisywanie zakresów diod do konkretnych kolorów i efektów świetlnych. Autor planuje sterować paskiem LED o długości około 12 metrów zasilanym napięciem 12 V, co wymaga odpowiedniego zasilacza i ewentualnie tranzystora do sterowania prądem. Wskazano na konieczność fizycznego podłączenia pinu danych (np. pin 6) do taśmy LED oraz na możliwość programowego sterowania wybranymi segmentami diod (np. od LED 10 do 40). Poruszono także temat ustawiania fusebitów procesora ATMEGA328 dla pracy poza standardową płytką Arduino, co umożliwia miniaturyzację projektu. Wskazano na dostępne kursy i materiały wideo oraz przykłady kodów, które ułatwiają naukę i implementację efektów świetlnych na WS2812. Wygenerowane przez model językowy.