Podświetlenie szuflad, LED fade - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Podświetlenie szuflad, LED fade (/watek-pod%C5%9Bwietlenie-szuflad-led-fade) Strony:
1
2
|
Podświetlenie szuflad, LED fade - rosak - 01-07-2016 Witam. Męczę się z prostym zadaniem w kwestii sketcha. Oświetlenie szuflad paskami LED. Kontaktron jako załącznik, chciałbym żeby ledy włączyły się płynnie oraz płynnie wyłączyły. Z kontaktronu przy otwartej szufladzie będzie oczywiście cały czas input low a przy zamkniętej input high. Proszę tylko o naprowadzenie na właściwy tor RE: Podświetlenie szuflad, LED fade - adix - 01-07-2016 musisz użyć pwm które będzie instrumentowali if kotarkron=0 {pwm=pwm+10 -lub w pętle for to wrzucasz dodatkowa musi uzależnić to od flagi by się tylko 1 raz wykonało } if kotarkron=1 {pwm=pwm-10 -lub w petle for to wrzucasz dodatkowa musi uzależnić to od flagi by się tylko 1 raz wykonało} RE: Podświetlenie szuflad, LED fade - rosak - 01-07-2016 Dzięki, obecnie jestem w pracy, w domu będę próbował. Właśnie nie mogę dojść do tego jak to zrobić, żeby się tylko raz wykonało. Mam tak: Kod: if(digitalRead(0) == HIGH) //kontaktron działa, tylko że w kółko się rozjaśnia. RE: Podświetlenie szuflad, LED fade - adix - 01-07-2016 bool stan; Kod: if(kon==1){ RE: Podświetlenie szuflad, LED fade - rosak - 02-07-2016 Z tym boolean pewnie też by było dobrze ale w międzyczasie wymyśliłem inaczej: Kod: int fadeValue = 0; Działa idealnie, zobaczymy czy tak zostanie w dalszych fazach całego projektu. Dzięki. Proszę używać "code" RE: Podświetlenie szuflad, LED fade - rosak - 02-07-2016 Jednak nie działa dobrze. Jest tak: Kod: void loop() { Na pinie 0 jest kontaktron, kiedy jest zamknięty (HIGH) dioda ma nie świecić. I tak po starcie, dioda nie świeci. Kiedy otwieram kontaktron dioda się rozświetla. Kiedy zamykam, przygasa, jednak nie do końca. Na porcie szeregowym odczytuję fadeValue = 0 - czyli nie powinna świecić analogRead z diody wygląda mniej więcej tak: 0,0,0,0,0,0,0,0,1023,0,0,0,0,0,0,1023 itd. Dlaczego? Próbowałem zmieniać na ślepo while(fadeValue > 0){ na while(fadeValue >= 0){ Wtedy przygasa do końca, fadeValue jest -5 ale pojawia się jeszcze inny problem. Włączając diodę ta rozbłyska na ułamek sekundy pełnym światłem i dopiero potem rozjaśnia się od zera. Proszę używać "code" RE: Podświetlenie szuflad, LED fade - adix - 02-07-2016 Kod: int fadeValue = 0; i trzy w elsie wykonujesz do bólu mówiłem powiąż jedno z drugim bo nie potrzebnie miele ci ten procek bez przerwy. Przeanalizuj kod jak procesor zauważysz to oczy mówię. RE: Podświetlenie szuflad, LED fade - rosak - 03-07-2016 Dzięki za poprawki oraz gotowca. Na jego podstawie postaram się zrozumieć o co chodzi z tym mieleniem. Odpowiedziałbym wcześniej gdybym dostał powiadomienie o odpowiedzi. Wgrałem Twój kod, niestety jeśli chodzi o efekt nic to nie zmieniło, dioda nie wygasa do końca.. Mimo, iż po fade out fadeValue jest 0 to na pinie 13 pojawia się słaba modulacja. Dziś nie mam czasu ale w nocy albo jutro będę dalej kombinował. A wydawało się to takie proste.. RE: Podświetlenie szuflad, LED fade - adix - 03-07-2016 Kolego ale pin 13 nie jest pod pwm tylko po digital wiec ściemniała się nie będzie jak nie dasz rady to napisze ci kod bo jest banalny. RE: Podświetlenie szuflad, LED fade - rosak - 03-07-2016 Skorzystałem z pomocy na innym forum, wszyscy kombinowali, wgrywałem różne kody bez przesady chyba ze 100 razy. Problem był w tym, że z kodu: Kod: int ledPin = 13; Przy wygaszaniu, wartość fadeValue spadała do 0 (wiem z monitora portu szeregeowego) jednak dioda nie wygasała do końca. Po wgraniu kilkunastu różnych kombinacjach oraz powrocie do wersji początkowej (tej powyższej) wszystko zaczęło działać. Adix, pin 13 w Leonardo jest PWM, wszystko teraz działa. Niestety dalej nie wiem, gdzie poprawiłeś hazard oraz o co chodzi z tym mieleniem procka w kółko. Wydaje mi się, że Twoja wersja różni się tylko dodaniem zmiennej state, moim zdaniem zbędnej jeśli chodzi o funkcjonalnośc, może przydatnej w dalszej perspektywie przy rozbudowaniu kodu ale nie mającej wpływ na działanie skryptu. |