Aslında en basit şekliyle anlatmak gerekirse.:
*Arduino Nano da bir butonum var ,6 tane de durum LED lerim ve bir adet de foto diyodum var (Alltaki kodlarda henüz kodları eklenmış değil)
Programdan istenen buton yardımıyla hangi LED yanık yanık kalmış ise photo diyota düşen ışık* belirli bir seyiyenin üstündeyse o PWM değeride çıkış pinin den bunu uygulasın .Sadece bu
* Burada LDR değil Photodiyot kullanmak zorundayım
Butona her bastığımda LED ler sırayla yanıyor ve CASE yapısının içince LED lerin açık kapalı durumlarının altında PwmWrite (led xxx) gibi bir satırla çıkış pwm değerleri ayarlanıyor.
Sorum, photo diyot belirli bir ışık seviyesinin üstünde olduğunda bu LED lerle pwm seviyesi seçilmiş değeri çıkıştan göndersin aksi takdirde göndermesin.
Bunu nasıl yapabilirim
Kodlar :
@Gokrtl bu kodların düzgün görülmesi için bu toolbarda hangi simgeye tıklanıyor?
*Arduino Nano da bir butonum var ,6 tane de durum LED lerim ve bir adet de foto diyodum var (Alltaki kodlarda henüz kodları eklenmış değil)
Programdan istenen buton yardımıyla hangi LED yanık yanık kalmış ise photo diyota düşen ışık* belirli bir seyiyenin üstündeyse o PWM değeride çıkış pinin den bunu uygulasın .Sadece bu
* Burada LDR değil Photodiyot kullanmak zorundayım
Butona her bastığımda LED ler sırayla yanıyor ve CASE yapısının içince LED lerin açık kapalı durumlarının altında PwmWrite (led xxx) gibi bir satırla çıkış pwm değerleri ayarlanıyor.
Sorum, photo diyot belirli bir ışık seviyesinin üstünde olduğunda bu LED lerle pwm seviyesi seçilmiş değeri çıkıştan göndersin aksi takdirde göndermesin.
Bunu nasıl yapabilirim
Kodlar :
@Gokrtl bu kodların düzgün görülmesi için bu toolbarda hangi simgeye tıklanıyor?
Kod:
#include <PWM.h>//eklendi
int led = 9; // eklendi
int32_t frequency = 50; //eklendi frequency (in Hz)
#define button 3
#define LED1 4
#define LED2 5
#define LED3 6
#define LED4 7
#define LED5 8
#define LED6 10
#define LED7 11
int state = 0;
int old=0;
int buttonPoll=0;
void setup() {
//InitTimersSafe();
//sets the frequency for the specified pin
// bool success = SetPinFrequencySafe(led, frequency);
//if the pin frequency was set successfully, turn pin 13 on
// if(success) {
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
// put your setup code here, to run once:
pinMode (button,INPUT);
pinMode (LED1,OUTPUT);
pinMode (LED2,OUTPUT);
pinMode (LED3,OUTPUT);
pinMode (LED4,OUTPUT);
pinMode (LED5,OUTPUT);
pinMode (LED6,OUTPUT);
pinMode (LED7,OUTPUT);
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED6,LOW);
}
void loop() {
buttonPoll =digitalRead(button);
if (buttonPoll ==1){
delay(50);
buttonPoll=digitalRead(button);
if (buttonPoll ==0){
state =old+1;
}}
else{
delay(100);
}
switch (state){
case 1:
digitalWrite(LED1,HIGH);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
// pwmWrite(led, 27);
pwmWrite(led, 26);
old=state;
break;
case 2:
digitalWrite(LED1,LOW);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
//pwmWrite(led, 44);
pwmWrite(led, 51);
old=state;
break;
case 3:
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
//pwmWrite(led, 48);
pwmWrite(led, 76);
old=state;
break;
case 4:
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,HIGH);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
//pwmWrite(led, 52);
pwmWrite(led, 102);
old=state;
break;
case 5:
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,HIGH);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
//pwmWrite(led, 58);
pwmWrite(led, 127);
old=state;
break;
case 6:
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,HIGH);
digitalWrite(LED7,LOW);
//pwmWrite(led, 62);
pwmWrite(led, 153);
old=state;
break;
case 7:
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,HIGH);
//pwmWrite(led, 78);
pwmWrite(led, 179);
old=state;
break;
default:
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
old=0;
break;
}
}
Last edited by a moderator: