Dersler

View on GitHub

EEM-120 Algoritma ve Programlama II Dersi

Analog okuma

Potansiyometrenin voltaj değerini tinkercad’de debug modunda görme.

image

void setup(){
  pinMode(A3, INPUT);
}
void loop()
{
  int adc_degeri;
  float analog;
   adc_degeri= analogRead(A3);
   analog=(adc_degeri/1023.)*5;
  delay(100);
}

Fotoresistör değerine göre LED yakma

Fotoresistör değeri 1.5k ise LED yansın.

image

void setup(){
  pinMode(A2, INPUT);
  pinMode(6, OUTPUT);
}
void loop()
{
  int adc_degeri;
  float analog;
   adc_degeri= analogRead(A2);
   analog=(adc_degeri/1023.0)*5;
   if(analog>=3){
    digitalWrite(6,HIGH);
   }else{
    digitalWrite(6,LOW);
   }
  delay(100);
}

Fotoresistör değeri artarken 1.5k olduğunda led yansın.
Fotoresistör değeri azalırken 1.2k olduğunda led sönsün.

void setup(){
  pinMode(A2, INPUT);
  pinMode(6, OUTPUT);
}
int aydinliktan_karanliga=1;
void loop()
{
  int adc_degeri;
  float analog;
   adc_degeri= analogRead(A2);
   analog=(adc_degeri/1023.0)*5;
   if(analog>=3 && aydinliktan_karanliga==1 ){
    digitalWrite(6,HIGH);
    aydinliktan_karanliga=0;
   }
   if(analog<=2.17 && aydinliktan_karanliga==0){
    digitalWrite(6,LOW);
    aydinliktan_karanliga=1;
   }
  delay(100);
}

Sıcaklık sensörü kullanımı (TMP36)

image

image

verilen grafiğin fonksiyonu:
derece=analog/10.0-50;

void setup(){
  pinMode(A4, INPUT);
}
void loop()
{
  float derece;
  int adc_degeri;
  float analog;
   adc_degeri= analogRead(A4);
   analog=(adc_degeri/1023.0)*5*1000;
   derece=analog/10.0-50;
  delay(100);
}

map() fonksiyonu ile programlama

void setup(){
  pinMode(A4, INPUT);
}
void loop()
{
  float derece;
  int adc_degeri;
  float analog;
   adc_degeri= analogRead(A4);
   analog=(adc_degeri/1023.0)*5*1000;
   derece=map(analog,500,1000,0,50);
  delay(100);
}

Analog yazma (PWM sinyali)

image

pin 3, 9, 10, 11 490 Hz, pins 5, 6 980 Hz

void setup() {
  pinMode(3, OUTPUT);  
  pinMode(6, OUTPUT);
}
void loop() {
  analogWrite(3, 63); 
  analogWrite(6, 195);
}

LEDin kademeli parlaklığının artması ve azalması

image

void setup() {
  pinMode(11, OUTPUT);  // sets the pin as output 
}
void loop() {
  for(int i=255;i>=0;i--){
    analogWrite(11, i);
    delay(20); 
  }
  delay(30);
  for(int i=0;i<256;i++){
    analogWrite(11, i);
    delay(20); 
  }
}

RGB LED PWM örnekleri

image

Arduino ile renk tonlarini sırayla görme

void setup() { 
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
}

void loop() {
  for(int i=0;i<256;i=i+20)
    for(int j=0;j<256;j=j+20)
    for(int k=0;k<256;k=k+20){ 
        analogWrite(9,i);
        analogWrite(10,j);
        analogWrite(11,k);
        delay(100);
  }
}

Arduino ile rastgele renk tonlarini görme

void setup() { 
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
}
void loop() {
	analogWrite(9,random(256));
	analogWrite(10,random(256));
	analogWrite(11,random(256));
	delay(1000);
}