Arduino Programlama Kitabi
Arduino Programlama Kitabi
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 rando
m
analogRead
digitalWrite
interrupt I2C / SPI
int
Kapak Fotoğrafı: Arduino Uno
Yazarla irtibat
xl2pfu@[Link]
Ücretsiz PDF
[Link]
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. [Link](hızı)........................................................................ 58
18.2. int [Link]()................................................................... 59
18.3. int [Link]()) ........................................................................ 59
18.4. [Link]() .............................................................................. 60
18.5. [Link](data) ....................................................................... 62
18.6. [Link](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!
[Link] (Fetch)
[Link] (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
[Link]('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) {
[Link]("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;
[Link]("sayi = ");
[Link](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
Kod – 10 – continue
3.8. return
Örnek
22
Uğur DEMİR - Bir parça kod!
int sensorkontrol () {
return1 ;
else
return 0;
Kod – 11 – return1
[Link]ım yolu:
void loop ( ) {
//kodlar
Kod – 12 – return2
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 ([Link](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() {
[Link](9600);
while (!Serial);
[Link](myChar); }
[Link](); }
void loop() {
41
Uğur DEMİR - Bir parça kod!
11.5. sizeof()
Örnek
int i;
void setup(){
[Link](9600); }
void loop() {
[Link](i, DEC);
[Link](" = ");
[Link](mesaj[i]);
[Link]();
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() {
[Link](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() {
[Link](9600);
void loop() {
[Link](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(){
[Link](9600); }
void loop(){
zaman = millis();
[Link](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() {
[Link](9600); //Seri haberleşme
while (!Serial) {
; // seri port haberleşmesinin beklenmesi
}
[Link]("Bir bayt yazin ve analizini gorelim:");
[Link]();}
void loop() {
if ([Link]() > 0) {
int thisChar = [Link]();
[Link]("Gonderilen: \'");
[Link](thisChar);
[Link]("\' ASCII Degeri: ");
[Link](thisChar);
if (isAlphaNumeric(thisChar)) {
[Link]("Alphanumeric Degeri");
}
if (isAlpha(thisChar)) {
[Link]("Bu Alfabetik!");
}
if (isAscii(thisChar)) {
[Link](" Bu ASCII karakter.");
}
if (isWhitespace(thisChar)) {
[Link](" Bu whitespace");
56
Uğur DEMİR - Bir parça kod!
}
if (isControl(thisChar)) {
[Link]("Bu kontrol karakteri");
}
if (isDigit(thisChar)) {
[Link]("Bu numeric digit");
}
if (isGraph(thisChar)) {
[Link]("Bosluk degıl yazdırılabilr karakter");
}
if (isLowerCase(thisChar)) {
[Link]("Daha kucuk harf");
}
if (isPrintable(thisChar)) {
[Link]("Yazdirilabilir");
}
if (isPunct(thisChar)) {
[Link]("Noktalama isareti");
}
if (isSpace(thisChar)) {
[Link]("Bosluk karakteri");
}
if (isUpperCase(thisChar)) {
[Link]("Ust durum ");
}
if (isHexadecimalDigit(thisChar)) {
[Link]("Gecerli hexadecimaldigit var (i.e. 0 - 9, a - F,
or A - F)");
}
[Link]();
[Link]("Baska bir karakter girin:");
[Link]();
}
}
57
Uğur DEMİR - Bir parça kod!
Örnek
[Link](9600); [Link](9600);
58
Uğur DEMİR - Bir parça kod!
void setup(){
[Link](9600);
[Link](38400);
[Link](19200);
[Link](4800);
[Link]("Test");
[Link]("Serial 1");
[Link]("Serial 2");
[Link]("Serial 3");
void loop() {
Kod – 32 – [Link]
59
Uğur DEMİR - Bir parça kod!
Örnek
void setup() {
void loop() {
if ([Link]() > 0) {
// bytları oku
incomingByte = [Link]();
//ekrana yaz
[Link](gelenbyte, DEC); }
Kod – 33 – [Link]
18.4. [Link]()
60
Uğur DEMİR - Bir parça kod!
Örnek
int x = 0; // variable
void setup() {
[Link](9600);
}
void loop() {
[Link]("NO FORMAT"); // prints a label
[Link]("\t"); // tab boşluk verir.
[Link]("DEC"); //DEC cinsten yazar.
[Link]("\t");
[Link]("HEX"); //HEX cinsten yazar.
[Link]("\t");
[Link]("OCT"); //OCT cinsten yazar
[Link]("\t");
[Link]("BIN"); //BIN cinsten yazar.
[Link]("\t");
Kod – 34 – [Link]
61
Uğur DEMİR - Bir parça kod!
18.5. [Link](data)
18.6. [Link](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);
[Link](100000); // 1 saniyede
tetiklenmesi
[Link]( kontrolet ); }
void loop() { }
void kontrolet()
66
Uğur DEMİR - Bir parça kod!
Örnek
long rasgelesayi;
void setup(){
[Link](9600);
void loop(){
rasgelesayi = random(300);
[Link](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);
[Link](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
EEPROM kütüphanesi Electronically Erasable
Programmable Read-Only Memory , elektroniksel olarak
silinebilir programlanabilir, ve sadece okunabilir bellek demektir.
Kalıcı hafıza olarak tabir edebiliriz. Arduino da elektrik gitse bile
bazı önemli bilgileri eepromda saklayabiliriz. Hafıza boyutu
olarak Arduino’ nun farklı modellerine göre farklı boyutlara
sahiptir.
Fonksiyonlar
[Link] (adres)
72
Uğur DEMİR - Bir parça kod!
Örnek
void setup(){
[Link](9600); //seri haberleşme hızımız
}
void loop() {
veri = [Link](hucre); //eeprom hücresini oku
veriye ata
Kod – 40 – [Link]
73
Uğur DEMİR - Bir parça kod!
[Link] ()
Örnek
#include <EEPROM.h>
void setup() {
[Link](i, i); }
void loop() { }
Kod – 41 – [Link]
74
Uğur DEMİR - Bir parça kod!
[Link]()
[Link] ()
[Link] ()
EEPROM[adres]
Örnek
75
Uğur DEMİR - Bir parça kod!
#include <EEPROM.h>
int randomsayi;
void setup() {
[Link](9600);
randomSeed(analogRead(0)); } //referans
void loop() {
[Link]();
for (int a=0; a<1024; a++) //1024 e kadar tek tek arttır.
[Link](a);
[Link](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);
[Link] ();
[Link](SPI_CLOCK_DIV8);
char c;
[Link] (c);
digitalWrite(SS, HIGH);
delay (1000);
Slave kodu:
83
Uğur DEMİR - Bir parça kod!
#include <SPI.h>
[Link] (115200);
SPCR |= bit (SPE);
pinMode (MISO, OUTPUT);
pos = 0;
process_it = false;
[Link]();
}
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;
[Link] (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 – [Link]
Kod - 33 – [Link]
Kod - 34 – [Link]
Kod - 35 – Donanım Interrupt
Kod - 36 – Timer Interrupt
Kod - 37 – Random Sayı Üretme
Kod - 38 – Random Sayı Üretme2
Kod - 39 – shiftOut
Kod – 40 – [Link] Kod
- 41– [Link] Ko
d - 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