Rehberler · 12 dk okuma

Arduino Yandı mı? Belirtiler, Teşhis Adımları ve Kurtarma Yolları

Arduino yandı mı? ON LED yanmıyor, çip ısınıyor, port görünmüyor: Vin, polyfuse, regülatör, USB çipi ve pin testi, bootloader yükleme ve 328P değişimi.

"Arduino yandı mı?" sorusu, neredeyse her elektronik meraklısının bir gün sorduğu bir sorudur: bir kablo yanlış yere değer, bir motor bağlanır, kart birden sessizleşir. İyi haber şu ki bu durumların çoğunda kartın tamamı yanmamıştır. Arduino Uno birkaç ayrı bölümden oluşur: USB bağlantısı ve sigortası, voltaj regülatörü, USB–seri dönüştürücü çip ve asıl mikrodenetleyici olan ATmega328P. Bunlardan biri bozulduğunda diğerleri çoğu zaman sağlam kalır ve doğru teşhisle kartı kurtarmak, bazen yalnızca 2 dakikalık bir iş olur.

Bu rehberde belirtileri doğru yorumlamayı, kartı adım adım izole edip arızanın hangi bölümde olduğunu bulmayı öğreneceksin. Vin girişinden besleme testi, multimetreyle polyfuse ve regülatör kontrolü, ısınan çipi bulma, USB çipini loopback testiyle sınama ve pinleri tek tek test eden iki Arduino kodu adımlarını sırayla uygulayacağız. Ardından bozulan bootloader'ı ikinci bir Arduino ile yeniden yükleyecek, gerekirse ATmega328P'yi değiştirecek ve kartı bir daha yakmamak için uyman gereken kuralları toparlayacağız. Kod yükleme hatalarının yazılım tarafını ise Arduino kod yüklenmiyor yazısında ayrıca ele aldık.

Arduino Uno kartı
Arduino Uno: USB girişi, DC jak, 5 V regülatör, USB–seri çip ve soketteki ATmega328P. Arıza çoğu zaman bu bölümlerden yalnızca birindedir.

Arduino yandı mı? İlk belirtiler ve anlamları

Teşhise başlamadan önce kartın sana ne söylediğini dinle. Yeşil ON LED'i 5 V hattında enerji olup olmadığını, L LED'i (D13) mikrodenetleyicinin ve bootloader'ın çalışıp çalışmadığını, TX/RX LED'leri ise USB–seri çipin veri aktarıp aktarmadığını gösterir. Aşağıdaki tablo en sık görülen belirtileri ve ilk bakman gereken yeri özetliyor.

BelirtiOlası arızaİlk adım
ON LED hiç yanmıyor5 V hattında kısa devre, atmış polyfuse, bozuk regülatör ya da kabloHer şeyi sök, başka kabloyla ve Vin'den dene
ON LED yanıyor, ama kart çok ısınıyorBir çip içeriden kısa devre olmuşHemen fişi çek, ısınan çipi bul
Bilgisayar kartı görmüyorKablo yalnız şarj kablosu, sürücü eksik ya da USB çipi bozukBaşka kablo dene, sonra loopback testi yap
Port görünüyor, ama kod yüklenmiyorBootloader bozuk, D0/D1'e bağlı modül ya da ATmega328P hasarlıReset'te L LED'inin yanıp sönüp sönmediğine bak
Kod çalışıyor, ama bir pin tepki vermiyorO pin aşırı akım ya da gerilimle yanmışPin test kodlarını çalıştır
Kart rastgele resetleniyorYetersiz besleme, motor gürültüsü ya da ısınan regülatörYükleri ayrı kaynaktan besle
Teşhise başlamadan önce karta bağlı her şeyi sök: shield'ler, jumper kablolar, sensörler, motorlar ve breadboard bağlantıları. Kartı yalnızca USB kablosuyla, metal olmayan bir yüzeyde test et. Bir sorunun sebebi çoğu zaman kartın kendisi değil, ona bağlı kısa devre yapmış bir modül ya da karttan fazla akım çeken bir yüktür; çıplak kart çalışıyorsa sorun dışarıdadır.

Adım 1: Gözle, burunla ve kabloyla ilk kontrol

  1. Kartı iyi bir ışık altında incele: kararmış ya da kabarmış bir çip, çatlamış bir kılıf, erimiş bir lehim ya da kömürleşmiş bir iz arıyorsun. Özellikle regülatörün, polyfuse'un ve USB çipinin çevresine bak.
  2. Kartı kokla. Yanık elektronik keskin ve tanıdık bir koku bırakır; koku genellikle arızalı parçanın çevresinde yoğundur.
  3. Kartın altını kontrol et. Metal bir masa, bir tel parçası ya da iletken bir köpük karttaki lehim noktalarını birbirine bağlayıp kısa devre yapabilir.
  4. Başka bir USB kablosu ve başka bir USB portu dene. Ucuz kabloların bir kısmında yalnızca güç telleri vardır ve veri aktaramaz; bu, bozuk kart gibi görünen en yaygın sebeptir.
  5. Kartı taktığında bilgisayarın USB bağlantı sesini çıkarıp çıkarmadığını ve ON LED'inin yanıp yanmadığını not et; sonraki adımlar bu iki gözleme göre ilerler.

Arduino Uno'nun güç yolu: hangi parça neyi besler?

Arızayı bulmanın en hızlı yolu, akımın karttaki yolunu bilmektir. USB'den gelen 5 V önce 500 mA'lik bir polyfuse'tan (kendiliğinden sıfırlanan sigorta), sonra küçük bir P kanallı MOSFET'ten geçerek 5 V hattına ulaşır. DC jaktan gelen gerilim ise önce ters bağlamaya karşı koruyan bir diyottan geçer, VIN hattına ulaşır ve NCP1117 regülatörüyle 5 V'a düşürülür. VIN yaklaşık 6,6 V'un üzerine çıktığında bir karşılaştırıcı USB tarafındaki MOSFET'i kapatır, yani iki kaynak birbirine karışmaz. 3,3 V ise 5 V hattından küçük bir LP2985 regülatörüyle üretilir. ON LED'i, USB–seri çip (orijinal kartlarda ATmega16U2, klonlarda çoğunlukla CH340) ve ATmega328P bu 5 V hattından beslenir.

ParçaGöreviBozulunca ne olur?
Polyfuse (500 mA)USB'yi aşırı akıma karşı korurUSB ile ON LED yanmaz, Vin ile yanar
Ters bağlama diyotuDC jakı ters kutuplamaya karşı korurDC jakla ON LED yanmaz, USB ile yanar
NCP1117 5 V regülatörVIN'i 5 V'a düşürürDC jakla 5 V çıkmaz ya da 5 V hattına yüksek gerilim gelir
LP2985 3,3 V regülatör3V3 pinini besler (en fazla 50 mA)3V3 pininde gerilim yoktur
ATmega16U2 ya da CH340USB–seri dönüştürücüBilgisayar portu görmez ya da veri aktarılmaz
ATmega328PKodunu çalıştıran mikrodenetleyiciKod yüklenmez, L LED'i reset'te yanıp sönmez, pinler çalışmaz
SOT-223 kılıflı 1117 regülatör modülü
1117 ailesinden bir regülatör (bu modülde AMS1117 3,3 V). Uno'daki NCP1117 5 V regülatör de aynı SOT-223 kılıfındadır ve aşırı ısınan ilk parçalardandır.

Adım 2: ON LED'i yanmıyorsa USB ve Vin ile besleme testi

Kartı bir kez USB ile, bir kez de DC jaktan 9 V'luk bir adaptörle (ya da Vin pininden 7–12 V ile) besle ve her seferinde ON LED'ine bak. İki yolun ortak noktası 5 V hattı olduğu için bu basit karşılaştırma arızayı büyük ölçüde yerelleştirir. Polyfuse aşırı akımla açıldıysa kendiliğinden toparlanması için kartı birkaç dakika enerjisiz bırak; kısa devre sürüyorsa yeniden takınca tekrar açılır. Pil ve adaptör seçeneklerini Arduino pil ile çalıştırma yazısında ayrıntılı anlattık.

USB ile ON LEDDC jak / Vin ile ON LEDYorum
YanmıyorYanıyorUSB tarafı: kablo, USB soketi, polyfuse ya da USB MOSFET'i
YanıyorYanmıyorJak tarafı: adaptör, ters bağlama diyotu ya da NCP1117 regülatör
YanmıyorYanmıyor5 V hattında kısa devre (bir çip ısınıyor) ya da iki yol birden hasarlı
YanıyorYanıyorGüç tarafı sağlam; sorun USB çipi, bootloader ya da ATmega328P'de

Adım 3: Multimetreyle kısa devre, polyfuse ve regülatör kontrolü

  1. Kısa devre testi (kart enerjisizken): Multimetreyi direnç ya da süreklilik kademesine al, probları 5V ve GND pinlerine değdir. Değerin önce düşük başlayıp kondansatörler doldukça yükselmesi normaldir; sürekli bip sesi ya da birkaç ohm'un altında sabit kalan bir değer kısa devre demektir.
  2. Polyfuse testi (USB takılıyken): DC gerilim kademesinde siyah probu GND'ye koy ve polyfuse'un iki ucunu sırayla ölç. İki uçta da yaklaşık 5 V görmelisin; bir uçta 5 V, diğerinde sıfıra yakın değer polyfuse'un açık olduğunu gösterir.
  3. Regülatör testi (DC jakta 9 V varken): NCP1117'nin giriş bacağında yaklaşık 8,3 V (diyotta 0,7 V düşer), çıkışında 5,0 V ölçmelisin.
  4. 3,3 V testi: 3V3 pini ile GND arasında 3,2–3,4 V ölçmelisin.
  5. Ölçümleri bu sırayla yap; her adım bir sonrakinin anlamını değiştirir. Multimetrenin kademelerini ve güvenli ölçümü multimetre nasıl kullanılır yazısında ayrıntılı anlattık.
Regülatörün çıkışında 5 V yerine girişe yakın bir değer (örneğin 8 V) ölçüyorsan regülatör içeriden kısa devre olmuş ve gelen gerilimi doğrudan 5 V hattına aktarıyor demektir. Bu durumda karta enerji vermeyi hemen bırak: 5 V hattındaki ATmega328P, USB çipi ve karta bağlı her modül 5,5 V'un üzerinde zarar görür. Regülatör değiştirildikten sonra bile bu parçaları tek tek test etmen gerekir.

Adım 4: Isınan çipi bulmak

5 V hattında kısa devre varsa, kısa devre yapan parça akımın büyük kısmını çeker ve birkaç saniye içinde ısınır. Kartı USB'ye tak, 3–5 saniye bekle, fişi çek ve parmağının ucunu sırayla ATmega328P'nin, USB çipinin ve regülatörün üzerine kısa süre dokundur. Dokunulamayacak kadar sıcak bir parça bulursan kısa devre ondadır. ATmega328P ısınıyorsa genellikle bir pinine 5 V'un üzerinde bir gerilim gelmiştir; USB çipi ısınıyorsa USB tarafında bir sorun vardır; regülatör ısınıyorsa ya kendisi bozuktur ya da 5 V hattındaki bir yük aşırı akım çekiyordur. Bu testi kart uzun süre enerjili kalmadan yap, aksi hâlde sağlam parçalar da zarar görebilir.

Adım 5: Port görünmüyorsa USB çipini test etmek

ON LED'i yanıyor ama bilgisayar kartı görmüyorsa önce yazılım tarafını ele: klonlardaki CH340 çipi için sürücüyü kur, Windows'ta Aygıt Yöneticisi'nde "Bağlantı noktaları (COM ve LPT)" altına, macOS ve Linux'ta /dev/cu.* ya da /dev/ttyUSB* aygıtlarına bak. Aygıt hiç görünmüyorsa ya da tanınmayan bir aygıt olarak çıkıyorsa USB–seri çipin kendisini test etme zamanı gelmiştir. Loopback testi ATmega328P'yi devre dışı bırakır ve USB çipinin gönderdiği veriyi doğrudan geri almasını sağlar; böylece sorunun USB çipinde mi yoksa mikrodenetleyicide mi olduğunu ayırırsın.

  1. Kartın enerjisini kes ve RESET pinini bir jumper kabloyla GND'ye bağla. Bu, ATmega328P'yi sürekli resette tutar ve TX/RX hatlarını serbest bırakır.
  2. D0 (RX) ve D1 (TX) pinlerini ikinci bir jumper kabloyla birbirine bağla.
  3. Kartı USB'ye tak, Arduino IDE'de portu seç ve Seri Monitör'ü aç (baud hızı fark etmez).
  4. Bir şey yazıp Gönder'e bas. Yazdığın metin aynen geri geliyor ve TX/RX LED'leri yanıp sönüyorsa USB çipi sağlamdır; sorun ATmega328P'de ya da bootloader'dadır.
  5. Metin geri gelmiyorsa ve port da görünmüyorsa USB çipi ya da USB soketi hasarlıdır. Bu durumda karta kod yüklemek için harici bir USB–TTL dönüştürücü ya da ISP programlayıcı kullanabilirsin.
Bootloader'ın yaşayıp yaşamadığını anlamanın en hızlı yolu reset tuşuna basmaktır. Uno'daki Optiboot bootloader, her resetten sonra L LED'ini (D13) birkaç kez hızlıca yakıp söndürür. Bu kısa yanıp sönmeyi görüyorsan ATmega328P çalışıyor ve bootloader yerinde demektir; sorun büyük ihtimalle kablo, sürücü, port seçimi ya da D0/D1'e bağlı bir modüldür.

Adım 6: Pin yanması testi

Kart kod yüklüyor ama projen garip davranıyorsa, tek bir pin yanmış olabilir. Bir pine motor, röle bobini ya da LED'i dirençsiz bağlamak, iki çıkışı birbirine kısa devre yapmak ya da bir pine 5 V'un üzerinde gerilim vermek, ATmega328P'nin geri kalanı çalışırken yalnızca o pini öldürebilir. Aşağıdaki ilk kod her pini dahili pull-up ile giriş yapar: sağlam bir pin boştayken HIGH okumalıdır. Sonra bir jumper kablonun ucunu GND'ye bağlayıp diğer ucuyla pinlere sırayla dokunursun; her dokunuşta Seri Monitör'de o pinin LOW'a düştüğünü görmelisin.

C++ (Arduino IDE)
1// Arduino Uno giriş testi / input test (D0 ve D1 seri port için hariç / D0 and D1 skipped for serial)
2const byte PINS[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, A0, A1, A2, A3, A4, A5};
3const byte COUNT = sizeof(PINS);
4bool lastState[COUNT];
5
6void printPin(byte p) {
7  if (p >= A0) {
8    Serial.print('A');
9    Serial.print(p - A0);
10  } else {
11    Serial.print('D');
12    Serial.print(p);
13  }
14}
15
16void setup() {
17  Serial.begin(9600);
18  for (byte i = 0; i < COUNT; i++) pinMode(PINS[i], INPUT_PULLUP);   // dahili pull-up açık / internal pull-up on
19  delay(10);
20  Serial.println(F("1) Bos pin testi / free pin test:"));
21  for (byte i = 0; i < COUNT; i++) {
22    lastState[i] = digitalRead(PINS[i]);
23    printPin(PINS[i]);
24    Serial.println(lastState[i] ? F("  HIGH  tamam / ok") : F("  LOW   SUPHELI / suspect"));
25  }
26  Serial.println(F("2) GND'ye bagli kabloyla pinlere sirayla dokun / touch each pin with a GND wire"));
27}
28
29void loop() {
30  for (byte i = 0; i < COUNT; i++) {
31    bool v = digitalRead(PINS[i]);
32    if (v != lastState[i]) {                 // durum değişti / state changed
33      lastState[i] = v;
34      printPin(PINS[i]);
35      Serial.println(v ? F("  birakildi / released") : F("  GND algilandi / GND detected"));
36    }
37  }
38  delay(20);
39}

Boştayken LOW okuyan ya da GND'ye dokunduğunda hiç değişmeyen bir pin şüphelidir; giriş katı içeriden kısa devre olmuş ya da kopmuştur. Bazı klon kartlarda D13'teki L LED'i doğrudan pine bağlı olduğu için D13 boştayken LOW okuyabilir; bu bir arıza değildir. İkinci kod pinlerin çıkış katını test eder: bütün pinler saniyede bir HIGH ve LOW olur. Bir LED'in katodunu GND'ye, anodunu 220 Ω'luk bir direncin ucuna bağlayıp direncin diğer ucuyla pinlere sırayla dokunursan sağlam her pinde LED'in yanıp söndüğünü görürsün; doğru direnç değerini LED direnci hesaplayıcı ile bulabilirsin. Multimetreyle ölçersen HIGH durumunda yaklaşık 5 V görmelisin; hiç yanmayan, sönük yanan ya da 4 V'un çok altında kalan pin hasarlıdır.

C++ (Arduino IDE)
1// Arduino Uno çıkış testi / output test: bütün pinler 1 sn HIGH, 1 sn LOW / all pins 1 s HIGH, 1 s LOW
2const byte PINS[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, A0, A1, A2, A3, A4, A5};
3const byte COUNT = sizeof(PINS);
4
5void setAll(bool level) {
6  for (byte i = 0; i < COUNT; i++) digitalWrite(PINS[i], level);
7}
8
9void setup() {
10  Serial.begin(9600);
11  for (byte i = 0; i < COUNT; i++) pinMode(PINS[i], OUTPUT);
12  Serial.println(F("LED + 220 ohm probuyla pinlere dokun / touch the pins with an LED + 220 ohm probe"));
13}
14
15void loop() {
16  setAll(HIGH);
17  Serial.println(F("HIGH (~5 V)"));
18  delay(1000);
19  setAll(LOW);
20  Serial.println(F("LOW (0 V)"));
21  delay(1000);
22}

Bu kodu çalıştırırken pinlere başka hiçbir şey bağlı olmamalıdır, çünkü bütün pinler çıkış olarak sürülür. Analog girişleri ayrıca test etmek istersen A0'ı sırayla GND'ye, 3V3'e ve 5V'a bağlayıp analogRead() ile oku: yaklaşık 0, 675 ve 1023 değerlerini görmelisin. Pinlerin tam listesini ve hangi pinin hangi özelliği taşıdığını Arduino Uno pinleri yazısında, kart görsellerini ise pin haritası aracında bulabilirsin.

Bootloader'ı yeniden yüklemek: Arduino as ISP

Güç tarafı sağlam, loopback testi başarılı, ama reset'te L LED'i yanıp sönmüyor ve her yüklemede "avrdude: stk500_getsync(): not in sync" hatası alıyorsan bootloader silinmiş ya da bozulmuş olabilir. Bootloader, USB üzerinden kod yüklemeyi mümkün kılan küçük programdır ve ISP (devre içi programlama) ile yeniden yazılabilir. Bunun için ayrı bir programlayıcı satın alman gerekmez; sağlam ikinci bir Arduino Uno, ArduinoISP örnek koduyla programlayıcıya dönüşür. ISP bağlantısı SPI pinlerini kullanır; hedef kartın üzerindeki 6 pinli ICSP başlığını da kullanabilirsin.

Programlayıcı Uno (ArduinoISP)Hedef UnoICSP başlığında
D13D13 (SCK)Pin 3
D12D12 (MISO)Pin 1
D11D11 (MOSI)Pin 4
D10RESETPin 5
5V5VPin 2
GNDGNDPin 6
RESET ile GND arası 10 µF (artı ucu RESET'e)-Programlayıcıyı otomatik resetten korur
  1. Sağlam Uno'yu bilgisayara bağla, Dosya > Örnekler > 11.ArduinoISP > ArduinoISP kodunu aç ve bu karta yükle.
  2. Bilgisayarla bağlantıyı kes, iki kartı yukarıdaki tabloya göre bağla ve programlayıcı Uno'nun RESET ile GND pinleri arasına 10 µF'lık kondansatörü tak.
  3. Programlayıcıyı yeniden USB'ye tak. Araçlar menüsünde kart olarak Arduino Uno'yu, port olarak programlayıcının portunu seç.
  4. Araçlar > Programlayıcı menüsünden Arduino as ISP seçeneğini seç. Benzer adlı "ArduinoISP" seçeneği ayrı bir USB programlayıcı içindir; onu seçme.
  5. Araçlar > Önyükleyiciyi Yazdır (Burn Bootloader) komutunu çalıştır. İşlem birkaç saniye sürer ve "Done burning bootloader" mesajıyla biter.
  6. Kabloları sök, hedef kartı kendi USB'sinden bağla ve Blink örneğini yükle. Reset'te L LED'i yeniden hızlıca yanıp sönüyorsa kart kurtarılmıştır.

İşlem başarısız olursa avrdude'un verdiği imza (signature) mesajı çok şey anlatır. "Device signature = 0x000000" ya da "0xffffff", programlayıcının hedef çiple hiç konuşamadığını gösterir: bağlantıları, 10 µF kondansatörü ve hedefin 5 V aldığını kontrol et; her şey doğruysa ATmega328P büyük ihtimalle ölmüştür. İmza 1E 95 0F ise çip ATmega328P'dir ve hattın sağlam olduğu anlaşılır. 1E 95 14 görüyorsan elindeki çip "P" harfi olmayan ATmega328'dir; bu çip için doğru kart tanımını kullanman gerekir.

ATmega328P değiştirme

Orijinal Arduino Uno R3 ve birçok klonunda ATmega328P, 28 bacaklı DIP kılıfta ve bir soketin içindedir; yani lehim yapmadan değiştirilebilir. Mikrodenetleyici ısınıyorsa, imzası okunamıyorsa ya da pinlerinin çoğu ölmüşse en ekonomik çözüm budur. Çipi çıkarınca kısa devre de kayboluyorsa (ON LED'i yeniden yanıyor ve kart ısınmıyorsa) arızanın çipte olduğu kesinleşir. Yeni çip alırken Uno bootloader'ı önceden yüklenmiş bir ATmega328P-PU seçmek işini kolaylaştırır; boş bir çip aldıysan yukarıdaki Arduino as ISP yöntemiyle bootloader'ı kendin yükleyebilirsin. Nano ve SMD Uno gibi kartlarda çip karta lehimlidir; bu kartlarda çipi değiştirmek sıcak hava istasyonu ve deneyim ister.

  1. Kartın enerjisini kes ve çipteki çentiğin (1 numaralı bacak tarafı) hangi yöne baktığını fotoğrafla.
  2. Düz uçlu küçük bir tornavidayı çip ile soketin arasına sok ve çipi iki uçtan dönüşümlü olarak azar azar kaldır; tek taraftan zorlarsan bacaklar bükülür.
  3. Yeni çipin bacakları genellikle hafifçe dışa açıktır. Çipi yan yatırıp düz bir masaya bastırarak iki sıra bacağı birlikte biraz içe doğru eğ.
  4. Çipi çentik eski çiple aynı yöne bakacak şekilde sokete hizala ve bütün bacakların deliklere girdiğinden emin olduktan sonra eşit kuvvetle bastır.
  5. Kartı USB'ye tak, reset'te L LED'inin yanıp söndüğünü gör ve Blink örneğini yükleyerek testi tamamla.

ESP32 ve Raspberry Pi Pico için kısa notlar

Aynı mantık diğer kartlarda da işler, yalnızca parçalar değişir. ESP32 geliştirme kartlarında 5 V'u 3,3 V'a düşüren AMS1117 benzeri bir regülatör ve CP2102 ya da CH340 USB çipi bulunur; regülatör ısınıyorsa 3,3 V hattında kısa devre aranır. ESP32'nin pinleri 5 V'a dayanıklı değildir, bu yüzden en sık arıza bir pine 5 V verilmesidir. Yükleme sırasında "Failed to connect" hatası çoğu zaman bozukluk değil, BOOT tuşunun basılı tutulması gereken bir durumdur; ayrıntıları Arduino kod yüklenmiyor yazısında bulabilirsin. Raspberry Pi Pico'da ise en hızlı test, BOOTSEL tuşuna basılı tutarak USB'ye takmaktır: bilgisayarda RPI-RP2 adlı bir sürücü beliriyorsa RP2040 ve USB bağlantısı sağlamdır. Pico'nun pinleri de 5 V'a dayanıklı değildir ve 3V3(OUT) pininde yaklaşık 3,3 V ölçmelisin.

Arduino'yu yakmamak için 10 kural

  • Pin başına 20 mA: Bir pinden en fazla 20 mA çek; mutlak sınır 40 mA'dir ve bütün pinlerin toplamı 200 mA'i geçmemelidir.
  • LED'e her zaman direnç: LED'i dirençsiz bağlamak pini ve LED'i zorlar; 5 V'ta 220–330 Ω yeterlidir.
  • Pinlere 5 V'tan fazlasını verme: Bir giriş pinindeki gerilim besleme geriliminin 0,5 V üzerine çıkmamalıdır; 12 V'luk bir sinyal pini anında öldürür.
  • Motor, röle ve pompa doğrudan pine bağlanmaz: Bir transistör ya da MOSFET ve flyback diyot kullan; örnek devreyi mini su pompası yazısında bulabilirsin.
  • Vin'e 7–12 V: Önerilen aralık budur; 12 V'un üzeri regülatörü ısıtır, 20 V'un üzeri sınırı aşar.
  • Vin pinine ters besleme verme: DC jaktaki koruma diyotu Vin pininden verilen beslemeyi korumaz; artı ve eksiyi karıştırmak kartı yakar.
  • 3V3 pininden 50 mA'den fazlasını çekme: Wi-Fi modülü ya da büyük bir ekran gibi yükler için ayrı bir 3,3 V regülatör kullan.
  • Kablo değiştirirken enerjiyi kes: Enerjili devrede kablo takıp çıkarmak, kısa süreli kısa devrelerin en yaygın sebebidir.
  • Kartı metal yüzeye koyma: Kartın altındaki lehim noktaları metal bir masaya, alete ya da tel parçasına değince kısa devre olur; plastik ayak ya da muhafaza kullan.
  • Ortak GND ve ayrı güç: Harici kaynakla beslenen yüklerde GND'leri birleştir ama büyük akımları kartın üzerinden geçirme.
Deneme yaparken karta ucuz bir sigorta katmanı ekle: USB ile bilgisayar arasına akım göstergeli bir USB ölçer ya da akım sınırlı bir laboratuvar güç kaynağı kullan. Akımı 300–500 mA ile sınırlarsan bir kısa devre olduğunda kaynak gerilimi düşürür ve kart yanmadan önce sorunu fark edersin. Bir sonraki projene geçmeden önce de kartın normal çalışırken ne kadar akım çektiğini not et; bu değer ileride arıza ararken çok işine yarar.

"Arduino yandı" demeden önce kartın hangi bölümünün sustuğunu bulmak çoğu zaman kartı kurtarır: ON LED'i güç yolunu, loopback testi USB çipini, reset'teki L LED'i bootloader'ı, pin test kodları da ATmega328P'nin her bacağını ayrı ayrı sınar. Bootloader yeniden yüklenebilir, soketteki çip birkaç dakikada değiştirilebilir ve yukarıdaki kurallarla bir sonraki kartın uzun yaşar. Kartın tekrar sağlıklı çalıştığını görmek için BlueGrays uygulamasındaki LED Yakma, Trafik Lambası, Buton ile LED Yakma ve LCD Ekran ile Dijital Voltmetre projelerini adım adım devre şemaları ve kodlarıyla deneyebilirsin.

Sıkça sorulan sorular

Arduino yandığını nasıl anlarım?

Önce karta bağlı her şeyi sök ve yalnız USB ile dene. ON LED'i yanmıyorsa güç tarafında, kart ısınıyorsa bir çipte kısa devre, bilgisayar kartı görmüyorsa USB çipinde ya da kabloda sorun vardır. Reset tuşuna bastığında L LED'i hızlıca yanıp sönüyorsa ATmega328P ve bootloader çalışıyor demektir; kart büyük ihtimalle yanmamıştır.

Arduino'nun ON ışığı yanmıyor, ne yapmalıyım?

Kartı başka bir USB kablosuyla ve DC jaktan 9 V adaptörle ayrı ayrı dene. Yalnız USB'de yanmıyorsa polyfuse ya da USB soketi, yalnız jakta yanmıyorsa diyot ya da regülatör şüphelidir. İkisinde de yanmıyorsa 5V ile GND arasında kısa devre olup olmadığını multimetreyle ölç ve ısınan çipi ara.

Arduino'nun çipi ısınıyorsa yanmış mıdır?

Normal çalışan bir ATmega328P ya da USB çipi elle hissedilecek kadar ısınmaz. Kart birkaç saniye içinde dokunulamayacak kadar ısınan bir çip varsa o çip büyük ihtimalle içeriden kısa devre olmuştur. Hemen enerjiyi kes; soketteki ATmega328P ise onu çıkarıp kartı yeniden dene, kısa devre kayboluyorsa çipi değiştirmen yeterlidir.

Arduino bilgisayarda görünmüyorsa bozuk mudur?

Her zaman değil. En sık sebep yalnızca şarj için yapılmış bir USB kablosu ya da klon kartlardaki CH340 için eksik sürücüdür. Başka bir kablo ve sürücüyle de görünmüyorsa RESET'i GND'ye, D0'ı D1'e bağlayıp loopback testi yap: Seri Monitör'e yazdığın metin geri geliyorsa USB çipi sağlamdır.

Arduino'ya bootloader nasıl yüklenir?

İkinci bir sağlam Arduino'ya Dosya > Örnekler > ArduinoISP kodunu yükle, D13, D12 ve D11'i hedef kartın aynı pinlerine, D10'u hedefin RESET pinine, 5V ve GND'yi de birbirine bağla. Programlayıcının RESET ile GND arasına 10 µF kondansatör koy, Programlayıcı olarak Arduino as ISP'yi seç ve Önyükleyiciyi Yazdır komutunu çalıştır.

Arduino'nun tek bir pini yanabilir mi?

Evet. Bir pinden 40 mA'den fazla akım çekmek, iki çıkışı birbirine kısa devre yapmak ya da pine 5 V'un üzerinde gerilim vermek yalnızca o pini bozabilir, kartın geri kalanı çalışmaya devam eder. Hangi pinin bozulduğunu INPUT_PULLUP ile giriş testi ve bütün pinleri yakıp söndüren çıkış testiyle bulabilir, projeni sağlam bir pine taşıyabilirsin.

Tüm projeleri gör
Led Yakma
#1Başlangıç

Led Yakma

Elektroniğin ilk merhabası: tek bir LED'i yakıp söndürmek. Arduino LED'i çok kısa aralıklarla yakıp söndürür, ışık hızlı hızlı göz kırpar. Kartın bir ışığı nasıl yönettiğini en sade haliyle görür, son

4.6(188)
1127
2 Adet Led Yakma
#2Başlangıç

2 Adet Led Yakma

İki LED hızlı hızlı sırayla yanıp söner: biri yanarken öteki söner, sanki birbirine top atıyorlarmış gibi. Arduino her ışığı saniyenin beşte biri kadar yakıp ötekine geçer. Tek LED'den sonra birden fa

4.6(105)
343
Trafik Lambası
#3Başlangıç

Trafik Lambası

Her gün yolda gördüğün trafik ışığının minik bir kopyası. Kırmızı iki saniye yanar, sarı kısa bir an parlar, yeşil iki saniye yanar, ardından yine sarı üzerinden kırmızıya dönülür ve döngü hiç durmaz.

4.8(131)
397
Buton İle Led Yakma (Push)
#9Başlangıç

Buton İle Led Yakma (Push)

Kapı zili gibi: bastığın sürece ışık yanar, bırakınca söner. Arduino butonu sürekli dinler; butona basılıyken LED'i yakar, elini çektiğin an söndürür. Kartın dışarıdan gelen bir dokunuşu nasıl hissett

4.8(113)
229
Buton İle Led Yakma (On Off)
#10Başlangıç

Buton İle Led Yakma (On Off)

Bir butona bir kez basınca ışık yanar, bir daha basınca söner; tıpkı odandaki lamba düğmesi gibi. Arduino her basışı fark edip LED'in durumunu tersine çevirir, düğme içindeki minik titreşimler ışığı k

4.8(100)
167
HC-SR04 Mesafe Ölçme (Serial Ekran)
#27Başlangıç

HC-SR04 Mesafe Ölçme (Serial Ekran)

Yarasalar karanlıkta yollarını nasıl buluyorsa HC-SR04 sensörü de öyle çalışır: duyamadığın bir ses gönderir, yankısını dinler ve önündeki cismin ne kadar uzakta olduğunu ölçer. Arduino bu mesafeyi sa

4.6(46)
71
DHT11 İle Sıcaklık Ve Nem
#55Orta

DHT11 İle Sıcaklık Ve Nem

Odan kaç derece, hava nemli mi, kuru mu? DHT11 sensörü sıcaklığı ve nemi ölçer, Arduino da bu değerleri iki satırlık LCD ekrana yazar ve birkaç saniyede bir yeniler. Sensöre bir şey olursa ekranda hat

4.7(47)
73
LCD Ekran ile Dijital Voltmetre
#56Orta
Premium

LCD Ekran ile Dijital Voltmetre

Pilin ya da adaptörün ne kadar gerilim verdiğini kendi yaptığın ölçü aletiyle öğren. İki dirençten oluşan bir bölücü yüksek gerilimi kartın okuyabileceği seviyeye indirir, Arduino da gerçek değeri hes

4.5(27)
36