Forum elektroda.pl

Regulamin  | Punkty  | Dodaj...  | Ostatnie  | Szukaj  | Rejestracja  | Zaloguj

Ta strona używa cookie. Dowiedz się więcej o celu ich używania i zmianie ustawień cookie w przeglądarce.
Korzystając ze strony wyrażasz zgodę na używanie cookie, zgodnie z aktualnymi ustawieniami przeglądarki.

YAALL - czyli jeszcze jedna LED'owa lampa Arduino


[ + ] [ - ]
Napisz nowy temat  Odpowiedz do tematu      Strona Główna -> Forum elektroda.pl -> DIY Konstrukcje -> YAALL - czyli jeszcze jedna LED'owa lampa Arduino
Autor
Wiadomość
remick.no
Poziom 6
Poziom 6


Dołączył: 17 Sie 2009
Posty: 19

Post#1 Post autora tematu 17 Maj 2012 19:43   

YAALL - czyli jeszcze jedna LED'owa lampa Arduino


YAALL - czyli jeszcze jedna LED'owa lampa Arduino
YAALL = Yet Another Arduino LED Lamp

Projeków gdzie Arduino zaprzęgnięty jest do “mrugania” kolorowymi LED’ami w sieci jest tysiąc.
Pomysł więc nie jest wcale świeży. Narodził się, gdy chciałem spróbować napisać jakąś aplikację na platformę Android - dla zabawy i aby się przekonać czy jest to trudne.

Główne założenie projektu jakie sobie postawiłem:
- sterowana zdalnie (przez Bluetooth) lampką gdzie będzie można zmieniać kolor jej świecenia (diody RGB LED)
- “awaryjne” sterowanie lampką poprzez 4 przyciski (R-czerwony, G-zielony, B-niebieski, M-tryb)

Software:
Program został stworzony w środowisku Eclipse przy użyciu Javy. Jest to mój pierwszy projekt na Androida więc w rzeczy samej nie mogłem się ustrzec błędów. Mam nadzieję, że nie ma ich zbyt wiele.
Jako że z założenia miał to być program tylko dla mnie napisałem go dla wersji androida 4.0.3.
Ma też w kodzie wpisany adres MAC mojego modułu bluetooth, więc gdyby ktoś chciał go użyć musi pamiętać o wpisaniu poprawnych wartości.
Program na komórkę w wersji pierwszej miał tylko 3 suwaki, do każdego koloru oddzielnie.
Następnie rozbudowałem go o “color picker”, 10 dodatkowych ulubionych kolorów oraz wybór czasu po jakim lampka się wyłączy. Dodatkowo umieściłem dwa przyciski do włączania i wyłączania lampki oraz aktywowania trybu tęczy.
Wartości poszczególnych kolorów są zachowywane przy każdej zmianie, tak więc podczas ponownego uruchomienia aplikacji wszystko jest jak byśmy jej nigdy nie opuszczali.
Wyjątek jest tutaj timer, którego wartości nie zapisuję.

Tak wygląda aplikacja (główny ekran i wybór koloru poprzez "picker")

YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino

Hardware:
Mając pod reką parę Arduino wybór był oczywisty. Łatwe i przyjazne podejście do programowania tej platformy przemawiał tylko na jej korzyść. Dodatkowo jakoś należalo zacząć. Nic więc prostszego niż poskładanie wszystkiego na płytce uniwersalnej.

Oczywiście zacząłem od trzech jedno kolorowych diod. W wersji finalnej użyłem 31 RGB diod. Są one połączone równolegle. Jako, że obciążenie prądowe jest całkiem spore i Arduino mógłby nie przeżyć włączenia jednocześnie 31 diod, każdy kolor oddzielnie jest włączany tranzystorem (BD139).

Moduł bluetooth który kupiłem niestety działa w logice 3.3V - niezbędny się więc okazał regulator napięcia oraz MAX3232. Jak by problemów było mało - sygnał z niego (modułu BT) jest odwrócony. Więc musiałem też wrzucić do układu inverter. (użyłem bramek NAND bo akurat 7400 był pod ręką).
Szkielet do montażu diod zrobiłem z pustej butelki po napoju gazowanym. Wyciąłem 3 pierścienie w których zrobiłem otwory na diody. Wszystko zlutowałem razem tak, że tworzy sztywną konstrukcję.
Na początku nie miałem pomysłu na obudowę. Chciałem po prostu schować diody po jakimś kloszem, ale będąc ostatnio w Ikei zobaczyłem idealnie nadającą się do mojego projektu lampkę.

Kupiłem ją i jest “prawie” dobrze. Prawie, gdyż konstrukcja (płytka układu i LED’y) jest nieco za wysoka. Światło nie rozchodzi się jednolicie i widac na lampce ciemniejszy okrąg gdzie jest gorsze doświetlenie. Być może dodam jeszcze jeden, poziomy tym razem, pierścień z diodami aby doświetlić ciemniejszy obszar.
Taśma klejąca widoczna na zdjęciach służy blokowaniu światła małych LED'ów z Arduino i modułu BT.

YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino

No i dodatkowo film. Słychać klikanie gdy przełączam tryby świecenia lampki.

Udało się zrobić film starym aparatem. Oto i on:


Get Flash to see this player.




Na chwilę obecną wszystko wciąż jest jeszcze na płytkach uniwersalnych. W planach jest zrobienie bardziej profesjonalnych płytek - o ile czas pozwoli.

Update
W weekend zrobiłem nieco lepsze płytki. Zamiast arduino zastosowałem mega8. Program został bez zmian.

Parę fotek przedstawiających nową płytkę:

YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Firmware
Program na Arduino zacząłem pisać od obsługi bluetootha. Gdy to działało dodawałem po kolei poszczególne funkcje. Jak widać jest on bardzo prosty i nie ma w nim nic odkrywczego. Jedna rzecz mogąca budzić niepokój to przerwania. Problemem był tryb “tęczy”, z którego pętli nie łatwo było wyjść. Użyłem przerwań, bo nie potrafiłem wpaść na nic bardziej pomysłowego niż to. Tak więc każda transmisja po RS’ie czy naciśnięcie przycisku Mode wywołuje przerwanie gdzie flaga “tęczy” jest zerowana.

Spis elementów:
Arduino nano - 16$
BTM5 - moduł bluetooth - 9$
31 diod RGB - 15$ (za 50 diod)
63 rezystorów do diod (150 - 220R) - dobrać do porządanego prądu diod - 3$
7400 bramki nand pracujące jako invertery - 0.5$
MAX3232 - konwerter TTL - RS232 (działa przy 3.3V) - 0.5$
regulator 3.3V - 0.5$
3x BD139 - 3$
8x 100nF - 1$
4x wlączniki - 1$
4x 10k rezystory
2x jumper (do rozłączania linii RX TX aby można programować arduino w układzie)
zasilacz 5V/2A - 5$
lampa Jonisk Ikea - 200PLN

W załączniku:
Płytka i schemat - Eagle
Arduino wsad
Eclipse projekt

Załączniki:
Powrót do góry
   
LnxTx
Poziom 8
Poziom 8


Dołączył: 24 Kwi 2007
Posty: 28
Miasto: Malbork

Post#2 17 Maj 2012 21:12   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Ciekawi mnie protokół jaki został zastosowany w transmisji bluetooth.
Jest to jakoś opakowane czy po prostu surowe bity są wysyłane? Nie ma problemu z przekłamaniami?
Powrót do góry
   
63404
Usunięty





Post#3 17 Maj 2012 23:18   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Możesz dodać powiadomienie systemowe w androidzie by było wiadomo, że jest się w zasięgu lampki :) Na tym powiadomieniu możesz też wyświetlić aktualny kolor (taki gadżet ale może okazać się przydatny jak się jest na innym piętrze a chce się ustawić odpowiedni kolor do nastroju).
Powrót do góry
   
raffiki
Poziom 13
Poziom 13


Dołączył: 20 Paź 2006
Posty: 139
Miasto: Wieliczka

Post#4 18 Maj 2012 01:10   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Strasznie drogo to wyszło. Płytka też wielka (wydaje mi się, że nawet na uniwersalnej dało się ciaśniej). W aplikacji powinno być wyszukiwanie urządzenia i PIN do połączenia (nie patrzyłem w kod czy tak jest), lub przycisk na lampie umożliwiający parowanie. Ja u siebie z innym napięciem logiki załatwiłem sprawę zenerkiem i opornikiem.
Powrót do góry
   
markovip
Poziom 22
Poziom 22


Dołączył: 27 Mar 2007
Posty: 2052
Miasto: Valencia, Hiszpania

Post#5 18 Maj 2012 01:58   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Diodą Zenera najwyżej możesz obniżyć napięcie.
Powrót do góry
   
raffiki
Poziom 13
Poziom 13


Dołączył: 20 Paź 2006
Posty: 139
Miasto: Wieliczka

Post#6 18 Maj 2012 02:01   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


markovip napisał:
Diodą Zenera najwyżej możesz obniżyć napięcie.

owszem, w druga stronę nie ma problemu, 3v3 jest już jako stan wysoki
Powrót do góry
   
Google


Google Adsense


Post# 18 Maj 2012 02:01   





Powrót do góry
   
remick.no
Poziom 6
Poziom 6


Dołączył: 17 Sie 2009
Posty: 19

Post#7 Post autora tematu 18 Maj 2012 08:47   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


@LnxTx
Pytasz o to jak realizowany jest protokół BT?
Oj, to muszę cię rozczarować - przeceniasz moje umiejętności. Nie mam bladego pojęcia!
Ja po prostu podłączam się przez łącze szeregowe. Wysyłam ciąg znaków i je odbieram, przy okazji dekodując i odpowiednio włączam diody.
W obecnej konfiguracji nie ma żadnych przekłamań - a przynajmniej nie zauważyłem.


No nie, to nie tak :)
Gdy wychodzę z aplikacji (lub gdy wyłączam komórkę), wtedy łącze jest przerywane. Nie widzę potrzeby aby być bez przerwy podpiętym do lampki. Dane są tylko wysyłane do niej gdy zmieniam kolor czy ustawiam timer.

Natomiast jeśli chodzi o obecny kolor, to sprawę załatwia przycisk "color picker'a". Zmienia on barwę w zależności od ustawionego koloru. Oczywiście zawsze istnieje możliwość, że ktoś zmienił kolor przyciskami, ale w momencie podłączenia się do lampki, wysyłam paczkę danych z moimi ostatnimi ustawieniami - więc kolor będzie się zgadzał.

Powiadomienie o tym czy jestem podłączony czy też nie wyświetlam w momencie uruchamiania aplikacji.

Na screen-shot'cie zaznaczyłem przycisk wyboru koloru oraz wyświetlone powiadomienie o nawiązanym połączeniu:

YAALL - czyli jeszcze jedna LED'owa lampa Arduino


@raffiki
Powiem tak, cena to rzecz względna. Dla jednych drogo dla innych tanio ;)

Zgadzam się - płytka jest wielka. Jest to wersja testowa i nie chodziło mi tu o jak najlepsze zagospodarowanie miejsca, lecz raczej o wygodę w trakcie łączenia pinów.

Nie zgadzam się z twoim stwierdzeniem co powinno być w aplikacji a czego nie. (traktuję je w ten sposób, że gdybyś Ty pisał tą aplikację te funkcje byś dodał)
Masz kody źródłowe - potrzebujesz tego - be my guest!
Aplikację pisałem dla siebie - nie dla kogoś, nie na sprzedaż, nie na zamówienie.
Gdyby tak było - owszem miał byś rację.
W moim projekcie to niepotrzebne dodatkowe zwiększenie objętości aplikacji i obciążenie jej funkcjami które będą wykorzystane jeden jedyny raz.
Dlatego parowanie BT załatwiam przez system a MAC adres modułu BT jest na stałe w kodzie.

Cieszę się, że mogłeś załatwić sprawę jedną zenerką. Niestety w moim przypadku to nie działało. Problemem nie było obniżanie napięcia ale jego podnoszenie. Wysoki poziom (logiczne "1") z modułu BT bez obciążenia Arduino wyglądał na oscyloskopie świetnie. Niestety, po obciążeniu już nie tak fajnie co powodowało straszne przekłamania lub nawet w ogóle nie można było zdekodować odebranej paczki. Próbowałem układu z dwoma tranzystorami - było lepiej, ale wciąż nie 100% OK. Próbowałem układu z tranzystorem FET - tutaj pełna porażka. Dlatego wyciągnąłem z szuflady MAX'a.
Powrót do góry
   
Google


Google Adsense


Post# 18 Maj 2012 08:47   





Powrót do góry
   
69696
Usunięty





Post#8 18 Maj 2012 09:04   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


projekt podoba mi sie. osobiscie jednak wybralem inna droge - WiFi.
posiadam w domku kilka lampek RGB ale sa sprzegniete magistrala RS485. od tego zaczalem przygode z RS485. pomyslalem, trzeba sprobowac. i tak zaczelo toto ladnie dzialac. urzadzenia slave to uklady max487 i Atmelowa M8ka. master to domowy serwer mediow na Linuksie. klientem sterujacym wybrana lampka jest przegladarka webowa - zatem dosc elastycznie jest, gdyz moge klikac i z komputera siedzac przy biurku oraz z komorki bedac np w sypialni. a wystarczy, ze bede w zasiegu ktoregos z moich APkow. postawilem na jak najprostszy sprzet, a calosc inteligencji w oprogramowaniu po stronie komputra.
pozdrawiam,
m.
Powrót do góry
   
remick.no
Poziom 6
Poziom 6


Dołączył: 17 Sie 2009
Posty: 19

Post#9 Post autora tematu 18 Maj 2012 10:59   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


@maxi128
Zgadzam się w 100%! WiFi to jest właściwe podejście do tematu.
Jednak ten mały projekt elektroniczny powstał jako dodatek do czegoś na czym mi przede wszystkim zależało - próby sił w programowaniu na platformę Android.
Gdybym wybrał opcje WiFi - nie zostało by wiele do "programowania" na komórkę.
Powrót do góry
   
snnaap
Poziom 19
Poziom 19


Dołączył: 06 Kwi 2005
Posty: 657

Post#10 18 Maj 2012 17:23   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Gdzie można nabyć takie moduły BT?
Powrót do góry
   
remick.no
Poziom 6
Poziom 6


Dołączył: 17 Sie 2009
Posty: 19

Post#11 Post autora tematu 18 Maj 2012 17:42   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


ebay.com
wyszukaj "BT module arduino"
Powrót do góry
   
63404
Usunięty





Post#12 18 Maj 2012 18:22   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Jest pewien problem przy obracaniu ekranu. Raz że dziwnie długo to trwa, a dwa, że nie da się przesunąć ekranu przy obróconym ;)
I chodziło mi o powiadomienie systemowe a nie toast..
Powrót do góry
   
Google


Google Adsense


Post# 18 Maj 2012 18:22   





Powrót do góry
   
remick.no
Poziom 6
Poziom 6


Dołączył: 17 Sie 2009
Posty: 19

Post#13 Post autora tematu 18 Maj 2012 20:59   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Co do czasu obracania to odpowiedź jest prosta - onCreate jest wywoływane za każdym razem gdy obracasz telefon - więc program próbuje się łączyć z modułem BT - jak go nie masz - będzie trwało długo.

Natomiast druga część jest dla mnie zagadką (za mało wiem o programowaniu androida jeszcze). Szczerze mówiąc nawet do głowy mi nie przyszło aby używać aplikacji w ten sposób. Jedynie kilka programów używam w trybie landscape (przeglądarka internetowa na przykład) i mam w ogóle wyłączone obracanie wyświetlacza.

Natomiast zainspirowałeś mnie - muszę zobaczyć jak zrobić to przewijanie ekranu w trybie poziomym - to się na pewno przyda kiedyś :) - dzięki !
Powrót do góry
   
63404
Usunięty





Post#14 18 Maj 2012 23:27   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Cieszę się, że jestem czyjąś inspiracją xD

A gdybyś tak dodał w manifeście w activity maina:

Kod XML - [rozwiń]
<activity
...
android:configChanges="orientation|screenSize" >
<intent-filter>
...
</intent-filter>
</activity>


oraz w programie metodę:

Kod Java - [rozwiń]
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}


Możesz wówczas reagować na zmiany orientacji. ScreenSize jest połączony z Orientation i żeby było aktywne muszą być oba podane.

Po wpisaniu tego u mnie nie przechodzi przez pause, stop, destroy, create, start, resume - "ścieżkę płaczu" ;) Nie wiem na ile jest to prawidłowy sposób ale przy tej aplikacji nie ma chyba większego znaczenia sprawdzanie konfiguracji, bo sama aplikacja nie jest mocno rozbudowana.

Co do przesuwania w trybie "landscape" to można to jeszcze inaczej zrobić. Po co przesuwać ;). Możesz zrobić drugi layout ale tym razem dla "landscape", ale tu musi być destroy i create..
Powrót do góry
   
remick.no
Poziom 6
Poziom 6


Dołączył: 17 Sie 2009
Posty: 19

Post#15 Post autora tematu 20 Maj 2012 20:59   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Dzięki za rady.
Próbowałem normalnie tylko z odwróconym interfejsem ale niestety jest słabo.

Jedyne słuszne rozwiązanie to jednak zaprojektować nowy układ dla orientacji poziomej.
Powrót do góry
   
63404
Usunięty





Post#16 20 Maj 2012 21:35   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Pamiętaj,że jak dodasz drugi interfejs to musisz kasować ten stary, a wtedy ścieżka płaczu jest niezbędna :-)
Powrót do góry
   
gregorusp
Poziom 3
Poziom 3


Dołączył: 09 Kwi 2003
Posty: 7
Miasto: Leszno

Post#17 24 Maj 2012 11:49   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Witam!
Ja mam taki mały OT - pisałeś to w Eclipse, używałeś AVD (emulatora)? Jeżeli tak to jak można dodać obsługę Bluetooth-a do niego i debugować program w Eclipse??
Grzegorz
Powrót do góry
   
remick.no
Poziom 6
Poziom 6


Dołączył: 17 Sie 2009
Posty: 19

Post#18 Post autora tematu 26 Maj 2012 22:32   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Kolego.

Tak tak - wiem. Inaczej nie da rady chyba niestety :(

@gregorusp

Z tego co wiem emulator nie obsługuje BT i musisz podłączyć swój telefon i jego użyć jako platformy do debugowania.
Powrót do góry
   
63404
Usunięty





Post#19 26 Maj 2012 22:46   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Tak coś ostatnio czytałem i doszedłem do wniosku, że chyba ScrollView jest czymś czego potrzebujesz :-)

Co do BT, to chyba był jakiś plugin do tego by był obsługiwany na virtualu.

Pytanie do autora: jak wygląda odwzorowanie kolorów na diodach względem tego co jest w telefonie?

bo nie wiem jak zinterpretować to zdjęcie: http://obrazki.elektroda.pl/4509210500_1337274012.jpg
Powrót do góry
   
remick.no
Poziom 6
Poziom 6


Dołączył: 17 Sie 2009
Posty: 19

Post#20 Post autora tematu 05 Cze 2012 16:21   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Kolego.
Kolory nie pokrywają się w 100%.
Myślę że w dużej mierze wina jest po stronie LED'ów.
Natomiast zdjęcie przedstawia przykładowy screen shot z aplikacji, kiedy lampka była ustawiona na max niebieski kolor.

Właśnie udało mi się (mam nadzieję) załadować na serwer elektrody film i jak tylko zmiany w poście zostaną zaakceptowane przez moderatora sam zobaczysz jak to wygląda.
Powrót do góry
   
63404
Usunięty





Post#21 07 Cze 2012 20:45   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


remick.no napisał:
sam zobaczysz jak to wygląda.


Wygląda zacnie. ;)
Powrót do góry
   
cikol
Poziom 20
Poziom 20


Dołączył: 11 Mar 2004
Posty: 1002
Miasto: Poznań

Post#22 19 Sie 2012 21:37   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Znalazłem podobny(komercyjny) projekt : http://smart-rgb.com/ . Tu jeszcze zastosowano sterowanie z poziomu aplikacji windowsa.
Powrót do góry
   
Google


Google Adsense


Post# 19 Sie 2012 21:37   





Powrót do góry
   
63404
Usunięty





Post#23 31 Sie 2012 16:43   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


cikol napisał:
Znalazłem podobny(komercyjny) projekt : http://smart-rgb.com/ . Tu jeszcze zastosowano sterowanie z poziomu aplikacji windowsa.


Niestety aplikacja na androida tam dostępna to na żywca ściągnięty od Google przykład obsługi Bluetooth (BluetoothChat). Autor nawet nie pokusił się o zmianę nazwy programu w komunikatach w kilku miejscach i dodatkowo aplikacja posiada wszystkie błędy, które są w wyżej wymienionym przykładzie.. Co o tym sądzić? Sami oceńcie ;)
Powrót do góry
   
dpmattox
Poziom 1
Poziom 1


Dołączył: 17 Wrz 2012
Posty: 1
Miasto: Vintondale

Post#24 17 Wrz 2012 15:11   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


remick.no, would you be willing to help me with my own android program to control similar hardware? I will be doing a kickstarter soon, and would be able to pay you out of those funds...
Powrót do góry
   
remick.no
Poziom 6
Poziom 6


Dołączył: 17 Sie 2009
Posty: 19

Post#25 Post autora tematu 18 Wrz 2012 09:00   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Bad timing mate :(

I'm busy at work at the moment and on top of that my long awaited holidays will start soon.

You need to realize one more thing. I'm not android programming expert. RGB Lamp was my first project. Probably it has many bugs. You should rather try to contact someone who is more experienced in making android apps than I am.

Maybe could help you out?
Powrót do góry
   
topstar
Poziom 17
Poziom 17


Dołączył: 31 Paź 2003
Posty: 367
Miasto: Mielec

Post#26 09 Gru 2013 13:38   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Przepraszam że odkopuje temat ale właśnie robię w pokoju mood light na taśmach RGB i mam nadzieje że znajdzie się ktoś bardziej pojętny niż ja w sprawach androida. Otóż zamieszczony przez autora projekt został dopasowany do diody ze wspólną katoda a taśma RGB ma wspólną anodą i całe sterowanie jest na odwrót, czyli 255 wartość wyłączone , 0 włączone no i kolory z pickera są również odwrócone.
Ogólnie aplikacja wysyła przez RS bluetootha wartości kolorów w formacie :
1255(full czerwony)2255(full zielony) 3255(full niebieski ) .
Kod C++ - [rozwiń]
void serialEvent() {
if (Serial.available()) {
 
buffer[received++] = Serial.read();
buffer[received] = '\0';
if (received >= (sizeof(buffer)-1))
{
for(int i=0; i<sizeof(buffer); i++){
buffer_new[i] = buffer[i+1];
}
 
LEDpointer[0] = buffer[0];
 
if(DEBUG){
Serial.println(buffer_new);
Serial.println(buffer);
Serial.println(LEDpointer);
}
 
int myInt = atoi(buffer_new);
if(DEBUG){
Serial.println(myInt);
}
 
switch (LEDpointer[0]){
case '0':
analogWrite(RedLED, 0);
analogWrite(GreenLED, 0);
analogWrite(BlueLED, 0);
break;
case '1':
analogWrite(RedLED, myInt);
break;
case '2':
analogWrite(GreenLED, myInt);
break;
case '3':
analogWrite(BlueLED, myInt);
break;
}

Z tego co widać w kodzie arduino ustawianie kolorow działa na zasadzie zliczania impulsów myInt, na schemacie INT0 jest połączone z RX atmegi. Teraz zastanawiam się czy wystarczy przerobić source arduino aby ustawianie kolorów działało poprawnie czy nie obejdzie się bez przerabiania aplikacji na androida.
Powrót do góry
   
topstar
Poziom 17
Poziom 17


Dołączył: 31 Paź 2003
Posty: 367
Miasto: Mielec

Post#27 09 Gru 2013 20:38   

Re: YAALL - czyli jeszcze jedna LED'owa lampa Arduino


Ok już poradziłem sobie z tym .
Wystarczyło w kodzie arduino zrobić odwracanie PWM w następujący sposób:
Kod C++ - [rozwiń]
case '1':
analogWrite(RedLED, 255 - myInt);
break;
case '2':
analogWrite(GreenLED, 255 - myInt);
break;
case '3':
analogWrite(BlueLED, 255 - myInt);
 

Powrót do góry
   
Napisz nowy temat  Odpowiedz do tematu   [ + ] [ - ]    Strona Główna -> Forum elektroda.pl -> DIY Konstrukcje -> YAALL - czyli jeszcze jedna LED'owa lampa Arduino
Wypowiedź dla Wykop Wypowiedź dla Facebook Wypowiedź dla Google Wypowiedź dla Twitter
Strona 1 z 1



Administrator || Moderatorzy || Regulamin forum || Regulamin ogólny || Informacja o cookies || Reklama || Kontakt

Page generation time: 0.145 seconds

elektroda.pl temat RSS