ARDUINO UNO programiranje LED Trake RGB 5050

poruka: 4
|
čitano: 2.754
|
moderatori: DrNasty, pirat, XXX-Man, Lazarus Long, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
6 godina
neaktivan
offline
ARDUINO UNO PROJECT LED Trake RGB 5050

Zanima me koju jacinu RGB LED Traka 5050 da uzmem,za programiranje u ARDUINU?Imaju jacine 7,2W/m i 14,4W/m?Hteo sam da to povezem na arduino UNO?Imate li kakav predlog?I ja sam to hteo ubacivat te trake sa arduinom u kuciste i iza stola!Moze li mala pomoc kako to povezati i sve,USB sa ARDUINA bi ukljucivao u racunar!

 
0 0 hvala 0
5 godina
neaktivan
offline
ARDUINO UNO programiranje LED Trake RGB 5050

Je l zna neko da uradi? Ja znam samo prvu tacku..Drugu ne znam ni kako da pocnem..a ovo je pocetni kod,tj koji je dat

Inicijalizovati lampice LD1-LD8 kao izlazne pinove, 
ugasiti ih i inicijalizovati serijsku komunikaciju
* (5 poena) Napraviti funkciju fun1() koja proverava stanje UART-a. 
Ukoliko je učitan neki karakter, funkcija provarava da li je taj
karakter cifra, i ako jeste ispusuje tu cifru na lampicama LD1-LD4
u binarnom obliku i vraća odgovarajuću vrednost iz intervala 0-9. 
Ukoliko učitani karakter nije cifra, funkcija vraća vrednost -1. 
Funkciju je moguće testirati u loop() funkciji sa delay-om od 50ms.
* (6 poena) Inicijalizovati Timer 1, sa preskalerom 256, koji je zakačen 
za odgovarajući interapt. Svaki put kada se desi interapt, pročitati 
stanje UART-a funkcijom fun1() i ispisati učitanu cifru na 
odgovarajućim lampicama. Nakon svake učitane cifre, sabrati sve 
do tada učitane cifre. Postaviti prekid eksternog uređaja koji 
prilikom paljenja prekidača SW2 ispisuje sumu unetih cifara na UART.
* (7 poena) Implementirati svoju funkciju pinModeOut(port, bit) koja 
postavlja određeni pin na datom portu kao izlazni pin. Zadatak je 
dozvoljeno uraditi i pristupanjem ovim lokacijama preko unapred 
definisanih struktura (p32_ioport,...)
*/




extern "C" void __attribute__((interrupt(),nomips16)) Timer1Handler(void);

#define bit2mask(bit) (1<<bit) 
enum gpio_ports { PORT_A=1, PORT_B, PORT_C, PORT_D, PORT_E, PORT_F, PORT_G };
unsigned int gpio_base_addr[PORT_G] = 
{0xBF886000, 0xBF886040, 0xBF886080, 0xBF8860C0, 0xBF886100, 0xBF886140, 0xBF886180 };
enum gpio_regs { GPIO_REG=0, GPIO_CLR, GPIO_SET, GPIO_INV }; 

int frequency = 1; // Podesiti po potrebi

//************************************************************************
void EnableTimer(void)
{
T1CON = TACON_PS_256; // izbor preskalera

TMR1 = 0; // Obrisi Timer1 counter
PR1 = (__PIC32_pbClk / 256 / frequency); 
// Serial.println(PR1);

// inicijalizacija prekida
setIntVector(_TIMER_1_VECTOR, Timer1Handler);
clearIntFlag(_TIMER_1_IRQ);
setIntPriority(_TIMER_1_VECTOR, _T1_IPL_IPC, _T1_SPL_IPC);
setIntEnable(_TIMER_1_IRQ); 

T1CONSET = TACON_ON; // pusti ga da broji
}

void setup() 
{

}

void loop() 
{

}

 
0 0 hvala 0
16 godina
moderator
online
Re: ARDUINO UNO PROJECT LED Trake RGB 5050
KocoxGamer kaže...

Zanima me koju jacinu RGB LED Traka 5050 da uzmem,za programiranje u ARDUINU?Imaju jacine 7,2W/m i 14,4W/m?Hteo sam da to povezem na arduino UNO?Imate li kakav predlog?I ja sam to hteo ubacivat te trake sa arduinom u kuciste i iza stola!Moze li mala pomoc kako to povezati i sve,USB sa ARDUINA bi ukljucivao u racunar!

Tek sad vidim ovu poruku. Što si uzeo na kraju? U osnovi ti je svejedno, znači trebao bi uzeti ono što ti odgovara za osvjetljenje, a onda koristiš n-channel MOSFET-e (treba koristiti onog koji zahtijeva niski napon na gateu), odnosno preko njega se RGB komponente LED traka napajaju.

 

Za spajanje na računalo, idealno bi ti bilo uzeti MOLEX ili strujni SATA splitter, iz kojih možeš izvući napon kojeg želiš - bilo 5 V (crvena i crna), bilo 12 V (žuta i crna).

16 godina
moderator
online
Re: ARDUINO UNO programiranje LED Trake RGB 5050
ivana96ivana kaže...

* (6 poena) Inicijalizovati Timer 1, sa preskalerom 256, koji je zakačen 
za odgovarajući interapt. Svaki put kada se desi interapt, pročitati 
stanje UART-a funkcijom fun1() i ispisati učitanu cifru na 
odgovarajućim lampicama. Nakon svake učitane cifre, sabrati sve 
do tada učitane cifre. Postaviti prekid eksternog uređaja koji 
prilikom paljenja prekidača SW2 ispisuje sumu unetih cifara na UART.

Koji je to framework? To mi ne liči na Arduino. Jel to možda C za PIC32?

 

Uglavnom, koliko sam ja skužio iz tog koda - ima ova naredba:

setIntVector(_TIMER_1_VECTOR, Timer1Handler);

 

Ta naredba na timer 1 zakači funkciju Timer1Handler, koja se poziva kad timer 1 aktivira interrupt. Pa sad samo moraš napisati kod za tu funkciju. Vidim da ima na početku:

extern "C" void __attribute__((interrupt(),nomips16)) Timer1Handler(void);

 

To je najmjerno tako, da se ta funkcija poziva iz drugog fajla? Ako nije, onda to zakomentiraš i umjesto toga napišeš svoju funkciju, koja će pozivati fun1 i raditi ostalo što ima za raditi.

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice