Presentation is loading. Please wait.

Presentation is loading. Please wait.

Arduinoda Fonksiyon ve Interruplar

Similar presentations


Presentation on theme: "Arduinoda Fonksiyon ve Interruplar"— Presentation transcript:

1 Arduinoda Fonksiyon ve Interruplar

2 Arduino Fonksiyonlar Donüşparametresi fonksiyonadı ( giriş parametreleri ){ //fonksiyon içi return dönüşdeğeri; }

3 void printmessage () { Serial.println("I'm a function!"); } loop () printmessage ();

4 // basit fonksiyon ornegi
loop () { int z; z = addition (5,3); Serial.print(z); } int addition (int a, int b) int r; r=a+b; return (r);

5 // referans adresiyle parameter donduren fonksiyon ornegi
void duplicate (int& a, int& b, int& c) { a*=2; b*=2; c*=2; } loop () int x=1, y=3, z=7; duplicate (x, y, z); Serial.print(x); Serial.print(y); Serial.print(z);

6 // karisik parametreli fonksiyon ornegi
void prevnext (int x, int& prev, int& next) { prev = x-1; next = x+1; } loop () int x=100, y, z; prevnext (x, y, z); Serial.print(x); Serial.print(y); Serial.print(z);

7 // fonksiyon prototipi tanimlama
void odd (int a); void even (int a); loop () { int i; do { Serial.println("Type a number (0 to exit): "); i = Serial.parseInt(); odd (i); } while (i!=0); } void odd (int a) { if ((a%2)!=0) Serial.println ("Number is odd.\n"); else even (a); } void even (int a) if ((a%2)==0) Serial.println ("Number is even.\n"); else odd (a);

8 void blink_led(); void setup() { pinMode(led, OUTPUT); } void loop() { blink_led(); void blink_led() { digitalWrite(led, HIGH); delay(200); digitalWrite(led, LOW);

9 // fonksiyonlarda parameter olarak array(dizi) kullanimi
void printarray (int arg[], int length) { for (int n=0; n<length; n++) Serial.println (arg[n] ); Serial.println ("\n"); } loop () { int firstarray[] = {5, 10, 15}; int secondarray[] = {2, 4, 6, 8, 10}; printarray (firstarray,3); printarray (secondarray,5);

10 Arduino Interupt Pinleri

11 Arduino Interruptlar volatile byte half_revolutions; unsigned int rpm;
unsigned long timeold; void setup() { Serial.begin(115200); attachInterrupt(0, magnet_detect, RISING);//Initialize the intterrupt pin (Arduino digital pin 2) half_revolutions = 0; rpm = 0; timeold = 0; } void loop()//Measure RPM { if (half_revolutions >= 20) { rpm = 30*1000/(millis() - timeold)*half_revolutions; timeold = millis(); half_revolutions = 0; //Serial.println(rpm,DEC); } void magnet_detect()//This function is called whenever a magnet/interrupt is detected by the arduino half_revolutions++; Serial.println("detect");

12 // toggles LED when interrupt pin changes state int pin = 13; volatile int state = LOW; void setup() { pinMode(pin, OUTPUT); attachInterrupt(0, blink, CHANGE); } void loop() digitalWrite(pin, state); void blink() state = !state;


Download ppt "Arduinoda Fonksiyon ve Interruplar"

Similar presentations


Ads by Google