Download presentation
Presentation is loading. Please wait.
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;
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.