Bu bir örnek görev. Kitin 8 görevinden biri — nasıl anlattığımızı görmen için açık.
İki kart selamlaşıyor
Havada ilk mesaj — biri konuşsun, öbürü duysun
Bir karttan diğerine bir sayı göndermek. Arada kablo olmayacak.

⚠Hattı kurmadan hiçbir modülü takma. Kartta tek 5V pini var; modülleri oraya sığdıramazsın. Breadboard'un o iki uzun sırası kendi içinde baştan sona bağlıdır — bir ucuna elektrik verirsen hattın tamamına gider.
⚠Modülün altındaki adaptör kartı beslemeyi kendi ayarlıyor, o yüzden 5V taşıyan + hattına bağlanabiliyor. Adaptörü çıkarma. Sinyal kablolarını kısa tut — SPI uzun kabloyu sevmiyor, uzun kabloda sistem "bazen çalışır" hale gelir ve bu teşhis edilebilecek en kötü arızadır.
Önce şunu bil
Şimdiye kadar bütün bilgiler kablodan geçti. Sensör bir uçtan sayıyı verdi, kart öbür uçtan aldı. Kablo varsa sinyal gider, yoksa gitmez.
Radyo öyle değil. Verici mesajı havaya bırakıyor. Kime gittiğini, gidip gitmediğini, hatta gerçekten çıkıp çıkmadığını bilmiyor.
Bu fark bütün kitin konusu. Şimdilik sadece şunu bil: kabloyla konuşmak bir insanın kulağına fısıldamak gibidir, radyoyla konuşmak kalabalık bir meydanda bağırmak gibi.
İki istasyon, iki breadboard
Bu kitte iki ayrı sistem kuracaksın. Karıştırmamak için baştan ayır:
| İstasyon | Kart | Üstünde ne olacak |
|---|---|---|
| VERİCİ | Bantladığın birinci kart | Kablosuz modül + sarsıntı sensörü |
| MERKEZ | Bantladığın ikinci kart | Kablosuz modül + ekran + buzzer |
Her birinin kendi breadboard'u var. İkisini masanın iki ucuna koy, birbirine karışmasınlar.
Besleme hattı — iki kez, her istasyonda bir
Her breadboard'da kendi besleme hattını kuracaksın. Kartın 5V pininden + hattına, GND pininden − hattına birer kablo. Ayrıntısı şemada.
Kablosuz modülün üstünde küçük bir adaptör kartı var. O kart modülün beslemesini kendi ayarlıyor, o yüzden
+hattına (5V) bağlayabiliyorsun. Adaptörsüz çıplak modüller 5V görünce yanar — kutundakinde adaptör var, sorun yok.
Kur — iki istasyona da aynı
Kablosuz modülün bağlantısı iki tarafta da birebir aynı. Bir kez öğren, iki kez uygula:
| Modül | Nereye |
|---|---|
| VCC | + hattı |
| GND | − hattı |
| CE | D9 — doğrudan karta |
| CSN | D10 — doğrudan karta |
| SCK | D13 — doğrudan karta |
| MOSI | D11 — doğrudan karta |
| MISO | D12 — doğrudan karta |
Kabloları kısa tut. Bu beş sinyal kablosu SPI denilen hızlı bir hatta çalışıyor ve uzun kabloyu sevmiyor. Yarım metrelik jumper kullanırsan sistem "bazen çalışır" hale gelir — teşhis edebileceğin en kötü arıza budur.
Verici kodu
Bunu VERİCİ kartına yükle:
#include <SPI.h>
#include <RF24.h>
RF24 radyo(9, 10); // CE, CSN
const byte ADRES[6] = "AFET1";
void setup() {
Serial.begin(9600);
radyo.begin();
radyo.openWritingPipe(ADRES); // bu adrese yaz
radyo.setPALevel(RF24_PA_LOW);
radyo.stopListening(); // ben konusacagim
Serial.println("Verici hazir.");
}
void loop() {
int sayi = 42;
bool gitti = radyo.write(&sayi, sizeof(sayi));
Serial.print("Yolladim: ");
Serial.print(sayi);
Serial.println(gitti ? " (ulasti)" : " (ULASMADI)");
delay(1000);
}
Merkez kodu
Bunu MERKEZ kartına yükle. Portu değiştirmeyi unutma:
#include <SPI.h>
#include <RF24.h>
RF24 radyo(9, 10); // CE, CSN
const byte ADRES[6] = "AFET1";
void setup() {
Serial.begin(9600);
radyo.begin();
radyo.openReadingPipe(0, ADRES); // bu adresi dinle
radyo.setPALevel(RF24_PA_LOW);
radyo.startListening(); // ben dinleyecegim
Serial.println("Merkez dinliyor.");
}
void loop() {
if (radyo.available()) {
int sayi;
radyo.read(&sayi, sizeof(sayi));
Serial.print("Geldi: ");
Serial.println(sayi);
}
}
Dört satırı tanı — bu kitin tamamı bunların üstünde duruyor:
ADRES — iki tarafta da aynı olmalı. Farklı yazarsan hiçbir şey gelmez.
stopListening() / startListening() — modül aynı anda hem konuşup hem dinleyemiyor. Hangi işi yapacağını baştan söylüyorsun.
radyo.write(...) — mesajı havaya bırakıyor. Geriye true ya da false dönüyor: karşı taraf aldığını onayladı mı?
radyo.available() — "gelen bir şey var mı?" Serial'deki Serial.available() ile aynı fikir.
Çalıştı mı?
İki Serial Monitor birden açman gerekiyor. Arduino IDE'de bunu yapmak için ikinci bir IDE penceresi aç (Dosya → Yeni), orada diğer portu seç.
VERİCİ: MERKEZ:
Yolladim: 42 (ulasti) Geldi: 42
Yolladim: 42 (ulasti) Geldi: 42
Kabloları ayır ve tekrar bak. İki breadboard'un arasında hiçbir bağlantı yok. Sayı havadan gidiyor.
Olmadıysa
Bu görevde takılırsan neredeyse her zaman aynı üç sebepten biridir:
| Ne görüyorsun | Ne yap |
|---|---|
Verici hep ULASMADI diyor |
Merkez kartı açık mı, kodu yüklü mü? Dinleyen yoksa onay gelmez |
| Merkez hiçbir şey yazmıyor | İki koddaki ADRES birebir aynı mı? Harf farkı bile yeter |
| Bazen çalışıyor bazen çalışmıyor | Sinyal kabloları uzun. Kısa jumper kullan, modülü karta yaklaştır |
| Hiçbiri çalışmıyor, ikisi de sessiz | CE ve CSN karışmış olabilir — CE D9, CSN D10 |
Derleme hatası: RF24.h not found |
Görev 0'daki kütüphaneyi yüklemeyi atlamışsın |
| Serial'da anlamsız karakterler | Serial Monitor hızı 9600 mü? |
Kendini test et
Soru: Verici write() fonksiyonundan true aldı. Bu, mesajın merkeze ulaştığını kanıtlar mı?
Cevabı gör
Evet — ama sandığından daha az şey kanıtlar.
true demek, karşı modülün "aldım" onayını geri yolladığı anlamına geliyor. Yani mesaj havayı geçti ve karşı modüle ulaştı.
Ama karşı kartın onunla ne yaptığını bilmiyorsun. Kod çökmüş olabilir, ekran bozuk olabilir, mesajı yanlış yorumlamış olabilir. Radyo modülü "aldım" dedi, sistem "anladım" demedi.
Bu ayrım gerçek sistemlerde çok önemli: teslim edilmek ile anlaşılmak aynı şey değil. Bir mesajın gönderildiğini bilmek, işin yapıldığını bilmek değildir.
Kargo firmasının "teslim edildi" demesi, paketin doğru kişiye gittiğini garanti etmez. Aynı problem.
Buradan sonrası kutunun içinde. Kalan görevler parçalarla birlikte geliyor; kutudaki QR'ı okutunca sırayla açılıyor.
WhatsApp'tan sipariş verKit sayfasına dön