
Matija Vučina Juraj Meštrović
Dependencies: mbed
main.cpp
- Committer:
- mvucina
- Date:
- 2015-06-12
- Revision:
- 1:f16f1d69b376
- Parent:
- 0:61f6dae447a3
File content as of revision 1:f16f1d69b376:
/* Zadatak 1 Vu metar sa 20 LED elemenata. 2 LED stripa svaki s 10 LED. 2 funkcije: pojedinačna LED, Rastuci niz LED Matija Vučina & Juraj Meštrović */ #include "mbed.h" BusOut LedStrip(p14,p13,p12,p11,p10,p9,p8,p7,p6,p5); DigitalOut Strip1(p21); DigitalOut Strip2(p22); DigitalIn Din(p28); AnalogIn Ain(p20); // analogni ulaz izmedu 0.0 i 1.0 void VuRastuci (float analog); void VuPojedinacno (float analog); int main() { Din.mode(PullUp); Strip1=0; Strip2=0; while(1) { while(Din==1) { VuPojedinacno(Ain); //pojedinacno } while (Din==0) { VuRastuci(Ain); //rastuce } } } void VuRastuci (float analog) { Strip1=0; Strip2=0; LedStrip = 0x0; int x = (analog*20); LedStrip = ~(0x3FF<<x); //upali odgovarajuce izlaze Strip1=1; //upali prvu strip wait(0.01); Strip1=0; //ugasi prvi strip LedStrip = 0x0; //reset izlaza if(x>10) { x=x-10; LedStrip = ~(0x3FF<<x); //isti postupak samo za drugi strip Strip2=1; wait(0.01); } } void VuPojedinacno (float analog) { Strip1=0; Strip2=0; int x = (analog*20); if(x>0 && x<=10) { // ako je izmedu 0 i 10 to je prvi led strip LedStrip = 0x1<<(x-1); // upali prvi bit i pomakni ga na odgovarajuce mjesto Strip1=1; //upali strip 1 wait(0.01); Strip1=0; //ugasi strip 1 } else if(x>10 && x<=20) { LedStrip = 0x1<<(x-11); Strip2=1; //upali strip 2 wait(0.01); Strip2=0; //ugasi strip 2 } else { Strip1=0; Strip2=0; } }