Professional Documents
Culture Documents
PROGRAMLAMA KİTABI
Bir parça kod!
Uğur DEMİR
Seri Port
13. Pin ledi Dijital Giriş/Çıkışlar
Rx/Tx ledi
USB Port
Güç ledi
Reset Butonu
Voltaj Regülatörü
Mikrokontroller
if / else
switch / case random
analogRead
digitalWrite
interrupt I2C / SPI
int
Kapak Fotoğrafı: Arduino Uno
Yazarla irtibat
xl2pfu@gmail.com
Ücretsiz PDF
http://www.ugrdmr.wordpress.com
ISBN: -
Uğur Demir
Teşekkür
1. Giriş ....................................................................................................... 1
1.1. Microkontroller nedir? ............................................................... 2
1.2. Arduino Özellikleri ...................................................................... 4
1.3. Arduino Yazılımının Yüklenmesi.................................................. 6
1.4. İlk Program ................................................................................. 9
2. Program Yapısı .................................................................................... 10
2.1. void setup()............................................................................... 10
2.2. void loop() ................................................................................ 10
2.3. #define...................................................................................... 12
2.4. #include .................................................................................... 12
3. Kontrol Yapısı ...................................................................................... 13
3.1. if................................................................................................ 13
3.2. if/else ........................................................................................ 15
3.3. switch/case ............................................................................... 16
3.4. while ......................................................................................... 18
3.5. do/while ................................................................................... 20
3.6. break......................................................................................... 21
3.7. continue.................................................................................... 22
3.8. return ....................................................................................... 22
3.9. go to ......................................................................................... 24
4. Söz Dizimi ..................................................................................... 24
4.1. Noktalı Virgül (;) ........................................................................ 24
4.2. Süslü Parantez ({})..................................................................... 25
4.3. Çift Slash(//).............................................................................. 26
4.4. Yıldızlı Slash(/**/) ..................................................................... 26
5. Aritmetik Operatörler ......................................................................... 26
5.1. Toplama, Çıkarma, Çarpma, Bölme .......................................... 26
6. Karşılaştırma Operatörleri .................................................................. 27
6.1. ==(eşit eşit) , != (eşit değil), < (küçük), > (büyük), <= (küçük eşit),
>= (büyük eşit) ......................................................................... 27
7. Boolean Operatörleri .......................................................................... 28
7.1. && (and) ................................................................................... 28
7.2. || (or) ....................................................................................... 30
7.3. ! (not) ........................................................................................ 30
8. Birleşik Operatörler ............................................................................ 31
8.1. ++ (arttırma), -- (azaltma) ........................................................ 31
8.2. += , -= , *= , /= , %= ................................................................... 31
8.3. &= (Bitsel Lojik Ve) ................................................................. 32
8.4. |= (Bitsel Lojik Veya) ................................................................ 33
9. Sabitler ................................................................................................ 34
9.1. HIGH | LOW .............................................................................. 34
9.2. INPUT | OUTPUT ...................................................................... 34
9.3. true | false ................................................................................ 35
9.4. integer constants ...................................................................... 36
9.5. U & L ........................................................................................ 37
9.6. floating point constants ............................................................ 37
10. Dönüşümler ........................................................................................ 37
10.1. char ........................................................................................... 37
10.2. byte........................................................................................... 37
10.3. int ............................................................................................. 37
10.4. unsigned int .............................................................................. 38
10.5. long .......................................................................................... 38
10.6. float .......................................................................................... 38
10.7. string......................................................................................... 38
10.8. substring() ............................................................................... 38
11. Değişken kapsamları ........................................................................... 40
11.1. static ........................................................................................ 40
11.2. volatile ..................................................................................... 40
11.3. const ........................................................................................ 40
11.4. PROGMEM ............................................................................... 40
11.5. sizeof() ..................................................................................... 42
12. Dijital Giriş Çıkışlar .............................................................................. 43
12.1. pinMode(pin,mod) .................................................................. 43
12.2. digitalWrite(pin,değer) ............................................................ 43
12.3. digitalRead(pin) ....................................................................... 43
13. Analog Giriş Çıkışlar ............................................................................ 45
13.1. analogRead(pin,mod) .............................................................. 45
13.2. analogWrite(pin,değer) ........................................................... 47
13.3. analogReference(tip) ............................................................... 48
14. Gecikmeler .......................................................................................... 49
14.1. delay(milisaniye) ...................................................................... 49
14.2. unsigned long millis() ............................................................... 49
14.3. delayMicroseconds(mikrosaniye) ............................................. 51
15. Matematiksel İşlevler ......................................................................... 51
15.1. min(x,y) .................................................................................... 51
15.2. max(x,y) ................................................................................... 52
15.3. abs(x) ....................................................................................... 52
15.4. constrain(x,a,b) ........................................................................ 52
15.5. map() ....................................................................................... 53
15.6. pow(a,b) .................................................................................. 53
15.7. sqrt(a,b) ................................................................................... 53
16. Trigonometri ...................................................................................... 54
16.1. sin(rad) ..................................................................................... 54
16.2. cos(rad) .................................................................................... 54
16.3. tan(rad) .................................................................................... 54
17. Karakterler ......................................................................................... 54
17.1. isAlphaNumeric() ..................................................................... 55
17.2. isAlpha() ................................................................................... 55
17.3. isAscii()...................................................................................... 55
17.4. isWhiteSpace() .......................................................................... 55
17.5. isControl() ................................................................................. 55
17.6. isDigit() ..................................................................................... 55
17.7. isGraph() ................................................................................... 55
17.8. isPrintable() .............................................................................. 55
17.9. isPunct() .................................................................................... 55
17.10. isSpace() ................................................................................. 55
17.11. isUpperCase() ......................................................................... 55
17.12. isHexaDecimalDigit() ............................................................... 55
18. Seri Haberleşme .................................................................................. 58
18.1. Serial.begin(hızı) ....................................................................... 58
18.2. int Serial.available() .................................................................. 59
18.3. int Serial.read()) ........................................................................ 59
18.4. Serial.flush() .............................................................................. 60
18.5. Serial.print(data)....................................................................... 62
18.6. Serial.println(data).................................................................... 62
19. İnterruptlar (Kesmeler) ....................................................................... 62
19.1. interrupts() .............................................................................. 62
19.2. noInterrupts() .......................................................................... 64
20. Random Sayılar ................................................................................... 67
20.1. randomSeed() .......................................................................... 67
20.2. random(min,max) .................................................................... 68
21. Gelişmiş Giriş Çıkışlar .......................................................................... 68
21.1. tone() ....................................................................................... 68
21.2. noTone() .................................................................................. 69
21.3. shiftOut() ................................................................................. 69
22. Kütüphaneler ...................................................................................... 72
22.1. EEPROM ................................................................................... 72
23. Haberleşme Protokolleri..................................................................... 77
23.1. I2C Veri Yolu ............................................................................ 77
23.2. SPI Veri Yolu ............................................................................. 81
24. Arduino Detaylı Pin Yapısı .................................................................. 85
25. ASCII Kodları........................................................................................ 86
Kodlar Listesi ....................................................................................... 88
Şekiller ve Tablolar Listesi .................................................................. 89
Uğur DEMİR - Bir parça kod!
1. Giriş
Hadi başlayalım.
1
Uğur DEMİR - Bir parça kod!
2
Uğur DEMİR - Bir parça kod!
1.Alma (Fetch)
3.Uygulama (Execution)
3
Uğur DEMİR - Bir parça kod!
Çalışma gerilimi 5V
Flash bellek 32 KB
Sram 2KB
EEPROM 1 KB
Uzunluk 68.6 mm
Genişlik 53.4 mm
Ağırlık 25 g
4
Uğur DEMİR - Bir parça kod!
5
Uğur DEMİR - Bir parça kod!
6
Uğur DEMİR - Bir parça kod!
7
Uğur DEMİR - Bir parça kod!
8
Uğur DEMİR - Bir parça kod!
Kod - 1 – Blink
9
Uğur DEMİR - Bir parça kod!
2. Program Yapısı
2.1. void setup()
Örnek
void setup () {
void loop () {
Kod - 2 - Setup
10
Uğur DEMİR - Bir parça kod!
Örnek
void loop(){
if (digitalRead(buttonPin) == HIGH)
else
Serial.write('Basıldı');
delay(1000);
Kod - 3 - Loop
11
Uğur DEMİR - Bir parça kod!
2.3. #define
#define ön işlemci komutu olup, bir isim yerine başka bir ismi
değişimini sağlar.
Örnek
2.4. #include
12
Uğur DEMİR - Bir parça kod!
3. Kontrol Yapısı
3.1. if
Örnek
void setup() {
Kod - 4 – if
13
Uğur DEMİR - Bir parça kod!
Not
Led yapısı
14
Uğur DEMİR - Bir parça kod!
3.2. if/else
Örnek
void setup() {
Kod - 5 – if/else
15
Uğur DEMİR - Bir parça kod!
3.3. switch/case
Örnek
Not
16
Uğur DEMİR - Bir parça kod!
void setup() {
void loop() {
switch (menzil) {
Serial.println("yüksek");
Kod - 6 – switch/case
17
Uğur DEMİR - Bir parça kod!
Not
3.4. while
while (ifade) {
// İfadeler
18
Uğur DEMİR - Bir parça kod!
Örnek
int ifade=0;
int led=0;
void setup() { }
Kod - 7 – while
19
Uğur DEMİR - Bir parça kod!
3.5. do/while
Örnek
void setup() {
int sayi = 0;
do { // 25 e kadar 5 er sayma
sayi = sayi+ 5;
Serial.print("sayi = ");
Serial.println(sayi);
void loop() {
20
Uğur DEMİR - Bir parça kod!
3.6. break
Örnek
analogWrite(PWMpin, x);
sens = analogRead(sensorPin);
x = 0;
break;
delay(50);
Kod – 9 – break
21
Uğur DEMİR - Bir parça kod!
3.7. continue
Örnek
22
Uğur DEMİR - Bir parça kod!
int sensorkontrol () {
return1 ;
else
return 0;
Kod – 11 – return1
2.kullanım yolu:
void loop ( ) {
//kodlar
Kod – 12 – return2
analogWrite(PWMpin, x);
delay(50);
} 23
Uğur DEMİR - Bir parça kod!
3.9. go to
void loop() {
int x = analogRead(0);
if (x < 200) {
goto burdandevam;
burdandevam:
delay(1000);
// istenilen kod
Kod – 13 – go to
4. Söz Dizimi
4.1. Noktalı Virgül (;)
24
Uğur DEMİR - Bir parça kod!
Örnek
void fonksiyonum()
//yapılacaklar }
while () {
//yapılacaklar }
do {
//yapılacaklar
for (x=0;x<=10;x++)
//yapılacaklar }
25
Uğur DEMİR - Bir parça kod!
5. Aritmetik Operatörler
5.1. Toplama, Çıkarma, Çarpma, Bölme
Örnek
int x,y,i,r;
y = x + 3;
x = x - 7;
i = j * 6;
r = r / 5;
26
Uğur DEMİR - Bir parça kod!
6. Karşılaştırma Operatörleri
6.1. ==(eşit eşit) , != (eşit değil), < (küçük), >
(büyük), <= (küçük eşittir), >= (büyük eşittir)
if (degisken> 50)
Örnek
x == y (x, y ye eşit)
Kod - 16– Eşit eşit, Eşit değil, Küçüktür, Büyüktür, Küçük eşittir, Büyük eşittir.
27
Uğur DEMİR - Bir parça kod!
7. Boolean Operatörleri
Boolean ifadeleri genellikle if yapısının içerisinde ve şart
gerektiren durumlarda kullanılır.
Örnek
28
Uğur DEMİR - Bir parça kod!
void setup() {
Kod – 17 – Mantıksal Ve
29
Uğur DEMİR - Bir parça kod!
Örnek
if (!buton1) {
30
Uğur DEMİR - Bir parça kod!
8. Birleşik Operatörler
8.1. ++ (arttırma), -- (azaltma)
++x veya x++ kullanımı: x=x+1 ile aynıdır yani maç sayıyı 1
arttırmaktır.
8.2. += , -= , *= , /= , %=
x += y; // x = x + y;
x -= y; // x = x - y;
x *= y; // x = x * y;
x /= y; // x = x / y;
x %= y; // x = x % y; //mod alma
31
Uğur DEMİR - Bir parça kod!
Örnek
x = 1; olsun
x += 4; // x=5 olur
x -= 3; // x=2 olur
x /= 2; // x=5 olur.
x %= 5; // x=0 olur
Kod – 19 – += , -= , *= , /= , %=
İşleme giren bitlerin ve sini verir. Yani eğer her iki işlenenin i’
inci bitleri 1 ise, sonucun i’ inci biti de 1 olur.
0 0 1 1 operand1
0 1 0 1 operand2
----------
32
Uğur DEMİR - Bir parça kod!
Örnek
İşleme giren bitlerin ve sini verir. Yani eğer her hangi işlenenin i’
inci bitlerinden birisi 1 ise, sonucun i inci biti de 1 olur.
0 0 1 1 operand1
0 1 0 1 operand2
----------
33
Uğur DEMİR - Bir parça kod!
9. Sabitler
9.1. HIGH | LOW
Örnek
int led=13;
int buton=5;
void setup(){
Kod – 21 – INPUT,OUTPUT
34
Uğur DEMİR - Bir parça kod!
Örnek
35
Uğur DEMİR - Bir parça kod!
36
Uğur DEMİR - Bir parça kod!
9.5. U&L
10. Dönüşümler
10.1. char
10.2. byte
(B10010 = 18 ondalık)
10.3. int
int led= 3;
37
Uğur DEMİR - Bir parça kod!
10.5. long
10.6. float
10.7. string
10.8 substring()
if (cumle.substring(3,9) == "parca") {
//
Kod – 23 – substring()
38
Uğur DEMİR - Bir parça kod!
39
Uğur DEMİR - Bir parça kod!
11.2. volatile
11.3. const
11.4. PROGMEM
40
Uğur DEMİR - Bir parça kod!
Örnek
#include <avr/pgmspace.h>
int k=0;
char myChar;
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.print(myChar); }
Serial.println(); }
void loop() {
41
Uğur DEMİR - Bir parça kod!
11.5. sizeof()
Örnek
int i;
void setup(){
Serial.begin(9600); }
void loop() {
Serial.print(i, DEC);
Serial.print(" = ");
Serial.write(mesaj[i]);
Serial.println();
delay(5000); }
42
Uğur DEMİR - Bir parça kod!
12.2. digitalWrite(pin,değer)
HIGH, LOW değer olarak, hangi pinin aktif yada pasif olacağını
tanımladığımız komuttur.
12.3. digitalRead(pin)
Örnek
43
Uğur DEMİR - Bir parça kod!
void setup() {
void loop() {
Serial.println(butondurumu);
delay(1);
Kod – 26 – digitalRead
44
Uğur DEMİR - Bir parça kod!
Örnek
45
Uğur DEMİR - Bir parça kod!
void setup() {
Serial.begin(9600);
void loop() {
Serial.println(volt);
Kod – 27 – analogRead
46
Uğur DEMİR - Bir parça kod!
Örnek
47
Uğur DEMİR - Bir parça kod!
int led = 3;
int analogPin = 3;
int okunan= 0;
void setup(){
pinMode(led, OUTPUT); }
void loop(){
Kod – 28 – analogWrite
13.3. analogReference(tip)
5V için;
3.3V için;
48
Uğur DEMİR - Bir parça kod!
14. Gecikmeler
14.1. delay(milisaniye)
49
Uğur DEMİR - Bir parça kod!
Örnek
void setup(){
Serial.begin(9600); }
void loop(){
zaman = millis();
Serial.println(zaman);
delay(1000); } }
Kod – 29 – millis
50
Uğur DEMİR - Bir parça kod!
14.3. delayMicroseconds(mikrosaniye)
Örnek
delayMicroseconds(50); // bekle
Kod – 30 – delayMicroseconds
51
Uğur DEMİR - Bir parça kod!
15.2. max(x,y)
enbuyuk=max(20,30);
15.3. abs(x)
int k= -20;
int m= 20;
deger=abs(k);
deger=abs(m);
15.4. constrain(x,a,b)
a: alt aralık
b: üst aralık
52
Uğur DEMİR - Bir parça kod!
15.5. map()
int sonuc=map(sensor,0,1023,0,255);
kullanırız.
15.6. pow(a,b)
Bir sayının karesini almak için kullanılır. A taban b ise üst dür.
sonuc= pow(3^2)
//sonuç 9 olacaktır.
15.7. sqrt(a,b)
sonuc= sqrt(25)
//sonuç 5 olacaktır.
53
Uğur DEMİR - Bir parça kod!
16. Trigonometri
Trigonometrik işlemleri yaptırabilmemiz için;
16.1. sin(rad)
16.2. cos(rad)
16.3. tan(rad)
17. Karakterler
17.1. isAlphaNumeric()
17.2. isAlpha()
54
Uğur DEMİR - Bir parça kod!
17.3. isAscii()
17.4. isWhiteSpace()
17.5. isControl()
17.6. isDigit()
17.7. isGraph()
17.8. isPrintable()
17.9. isPunct()
17.10. isSpace()
17.11. isUpperCase()
17.12. isHexaDecimalDigit()
55
Uğur DEMİR - Bir parça kod!
Örnek
void setup() {
Serial.begin(9600); //Seri haberleşme
while (!Serial) {
; // seri port haberleşmesinin beklenmesi
}
Serial.println("Bir bayt yazin ve analizini gorelim:");
Serial.println();}
void loop() {
if (Serial.available() > 0) {
int thisChar = Serial.read();
Serial.print("Gonderilen: \'");
Serial.write(thisChar);
Serial.print("\' ASCII Degeri: ");
Serial.println(thisChar);
if (isAlphaNumeric(thisChar)) {
Serial.println("Alphanumeric Degeri");
}
if (isAlpha(thisChar)) {
Serial.println("Bu Alfabetik!");
}
if (isAscii(thisChar)) {
Serial.println(" Bu ASCII karakter.");
}
if (isWhitespace(thisChar)) {
Serial.println(" Bu whitespace");
56
Uğur DEMİR - Bir parça kod!
}
if (isControl(thisChar)) {
Serial.println("Bu kontrol karakteri");
}
if (isDigit(thisChar)) {
Serial.println("Bu numeric digit");
}
if (isGraph(thisChar)) {
Serial.println("Bosluk degıl yazdırılabilr karakter");
}
if (isLowerCase(thisChar)) {
Serial.println("Daha kucuk harf");
}
if (isPrintable(thisChar)) {
Serial.println("Yazdirilabilir");
}
if (isPunct(thisChar)) {
Serial.println("Noktalama isareti");
}
if (isSpace(thisChar)) {
Serial.println("Bosluk karakteri");
}
if (isUpperCase(thisChar)) {
Serial.println("Ust durum ");
}
if (isHexadecimalDigit(thisChar)) {
Serial.println("Gecerli hexadecimaldigit var (i.e. 0 - 9, a - F,
or A - F)");
}
Serial.println();
Serial.println("Baska bir karakter girin:");
Serial.println();
}
}
57
Uğur DEMİR - Bir parça kod!
Örnek
Serial.begin(9600); Serial1.begin(9600);
58
Uğur DEMİR - Bir parça kod!
void setup(){
Serial.begin(9600);
Serial1.begin(38400);
Serial2.begin(19200);
Serial3.begin(4800);
Serial.println("Test");
Serial1.println("Serial 1");
Serial2.println("Serial 2");
Serial3.println("Serial 3");
void loop() {
Kod – 32 – Serial.begin
59
Uğur DEMİR - Bir parça kod!
Örnek
void setup() {
void loop() {
if (Serial.available() > 0) {
// bytları oku
incomingByte = Serial.read();
//ekrana yaz
Serial.println(gelenbyte, DEC); }
Kod – 33 – Serial.read
18.4. Serial.flush()
60
Uğur DEMİR - Bir parça kod!
Örnek
int x = 0; // variable
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("NO FORMAT"); // prints a label
Serial.print("\t"); // tab boşluk verir.
Serial.print("DEC"); //DEC cinsten yazar.
Serial.print("\t");
Serial.print("HEX"); //HEX cinsten yazar.
Serial.print("\t");
Serial.print("OCT"); //OCT cinsten yazar
Serial.print("\t");
Serial.print("BIN"); //BIN cinsten yazar.
Serial.print("\t");
Kod – 34 – Serial.print
61
Uğur DEMİR - Bir parça kod!
18.5. Serial.print(data)
18.6. Serial.println(data)
62
Uğur DEMİR - Bir parça kod!
Donanım İnterruptu:
Modlar:
Kullanımı:
19.2. noInterrupts()
Örnek
64
Uğur DEMİR - Bir parça kod!
void setup()
{ pinMode(pin, OUTPUT);
digitalWrite(2, HIGH);
void loop()
{ }
void kontrolet()
if(durum == LOW) {
durum = HIGH;
} else {
durum = LOW;
digitalWrite(pin, durum);
65
Uğur DEMİR - Bir parça kod!
Timer İnterruptu:
Örnek
#include <TimerOne.h>
void setup() {
pinMode(13, OUTPUT);
Timer1.initialize(100000); // 1 saniyede
tetiklenmesi
Timer1.attachInterrupt( kontrolet ); }
void loop() { }
void kontrolet()
66
Uğur DEMİR - Bir parça kod!
Örnek
long rasgelesayi;
void setup(){
Serial.begin(9600);
void loop(){
rasgelesayi = random(300);
Serial.println(rasgelesayi);
delay(1000);
67
Uğur DEMİR - Bir parça kod!
20.2. random(min,max)
Örnek
long rasgelesayi;
void loop(){
rasgelesayi = random(10,20);
Serial.println(rasgelesayi);
delay(1000);
68
Uğur DEMİR - Bir parça kod!
duty
1 Periyot
21.2. noTone()
noTone(pin);
21.3. shiftOut()
69
Uğur DEMİR - Bir parça kod!
Örnek
70
Uğur DEMİR - Bir parça kod!
byte led = 0;
int currentLED = 0;
void setup()
{ pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
led = 0; }
void loop() {
led = 0;
if (currentLED == 7) { currentLED = 0; }
else {
currentLED++; }
bitSet(led, currentLED);
digitalWrite(latchPin, LOW);
digitalWrite(latchPin, HIGH);
delay(250); }
Kod – 39 – shiftOut
71
Uğur DEMİR - Bir parça kod!
22. Kütüphaneler
22.1. EEPROM
Fonksiyonlar
EEPROM.read (adres)
72
Uğur DEMİR - Bir parça kod!
Örnek
void setup(){
Serial.begin(9600); //seri haberleşme hızımız
}
void loop() {
veri = EEPROM.read(hucre); //eeprom hücresini oku
veriye ata
Kod – 40 – EEPROM.read
73
Uğur DEMİR - Bir parça kod!
EEPROM.write ()
Örnek
#include <EEPROM.h>
void setup() {
EEPROM.write(i, i); }
void loop() { }
Kod – 41 – EEPROM.write
74
Uğur DEMİR - Bir parça kod!
EEPROM.update()
EEPROM.get ()
EEPROM.put ()
EEPROM[adres]
Örnek
75
Uğur DEMİR - Bir parça kod!
#include <EEPROM.h>
int randomsayi;
void setup() {
Serial.begin(9600);
randomSeed(analogRead(0)); } //referans
void loop() {
Serial.println();
for (int a=0; a<1024; a++) //1024 e kadar tek tek arttır.
Serial.print(a);
Serial.println(randomsayi);
delay(25); }
76
Uğur DEMİR - Bir parça kod!
Bord 𝐼 2 𝐶 pinleri
Uno, Ethernet A4 (SDA), A5 (SCL)
Mega2560 20 (SDA), 21 (SCL)
Leonardo 2 (SDA), 3 (SCL)
Due 20 (SDA), 21
(SCL), SDA1, SCL1
Tablo – 23.1 – I2C Haberleşme Pin Yapısı
Örnek
77
Uğur DEMİR - Bir parça kod!
A4-A4 e,
A5-A5 e,
GND-GND ye.
78
Uğur DEMİR - Bir parça kod!
Master kodu:
#include <Wire.h>
void setup() {
byte x = 0;
void loop() {
x++; // x i 1 arttır.
delay(500);
79
Uğur DEMİR - Bir parça kod!
Slave kodu:
#include <Wire.h>
void setup() {
void loop() {
delay(100); }
}
Kod – 36 – Kapsamlı EEPROM
80
Uğur DEMİR - Bir parça kod!
81
Uğur DEMİR - Bir parça kod!
Örnek
82
Uğur DEMİR - Bir parça kod!
Master kodu:
#include <SPI.h>
{ digitalWrite(SS, HIGH);
SPI.begin ();
SPI.setClockDivider(SPI_CLOCK_DIV8);
char c;
SPI.transfer (c);
digitalWrite(SS, HIGH);
delay (1000);
Slave kodu:
83
Uğur DEMİR - Bir parça kod!
#include <SPI.h>
Serial.begin (115200);
SPCR |= bit (SPE);
pinMode (MISO, OUTPUT);
pos = 0;
process_it = false;
SPI.attachInterrupt();
}
ISR (SPI_STC_vect)
{
byte c = SPDR;
// add to gelenfer if room
if (pos < sizeof gelen){
gelen [pos++] = c;
if (c == '\n')process_it = true; }
}
void loop (void)
{
if (process_it) {
gelen [pos] = 0;
Serial.println (gelen);
pos = 0;
process_it = false;
}
}
84
Uğur DEMİR - Bir parça kod!
85
Uğur DEMİR - Bir parça kod!
görülmektedir.
86
Uğur DEMİR - Bir parça kod!
87
Uğur DEMİR - Bir parça kod!
KODLAR LİSTESİ
Kod -1 – Blink
Kod - 2 – Setup
Kod - 3 – Loop
Kod - 4 – if
Kod - 5 – if/else
Kod - 6 – switch/case
Kod - 7 – while
Kod - 8 – do/ while
Kod - 9 – break
Kod - 10 – continue
Kod - 11 – return1
Kod - 12 – return2
Kod - 13 – go to
Kod - 14 – Süslü Parantez
Kod - 15 – Toplama, Çıkarma, Çarpma, Bölme
Kod - 16 – Eşit eşit, Eşit değil, Küçüktür, Büyüktür, Küçük eşittir, Büyük eşittir.
Kod - 17 – Mantıksal Ve
Kod - 18 – Mantıksal Değil
Kod - 19 – += , -= , *= , /= , %=
Kod - 20 – Bitsel Lojik Ve
Kod - 21 – INPUT,OUTPUT
Kod - 22 – true / false
Kod - 23 – substring
Kod - 24 – PROGMEM Kullanımı
Kod - 25 – sizeof
Kod - 26 – digitalRead
Kod - 27 – analogRead
Kod - 28 – analogWrite
Kod - 29 – millis
Kod - 30 – delayMicroseconds
Kod - 31 – Bir Karakterin Analizi
Kod - 32 – Serial.begin
Kod - 33 – Serial.read
Kod - 34 – Serial.print
Kod - 35 – Donanım Interrupt
Kod - 36 – Timer Interrupt
Kod - 37 – Random Sayı Üretme
Kod - 38 – Random Sayı Üretme2
Kod - 39 – shiftOut
Kod – 40 – EEPROM.read
Kod - 41– EEPROM.write
Kod - 42 – Kapsamlı EEPROM
Kod - 43 – I2C Master
Kod - 44 – I2C Slave
Kod - 45 – SPI Master
Kod - 46– SPI Slave
88
Uğur DEMİR - Bir parça kod!
89