Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino - tutorijali, pitanja, primjeri i projekti
#2
Evo jedne moje, doduše početničke kreacije, radi se o detektoru osvjetljenja, ništa posebno, vježbanje malo, kada bi se senzor kalibrirao onda bi se mogao sklop koristiti kao mjerač osvjetljenja di bi se vrijednost isčitavala u serijskom monitoru.

Jedino što sam primjetio da kada se pritisne gumb ponekad odreagira odmah kako treba, a ponekad samo blinkne led, kao da dio programa krene ali onda se zaustavi. Koliko sam uspio na netu vidjeti, ljudi to rješavaju sa 47 nF keramikom između pina za tipkalo na MCU i mase. Možda je bolje da to sredim softverski sa debounce. I izbaciti eksterne pulldown otpore i zamjeniti sa internim.

evo koda 
Code:
const int senzor = A0;
const int crveno = 4;
const int zeleno = 7;
const int tipkalo1 = 2;
const int tipkalo2 = 8;

int svjetlost = 0;
int zadrska = 20;
int tipka1 = 0;
int tipka2 = 0;
int brojac1 = 0;
int brojac2 = 0;

void setup(){
 pinMode(zeleno, OUTPUT);
 pinMode(crveno, OUTPUT);
 pinMode(tipkalo1, INPUT);
 pinMode(tipkalo2, INPUT);
 Serial.begin(9600);
}
void loop(){
 svjetlost = analogRead(senzor);
 tipka1 = digitalRead(tipkalo1);
 tipka2 = digitalRead(tipkalo2);
 delay(zadrska);
 if(tipka2 == HIGH) brojac2++;
 if(brojac2 == 1 && brojac1 == 1){
   delay(zadrska);
   Serial.println(svjetlost);
 }
 if(brojac2 == 2){
   tipka2 = 0;
   brojac2 = 0;
 }
 if(tipka1 == HIGH) brojac1++;
 delay(zadrska);
 if(brojac1 == 1){
 if(svjetlost < 200){
   digitalWrite(zeleno, LOW);
   digitalWrite(crveno, HIGH);
   delay(zadrska);
 }else if(svjetlost > 200 && svjetlost < 400){
   digitalWrite(zeleno, HIGH);
   digitalWrite(crveno, HIGH);
   delay(zadrska);
 }else{
   digitalWrite(zeleno, HIGH);
   digitalWrite(crveno, LOW);
   delay(zadrska);
 }
}
 if(brojac1 == 2){
   delay(zadrska);
   digitalWrite(zeleno, LOW);
   digitalWrite(crveno, LOW);
   tipka1 = 0;
   brojac1 = 0;
   tipka2 = 0;
   brojac2 = 0;
}
}

Sklop ima dva tipkala, jednim palimo i gasimo slanje podataka na serijski monitor, jednim palimo i gasimo sve funkcije (standby).
evo i jedne slike, na protoboardu
[Image: 2ev8ehl.jpg]
Reply


Messages In This Thread
RE: Arduino - tutorijali, pitanja, primjeri i projekti - by gigabyte091 - 12-01-2014, 07:20 PM

Forum Jump:


Users browsing this thread: 29 Guest(s)