Rehberler · 13 dk okuma

Tinkercad Arduino Simülasyonu: Devre, Kod ve Ölçüm Rehberi

Tinkercad Arduino simülasyonu: hesap açma, breadboard'da LED ve sensör devresi, blok ve metin kod, Seri Monitör, sanal multimetre, sınıf hesabı, Wokwi farkı.

Tinkercad Arduino simülasyonu, elinde tek bir parça bile yokken Arduino devresi kurup kodunu çalıştırmanın en kolay yoludur. Autodesk'in ücretsiz ve tarayıcıda çalışan Tinkercad Circuits aracında bir Arduino Uno'yu sanal breadboard'a bağlar, LED, direnç, buton ve sensör ekler, kodunu yazar ve Start Simulation (simülasyonu başlat) düğmesine basarsın: LED yanar, servo döner, Seri Monitör'e veri akar. Yanlış bağlantı yüzünden yanan bir LED ya da bozulan bir kart da olmaz, çünkü her şey ekranda olur. Bu yüzden okullardaki Arduino derslerinin çoğu Tinkercad ile başlar.

Bu rehberde hesap açmaktan başlayıp ilk devreni breadboard üzerinde kuracak, blok kod ile metin kod arasındaki farkı görecek, Seri Monitör ve grafikle sensör verisini izleyecek, sanal multimetreyle gerilim, akım ve direnç ölçeceksin. Ardından öğretmenler için sınıf hesabını, Tinkercad'de hangi parçaların bulunup hangilerinin bulunmadığını, simülasyonun gerçek devreden nerede ayrıldığını ve ESP32 ile Raspberry Pi Pico için neden Wokwi'ye geçmen gerektiğini öğreneceksin.

Arduino Uno R3 kartı
Tinkercad'in simüle ettiği kart Arduino Uno R3'tür; sanalda kurduğun devre ve yazdığın kod, aynı pinlerle gerçek bir Uno'ya taşınabilir.

Tinkercad Circuits nedir, nasıl çalışır?

Tinkercad, Autodesk'in 3B tasarım, elektronik ve kodlama araçlarını bir araya getiren ücretsiz web uygulamasıdır. Elektronik bölümü olan Circuits, 2017'de kapatılan 123D Circuits'in devamıdır ve hiçbir program kurmadan güncel bir tarayıcıda çalışır; tasarımların bulutta saklanır, okul bilgisayarında başladığın devreye evden devam edersin. Tinkercad yalnızca kodu çalıştırmakla kalmaz, devrenin elektriğini de hesaplar: dirençten geçen akımı, LED'in üzerindeki gerilimi, bir noktadaki voltajı bulur. Programlanabilir kart olarak Arduino Uno R3, ATtiny ve BBC micro:bit bulunur. Arduino kodun gerçek Arduino derleyicisindeki gibi derlenir ve sanal bir ATmega328P üzerinde çalıştırılır; bu yüzden Tinkercad'de çalışan kod, gerçek kartta da çalışır.

ÖzellikTinkercad Circuits
ÜcretÜcretsiz (Autodesk hesabı gerekir)
KurulumYok; tarayıcıda çalışır, tasarımlar bulutta saklanır
Programlanabilir kartlarArduino Uno R3, ATtiny, BBC micro:bit
Kod yazmaBloklar, Bloklar + Metin, Metin (Arduino C++)
Hazır kütüphanelerYaklaşık 11 tane: Servo, LiquidCrystal, Adafruit NeoPixel, IRremote, Keypad, Wire, SoftwareSerial, EEPROM ve diğerleri
Ölçü aletleriMultimetre, osiloskop, fonksiyon jeneratörü, ayarlı güç kaynağı
Hazır örneklerStarters (başlangıç) devreleri: temel, Arduino ve micro:bit örnekleri
Sınıf yönetimiTinkercad Classrooms, sınıf başına en fazla 250 öğrenci
Gerçek karta aktarmaKodu .ino dosyası olarak indirip Arduino IDE ile yükleme

Tinkercad hesabı nasıl açılır?

  1. Tarayıcıda tinkercad.com adresine git ve sağ üstteki Sign Up (kaydol) düğmesine tıkla.
  2. Sana uyan yolu seç: kendi başına öğreniyorsan kişisel hesap, ders veriyorsan öğretmen (Educators) hesabı, öğretmeninden sınıf kodu aldıysan Join Class (sınıfa katıl).
  3. Kişisel hesapta e-posta adresinle ya da Google hesabınla devam et. Tinkercad hesabı aslında bir Autodesk hesabıdır; aynı bilgilerle diğer Autodesk hizmetlerine de girebilirsin.
  4. Giriş yaptıktan sonra paneldeki soldaki menüden Circuits bölümünü aç ve Create (oluştur) düğmesiyle yeni bir devre başlat.
  5. Tasarımın kendiliğinden kaydedilir. Tinkercad ona rastgele komik bir ad verir; sol üstteki ada tıklayıp "LED ve Buton" gibi anlamlı bir isim yaz, ileride aradığını kolayca bulursun.

13 yaşından küçük öğrenciler için en kolay yol öğretmenin vereceği sınıf kodu ve takma ad (nickname) ile girmektir: e-posta ya da şifre gerekmez, öğrenci tinkercad.com'da Join Class düğmesine basar, önce kodu sonra kendisine verilen takma adı yazar. Kişisel hesap açmak isteyen küçük yaştaki kullanıcılardan kayıt sırasında veli onayı istenebilir. Öğretmen hesabının ayrıntılarını aşağıda ayrı bir bölümde bulacaksın.

Arayüzü tanı: çalışma alanı, parçalar ve kısayollar

Devre düzenleyicide solda geniş bir çalışma alanı, sağda parça paneli bulunur. Panel varsayılan olarak en çok kullanılan temel parçaları (Basic Components) gösterir; tüm parçalar için açılır menüden All Components seçeneğini seç ya da arama kutusuna "servo" veya "ultrasonic" gibi bir ad yaz. Panelin aşağısındaki Starters bölümünde yaklaşık iki düzine hazır Arduino devresi vardır. Birini çalışma alanına sürükleyip simülasyonu başlatmak ve kodunu incelemek, yeni bir parçayı öğrenmenin en hızlı yoludur. Üst çubuktaki düğmelerle devre görünümü, otomatik çizilen şema görünümü ve parça listesi arasında geçiş yapabilirsin.

KısayolNe yapar?
FDevrenin tamamını ekrana sığdırır (Zoom to fit)
RSeçili parçayı döndürür
N ve Shift + NNot ekler; notları gizler ya da gösterir
0–9 rakam tuşlarıSeçili kablonun rengini değiştirir
Shift + tıklamaBirden fazla parçayı birlikte seçer
Fare tekerleğiYakınlaştırır ve uzaklaştırır
DeleteSeçili parçayı ya da kabloyu siler

İlk devre: breadboard üzerinde LED, direnç ve buton

Breadboard devre tahtası
Gerçek breadboard'un iç bağlantıları Tinkercad'dekiyle aynıdır: kenarlardaki uzun hatlar besleme için, ortadaki beşli sıralar parçalar için kullanılır.
  1. Parça panelinden bir Arduino Uno R3 ve bir breadboard sürükleyip yan yana bırak. Breadboard'un iç yapısını bilmiyorsan önce Breadboard nedir? yazısına göz at.
  2. Breadboard'a bir LED yerleştir. Tinkercad'deki LED'in bükük bacağı anottur (+), düz bacağı katottur (−); fareyle bacağın üzerine geldiğinde adını da gösterir. LED seçiliyken açılan panelden rengini değiştirebilirsin.
  3. Bir direnç ekle ve LED'in anoduna seri bağla. Direnç seçiliyken açılan panelde değeri 220, birimi Ω yap; varsayılan değer 1 kΩ'dur. LED'ine uygun değeri LED direnci hesaplama aracıyla bulabilirsin.
  4. Breadboard'un ortasındaki boşluğun üzerine bir buton (Pushbutton) yerleştir; böylece karşılıklı bacaklar birbirinden ayrı kalır.
  5. Kablo çekmek için bir pinin ya da deliğin üzerine tıkla, sonra hedef noktaya tıkla; aradaki boş noktalara tıklayarak kabloyu bükebilirsin. Direncin boştaki ucunu D9'a, LED'in katodunu GND'ye, butonun bir bacağını D2'ye, çapraz bacağını GND'ye bağla.
  6. Kabloları renklendir: beslemeyi kırmızı, toprağı siyah yapmak hata aramayı çok kolaylaştırır. Ardından aşağıdaki kodu yazıp Start Simulation düğmesine bas.
BağlantıArduino Uno (Tinkercad)ESP32Raspberry Pi Pico
LED anodu (220 Ω üzerinden)D9GPIO 18GP14
LED katoduGNDGNDGND
Buton (diğer ucu GND)D2GPIO 4GP2
Potansiyometre orta ucuA0GPIO 34GP26 (ADC0)
TMP36 orta ucu (Vout)A1GPIO 35GP27 (ADC1)
Potansiyometre ve TMP36 beslemesi5V ve GND3V3 ve GND3V3(OUT) ve GND
En sık iki hata LED'i ters takmak ve direnci unutmaktır. Ters takılan LED hiç yanmaz. Dirençsiz bir LED'in üzerine fareyle geldiğinde Tinkercad akımın önerilen 20 mA sınırını aştığını söyleyen bir uyarı gösterir; doğrudan pile bağlanan LED ise küçük bir patlama simgesiyle "yanar". Direnç değerini 220 Ω yerine yanlışlıkla 220 kΩ seçersen de LED o kadar sönük yanar ki hiç yanmıyor sanırsın.

Kod yazmak: Bloklar, Bloklar + Metin ve Metin modu

Sağ üstteki Code düğmesi kod panelini açar. Panelin üstündeki açılır listede üç mod vardır. Blocks (bloklar) modunda Scratch'e benzeyen renkli blokları sürükleyip birleştirirsin; noktalı virgül unutmak ya da yazım hatası yapmak imkânsızdır. Blocks + Text modunda bloklar solda kalır, sağda Tinkercad'in bu bloklardan ürettiği Arduino C++ kodunu canlı olarak görürsün; bir bloğu değiştirdiğin anda metin de değişir. Bu mod, bloklardan gerçek koda geçmenin en iyi köprüsüdür. Text (metin) modu ise Arduino IDE'deki gibi doğrudan C++ yazdığın moddur. Bloklar renklerine göre çıkış (Output), giriş (Input), not (Notation), kontrol (Control), matematik (Math) ve değişken (Variables) gruplarına ayrılmıştır.

Blok (ne yapar?)Metin modundaki karşılığı
Pini HIGH ya da LOW yapdigitalWrite(9, HIGH);
Belirli bir süre bekledelay(1000);
Dijital pini okudigitalRead(2)
Analog pini okuanalogRead(A0)
Seri monitöre yazdırSerial.println(deger);
Servoyu belirli bir açıya döndürservo.write(90); (Servo kütüphanesiyle)
Tekrarla, eğer ve değilsefor döngüsü, if ve else
Değişken oluştur ve değiştirint sayac = 0; sayac = sayac + 1;
Bloklardan metne geçiş tek yönlüdür: Text modunda yaptığın değişiklikler bloklara geri çevrilmez, bloklara dönersen metin kodun kaybolur. Geçmeden önce tasarımın bir kopyasını (Duplicate) al; böylece blok sürümü yedekte kalır ve iki yaklaşımı yan yana karşılaştırabilirsin.

Metin koduyla ilk program: buton, LED ve Seri Monitör

Arduino (C++)
1// Tinkercad ilk program: buton, LED ve Seri Monitör / First Tinkercad sketch: button, LED and Serial Monitor
2const int LED_PIN = 9;      // LED + 220 ohm direnç / LED + 220 ohm resistor
3const int BUTON_PIN = 2;    // butonun diğer ucu GND'de / other button leg goes to GND
4
5int basmaSayisi = 0;        // basma sayacı / press counter
6int oncekiDurum = HIGH;     // önceki buton durumu / previous button state
7bool ledAcik = false;       // LED durumu / LED state
8
9void setup() {
10  pinMode(LED_PIN, OUTPUT);
11  pinMode(BUTON_PIN, INPUT_PULLUP);   // basılınca LOW okunur / reads LOW when pressed
12  Serial.begin(9600);
13  Serial.println("Hazir / Ready");
14}
15
16void loop() {
17  int durum = digitalRead(BUTON_PIN);
18  if (durum != oncekiDurum) {                       // durum değişti / state changed
19    if (durum == LOW) {                             // yeni basış / new press
20      basmaSayisi++;
21      ledAcik = !ledAcik;                           // LED'i tersine çevir / toggle the LED
22      digitalWrite(LED_PIN, ledAcik ? HIGH : LOW);
23      Serial.print("Basma / Presses: ");
24      Serial.println(basmaSayisi);
25    }
26    delay(50);                                      // basma ve bırakmada debounce / debounce on press and release
27    oncekiDurum = durum;
28  }
29}

Kodda buton INPUT_PULLUP ile okunur: Arduino'nun içindeki yaklaşık 20–50 kΩ'luk direnç pini HIGH seviyesinde tutar, butona basınca pin GND'ye çekilir ve LOW okunur; bu yüzden ayrı bir direnç gerekmez. Program yalnızca HIGH'tan LOW'a geçişi, yani yeni bir basışı yakalar ve her basışta LED'i tersine çevirir. Simülasyonu başlattıktan sonra kod panelinin altındaki Serial Monitor düğmesine tıkla, ardından butona fareyle bas: her basışta sayaç bir artar. Aynı devreyi gerçek kartta kurmanın ayrıntıları Arduino'ya buton bağlama yazısında.

Seri Monitör ve grafik: sensör verisini izlemek

Tinkercad'de sensörlerin en güzel yanı değerlerini fareyle değiştirebilmendir. Simülasyon çalışırken TMP36 sıcaklık sensörüne tıklarsan bir kaydırıcı çıkar ve sıcaklığı −40 ile 125 °C arasında ayarlarsın. Fotodirençte ışık şiddetini, toprak nem sensöründe nemi aynı yöntemle değiştirirsin; ultrasonik mesafe sensörü ve PIR hareket sensöründe ise önlerinde beliren hedefi sürükleyerek mesafeyi ya da hareketi taklit edersin. TMP36'nın çıkışı 0 °C'de 0,5 V'tur ve her derece için 10 mV artar, yani 25 °C'de 0,75 V verir. Sensörün orta ucunu A1'e, kenar uçlarını 5V ve GND'ye bağla; aşağıdaki kod bu gerilimi okuyup santigrat dereceye çevirir:

Arduino (C++)
1// TMP36 ile sıcaklık: Seri Monitör ve grafik / Temperature with TMP36: Serial Monitor and graph
2const int TMP36_PIN = A1;   // TMP36 orta ucu (Vout) / TMP36 middle pin (Vout)
3
4void setup() {
5  Serial.begin(9600);
6}
7
8void loop() {
9  int ham = analogRead(TMP36_PIN);         // 0-1023 arası ham değer / raw value 0-1023
10  float volt = ham * 5.0 / 1023.0;         // gerilime çevir / convert to volts
11  float sicaklik = (volt - 0.5) * 100.0;   // 0,5 V = 0 °C ve 10 mV/°C / 0.5 V = 0 °C and 10 mV/°C
12  Serial.println(sicaklik, 1);             // yalnız sayı: grafik için / number only: for the graph
13  delay(500);
14}

Seri Monitör açıkken paneldeki grafik düğmesine basarsan gelen sayıları çizgi grafik olarak görürsün; sensör kaydırıcısını oynattıkça eğrinin yükselip alçaldığını izlersin. Grafiğin sorunsuz çizilmesi için her satıra yalnızca sayıyı yazdır; "Sicaklik: 24.5" gibi bir etiket eklersen grafik bozulabilir ya da hiç çizilmeyebilir. Monitörün altındaki kutuya yazıp gönderdiğin metni de kod içinde Serial.read() ile okuyabilirsin; böylece klavyeden komut gönderip LED yakan bir program yazmak mümkündür. Seri haberleşmenin bütün ayrıntıları için Arduino Serial Monitor yazısına göz at.

Sanal multimetreyle gerilim, akım ve direnç ölçmek

Tinkercad'in Arduino IDE'den en büyük farkı devreyi elektriksel olarak hesaplamasıdır; bu sayede gerçek bir multimetre gibi ölçüm yapabilirsin. Parça panelinden Multimeter sürükle; altındaki iki uçtan siyah olan COM (−), kırmızı olan ölçüm (+) ucudur. Multimetreye tıklayınca açılan panelden ölçüm modunu seçersin ve değer simülasyon çalışırken ekranında görünür:

  • Gerilim (Voltage): Uçları ölçmek istediğin iki noktaya paralel bağla; örneğin kırmızı ucu potansiyometrenin orta ucuna, siyah ucu GND'ye.
  • Akım (Current): Devreyi bir noktadan aç ve multimetreyi araya seri bağla; örneğin D9 ile direnç arasına. Akım modundaki multimetreyi bir parçaya paralel bağlamak kısa devre yapmak demektir.
  • Direnç (Resistance): Ölçeceğin parçayı devreden ayır ya da enerjisiz bırak ve uçları parçanın iki bacağına bağla. Tinkercad'deki dirençler gerçek renk bantlarıyla çizilir; bantları okumayı Direnç renk kodu aracıyla pratik edebilirsin.
Arduino (C++)
1// Potansiyometre ile LED parlaklığı ve multimetre karşılaştırması
2// Potentiometer LED brightness and multimeter comparison
3const int POT_PIN = A0;   // potansiyometre orta ucu / potentiometer wiper
4const int LED_PIN = 9;    // PWM destekli pin / PWM-capable pin
5
6void setup() {
7  pinMode(LED_PIN, OUTPUT);
8  Serial.begin(9600);
9}
10
11void loop() {
12  int ham = analogRead(POT_PIN);                // 0-1023
13  float volt = ham * 5.0 / 1023.0;              // multimetreyle karşılaştır / compare with the multimeter
14  int parlaklik = map(ham, 0, 1023, 0, 255);    // PWM değeri / PWM value
15  analogWrite(LED_PIN, parlaklik);
16
17  Serial.print(ham);
18  Serial.print("  ");
19  Serial.print(volt, 2);
20  Serial.println(" V");
21  delay(300);
22}

Bu deney için devreye bir potansiyometre ekle: kenar uçlarını 5V ve GND'ye, orta ucunu A0'a bağla. Potansiyometreyi tam ortaya getirdiğinde multimetre 2,50 V, Seri Monitör ise 511 civarında bir ham değer ve 2,50 V gösterir, çünkü 2,5 / 5 × 1023 ≈ 511'dir. İki değerin uyuşması, analogRead'in gerilimi nasıl sayıya çevirdiğini gösteren en iyi deneydir. Şimdi multimetreyi akım moduna al, D9 ile direnç arasına seri bağla ve potansiyometreyi sonuna kadar çevir: kırmızı bir LED ve 220 Ω ile kabaca (5 − 2) / 220 ≈ 14 mA görürsün. Bu hesabı Ohm kanunu aracıyla kendin de yapabilirsin. Ara değerlerde D9 sürekli açılıp kapanan bir PWM sinyali verir; bunu görmek için bir osiloskop ekle, kırmızı ucunu D9'a, siyahını GND'ye bağla. Uno'nun 9. pininde PWM frekansı yaklaşık 490 Hz'dir ve analogWrite(128) ekranda yarı yarıya dolu bir kare dalga çizer. PWM'in mantığını PWM nedir? yazısında bulabilirsin.

Hata ayıklayıcı ile kodu adım adım çalıştırmak

Kod derlenmezse Tinkercad kod panelinin altında hata konsolunu kendiliğinden açar ve sorunlu satırı işaretler; mesajlar Arduino IDE'dekilere benzer. Kod derlenip yanlış çalışıyorsa hata ayıklayıcıyı (debugger) kullan: metin modunda bir satır numarasına tıklayarak kesme noktası (breakpoint) koy ve simülasyonu başlat. Program o satıra gelince durur; fareyle bir değişkenin üzerine gelirsen o anki değerini görürsün. Kod panelinin üstünde beliren düğmelerle bir sonraki satıra geçebilir ya da programı kaldığı yerden sürdürebilirsin. Butonun neden iki kez sayıldığını ya da bir if koşuluna neden hiç girilmediğini bulmak için her satıra Serial.print eklemekten çok daha hızlıdır. Sık görülen derleme mesajlarının anlamlarını Arduino derleme hataları yazısında topladık.

Tinkercad'de hangi parçalar var, hangileri yok?

GrupTinkercad'de varYok (yerine ne kullanılır?)
KartlarArduino Uno R3, ATtiny, BBC micro:bitArduino Nano ve Mega, ESP32, ESP8266, Raspberry Pi Pico (Uno ile dene ya da Wokwi kullan)
SensörlerTMP36 sıcaklık, fotodirenç, ultrasonik mesafe (3 ve 4 pinli), PIR, toprak nemi, gaz, eğim, esneme ve kuvvet sensörü, IR alıcıDHT11, DHT22 ve MPU6050 (sıcaklık için TMP36 kullan)
Ekran ve ışıkLED, RGB LED, 16x2 LCD (paralel ve I2C), 7 segment gösterge, NeoPixel şerit ve halkaOLED (SSD1306) ve TFT ekranlar (LCD ile dene)
Motor ve çıkışDC motor, redüktörlü motor, mikro servo, titreşim motoru, piezo buzzer, röle, L293D H köprüsüL298N motor sürücü modülü (L293D kullan)
Giriş elemanlarıButon, sürgülü ve DIP anahtar, potansiyometre, 4x4 tuş takımı, IR kumandaRC522 RFID okuyucu ve parmak izi sensörü
Entegre ve temel parçalarDirenç, kondansatör, bobin, diyot, zener, NPN ve PNP transistör, MOSFET, 555, 74HC595, mantık kapıları, LM741 op-amp, 7805 regülatörTemel parçaların neredeyse hepsi var
HaberleşmeSeri (TX/RX) ve I2C hattıyla birden fazla Uno'yu bağlamaWi-Fi, Bluetooth (HC-05), nRF24L01 ve GSM modülleri
Ölçü ve güçMultimetre, osiloskop, fonksiyon jeneratörü, güç kaynağı, 9 V, AA ve düğme pillerPilin zamanla boşalması ve parçaların ısınması
LDR
LDR
PIR
PIR
HC-SR04
HC-SR04
SG90
SG90

Kütüphane eklemek için kod panelindeki kütüphane düğmesine (dosya kutusu simgesi) bas; listedeki yaklaşık on bir kütüphaneden birini seçtiğinde #include satırı kodun başına eklenir. Liste dışındaki bir kütüphaneyi, örneğin DHT.h'yi yazarsan derleyici dosyayı bulamadığını söyleyen bir hata verir; Tinkercad'e dışarıdan kütüphane yüklenemez. Küçük kütüphanelerde .h ve .cpp dosyalarının içeriğini doğrudan koduna yapıştırarak çalıştırabilirsin, ama donanımı Tinkercad'de olmayan bir parçanın kütüphanesi bu yolla da işe yaramaz. Önemli bir ayrıntı daha: Tinkercad'deki I2C LCD örneklerde Adafruit_LiquidCrystal kütüphanesiyle sürülür, piyasadaki PCF8574'lü modüller ise genellikle LiquidCrystal_I2C kütüphanesi ve 0x27 ya da 0x3F adresiyle çalışır. Gerçek karta geçerken bu satırları değiştirmen gerekir; ayrıntılar I2C LCD ekran yazısında.

Simülasyonun sınırları: gerçek devreden farkları

  • Zamanlama: Simülasyon tarayıcıda çalışır; kalabalık bir devrede ya da yavaş bir bilgisayarda gerçek zamandan yavaş akabilir. Bu durumda delay(1000) ekranda bir saniyeden uzun sürer, millis() ise simülasyonun kendi saatini sayar.
  • İdeal parçalar: Tinkercad'deki buton sıçrama (bounce) yapmaz, kablolar gevşemez, analog okumalar gerçek devredeki kadar gürültülü değildir. Gerçek kartta debounce ve birkaç ölçümün ortalamasını almak gerekir.
  • Güç sınırları: Simülasyonda sorunsuz çalışan bir motor ya da çok sayıda LED, gerçek kartta Arduino'nun resetlenmesine ya da regülatörün ısınmasına yol açabilir. Bir pinden en fazla 20 mA civarında çekmeyi ve motorları ayrı bir kaynaktan beslemeyi kural edin.
  • Görünen bağlantı, gerçek bağlantı değildir: Bir bacak breadboard deliğine tam oturmamışsa kablo bağlı görünür ama devre çalışmaz. Deliğin üzerine geldiğinde aynı hattaki bağlı deliklerin vurgulandığını kontrol et.
  • Tek dosya, sınırlı kütüphane: Kod tek bir sekmeden oluşur ve dış kütüphane eklenemez; büyük projeleri düzenlemek zorlaşır.
  • Türkçe karakterler: Seri Monitör UTF-8'i tam desteklemez; ş, ğ, ı gibi harfler bozuk görünebilir. Seri çıktılarda Türkçe karakter kullanmamak en güvenlisidir.
  • Kablosuz bağlantı yok: Wi-Fi, Bluetooth ve internet simüle edilmez; nesnelerin interneti (IoT) projeleri için Tinkercad uygun değildir.

Öğretmenler için Tinkercad sınıfı (Classrooms)

  1. Kaydolurken ya da profil ayarlarında rolünü öğretmen olarak belirle; sınıf özellikleri öğretmen hesaplarında açılır.
  2. Üst menüden Classes sayfasına git, Create new class ile sınıfın adını, yaş ya da sınıf düzeyini ve dersi girerek sınıfı oluştur.
  3. Add Students ile öğrencilerin adını yaz; Tinkercad her biri için sınıf içinde benzersiz bir takma ad üretir. Uzun listeleri tek tek yazmak yerine yapıştırarak ekleyebilirsin; bir sınıfa en fazla 250 öğrenci eklenir.
  4. Class Code düğmesiyle sınıf kodunu ve sınıf bağlantısını göster. Öğrenciler bağlantıyı açıp takma adlarını yazarak ya da tinkercad.com'da Join Class ile kodu girerek katılır; e-posta ya da şifre gerekmez.
  5. Öğrencilerin çalışmalarını sınıf sayfasındaki Designs sekmesinden izle; bir öğrencinin adına tıklayarak tasarımlarını açabilir ve düzenleyebilirsin.

Sınıflar varsayılan olarak güvenli modda (Safe Mode) açılır: öğrenciler tasarımlarını herkese açık yapamaz, galeride arama yapamaz ve yorumları göremez. Ders hazırlarken Tinkercad'in Learn bölümündeki etkileşimli Arduino derslerinden ve Starters devrelerinden yararlanabilirsin. Yaygın bir yöntem, öğretmenin örnek devreyi paylaşması, öğrencilerin onu kopyalayıp üzerinde değişiklik yapmasıdır. Sınıfta fiziksel set varsa devreyi önce Tinkercad'de kurup sonra gerçek parçalarla tekrarlamak, ters takılan LED ve yanlış beslenen kart sayısını belirgin biçimde azaltır.

Tinkercad'den gerçek Arduino'ya geçiş

  1. Kod panelindeki indirme düğmesiyle kodu .ino dosyası olarak bilgisayarına kaydet ya da metni kopyala.
  2. Dosyayı Arduino IDE'de aç; IDE dosyayı aynı adlı bir klasöre taşımayı önerirse kabul et. IDE'yi henüz kurmadıysan Arduino IDE kurulumu rehberine bak.
  3. Araçlar > Kart menüsünden Arduino Uno'yu, Port menüsünden kartının bağlı olduğu portu seç ve Yükle'ye bas. Yükleme hata verirse Arduino kod yüklenmiyor yazısındaki adımları izle.
  4. Devreyi Tinkercad'deki çizime bakarak aynı pinlerle kur; şema görünümünü yan ekranda açık tutmak işini kolaylaştırır.
  5. Simülasyonda olmayan farkları düzelt: butona yazılımsal debounce ekle, I2C LCD kütüphanesini ve adresini değiştir, TMP36 yerine elindeki sensörü, örneğin DHT11'i kullanıyorsan kodu ona göre güncelle.

ESP32 ve Raspberry Pi Pico için: Tinkercad mi, Wokwi mi?

Tinkercad'de ESP32 ve Raspberry Pi Pico yoktur; Wi-Fi ve MicroPython da simüle edilmez. Bu kartlar için yine tarayıcıda çalışan Wokwi simülatörünü kullanabilirsin. Wokwi, Arduino Uno, Mega ve Nano'nun yanında ESP32 ailesini ve Pico'yu destekler, ESP32'yi sanal bir Wi-Fi ağına bağlar ve Arduino Kütüphane Yöneticisi'ndeki kütüphanelerin çoğunu kullanmana izin verir. Buna karşılık Wokwi devreyi elektriksel olarak hesaplamaz: direnç değerini değiştirmek LED akımını etkilemez, gerilim ve akım ölçen bir multimetre yerine dijital sinyalleri izleyen bir mantık analizörü sunar. Kısacası elektronik temellerini Tinkercad'de, ESP32 ve Pico kodunu Wokwi'de denemek en verimli yoldur. Ayrıntılı kullanım için Wokwi simülasyon yazısına bak.

ÖzellikTinkercad CircuitsWokwi
KartlarArduino Uno R3, ATtiny, micro:bitUno, Mega, Nano, ESP32 ailesi, Raspberry Pi Pico, STM32 ve diğerleri
Elektriksel hesap (akım, gerilim)Var; multimetre ve osiloskopYok denecek kadar sınırlı; mantık analizörü var
Blok kodVarYok
KütüphanelerYaklaşık 11 hazır kütüphaneKütüphane Yöneticisi'ndeki kütüphanelerin çoğu
Wi-Fi ve internetYokESP32 ve Pico W ile var
MicroPythonYokPico ve ESP32'de var
HesapGerekliDenemek için gerekmez, kaydetmek için giriş yapılır
En uygun kullanımElektronik temelleri, okul dersleri, ilk Arduino adımlarıESP32, Pico, IoT ve çok kütüphaneli projeler

Aşağıda buton ve LED programının Raspberry Pi Pico için MicroPython sürümü var. Pin tablosundaki GP14 ve GP2 bağlantılarıyla Wokwi'de ya da gerçek bir Pico'da Thonny ile çalıştırabilirsin. ESP32'de ise Arduino kodunu olduğu gibi kullanır, yalnızca LED_PIN'i 18, BUTON_PIN'i 4 yaparsın. Pico'ya başlamak için Raspberry Pi Pico nedir?, ESP32 için ESP32 nedir? yazılarına göz at.

MicroPython
1# Aynı program Raspberry Pi Pico'da (MicroPython) / The same program on Raspberry Pi Pico (MicroPython)
2from machine import Pin
3import time
4
5led = Pin(14, Pin.OUT)                  # LED + 220 ohm direnç / LED + 220 ohm resistor
6buton = Pin(2, Pin.IN, Pin.PULL_UP)     # butonun diğer ucu GND'de / other button leg goes to GND
7
8basma = 0                               # basma sayacı / press counter
9onceki = 1                              # önceki buton durumu / previous button state
10
11while True:
12    durum = buton.value()
13    if durum != onceki:                 # durum değişti / state changed
14        if durum == 0:                  # yeni basış / new press
15            basma += 1
16            led.toggle()                # LED'i tersine çevir / toggle the LED
17            print("Basma / Presses:", basma)
18        time.sleep_ms(50)               # basma ve bırakmada debounce / debounce on press and release
19        onceki = durum
20    time.sleep_ms(5)

Tinkercad'de deneyebileceğin proje fikirleri

  • Trafik lambası: Üç LED ve yaya butonuyla bir kavşak; adım adım kurulum Arduino trafik lambası yazısında.
  • Gece lambası: Ortam karardığında yanan LED; fotodirencin gerçek karttaki kullanımı LDR ışık sensörü yazısında.
  • Park sensörü: Ultrasonik sensör ve piezo buzzer ile yaklaştıkça hızlanan bip sesi; ölçümün mantığı HC-SR04 mesafe sensörü yazısında.
  • Servo kontrolü: Potansiyometreyle servo açısını ayarla; servo motor yazısındaki kodu Tinkercad'de de çalıştırabilirsin.
  • Şifreli kilit: 4x4 tuş takımı, LCD ve servo ile kapı kilidi; keypad yazısında kullanılan Keypad kütüphanesi Tinkercad'de de var.
  • Az pinle çok LED: 74HC595 kaydırma yazmacıyla 8 LED'i 3 pinden sür; ayrıntılar 74HC595 yazısında.
  • İki Arduino'nun haberleşmesi: İki Uno'yu TX ve RX hatlarından çapraz bağlayıp birinden diğerine mesaj gönder; Tinkercad aynı anda birden fazla kartı simüle eder.
  • 555 ile flaşör: Mikrodenetleyici olmadan yanıp sönen bir LED kur ve frekansı osiloskopla ölç; hesabı 555 zamanlayıcı yazısında bulabilirsin.

Sık yapılan hatalar ve çözümleri

BelirtiOlası sebepÇözüm
LED hiç yanmıyorLED ters takılmış ya da iki bacağı aynı breadboard sırasındaBükük bacak (anot) dirence gitmeli; bacakları farklı sıralara yerleştir
LED çok sönükDirenç 220 Ω yerine 220 kΩ seçilmiş ya da varsayılan 1 kΩ'da kalmışDirenci seçip değeri ve birimi kontrol et
LED'de uyarı ya da patlama simgesiDirenç yok, akım 20 mA'yı aşıyorLED'e seri 220–330 Ω direnç ekle
Seri Monitör boşSerial.begin() yok ya da monitör açılmamışsetup() içine Serial.begin(9600) ekle, simülasyon çalışırken Serial Monitor'ü aç
Grafik çizilmiyorSatırda sayının yanında metin varSerial.println() ile yalnızca sayı gönder
Derleme hatası: kütüphane bulunamadıTinkercad'de olmayan bir kütüphane (DHT.h gibi) eklenmişListedeki kütüphanelerden birini ya da eşdeğer bir parçayı kullan
Buton ters çalışıyorINPUT_PULLUP ile basılıyken LOW okunurKoşulu LOW'a göre yaz ya da harici pull-down direnç kullan
Simülasyon çok yavaşÇok sayıda parça, uzun NeoPixel şeridi ya da çok sık Serial.printDevreyi sadeleştir, döngüye kısa bir delay ekle, diğer sekmeleri kapat
Çalışan bir devreyi bozmamak için yeni bir özellik eklemeden önce tasarımın kopyasını al ve kopya üzerinde çalış. Bir sorun çıktığında çalışan sürüme dönmek tek tık sürer; ayrıca devrenin farklı aşamalarını derste adım adım göstermek için hazır bir arşivin olur.

Tinkercad, Arduino'yu parasız ve risksiz öğrenmenin en iyi başlangıç noktasıdır: devreyi kurar, ölçer, kodu adım adım izler ve hazır olduğunda aynı kodu gerçek karta yüklersin. Sanalda çalıştırdığın her devre, masadaki ilk denemeni de kolaylaştırır. BlueGrays uygulamasında LED yakmadan trafik lambasına, buton ve LDR uygulamalarından HC-SR04 ile mesafe ölçmeye ve iki Arduino'nun haberleşmesine kadar birçok projeyi devre şeması ve koduyla adım adım bulabilir, Tinkercad'de kurduğun devreyi gerçek parçalarla tekrarlayabilirsin. Daha fazla fikir için Arduino proje fikirleri listesine de göz at.

Sıkça sorulan sorular

Tinkercad ücretsiz mi?

Evet. Tinkercad Circuits dahil bütün Tinkercad araçları ücretsizdir; yalnızca bir Autodesk hesabı açman gerekir. Öğrenciler öğretmenin verdiği sınıf koduyla e-posta adresi olmadan da girebilir. Program kurulmaz, güncel bir tarayıcı ve internet bağlantısı yeterlidir.

Tinkercad'de ESP32 ya da Raspberry Pi Pico var mı?

Hayır. Tinkercad'de programlanabilir kart olarak yalnızca Arduino Uno R3, ATtiny ve BBC micro:bit bulunur. ESP32, ESP8266 ve Raspberry Pi Pico'yu simüle etmek için Wokwi kullanabilirsin; Wokwi ESP32'nin Wi-Fi bağlantısını ve Pico'da MicroPython'u da destekler.

Tinkercad'e kütüphane eklenir mi, DHT11 kullanabilir miyim?

Tinkercad'e dışarıdan kütüphane yüklenemez; yalnızca kod panelindeki listede bulunan Servo, LiquidCrystal, Adafruit NeoPixel, IRremote ve Keypad gibi yaklaşık on bir kütüphane kullanılabilir. DHT11 ve DHT22 sensörleri de parça listesinde yoktur. Sıcaklık ölçmek için TMP36 sensörünü analogRead ile kullanabilirsin.

Tinkercad'deki kod gerçek Arduino'da çalışır mı?

Çalışır, çünkü Tinkercad standart Arduino C++ kodunu derler. Kod panelinden .ino dosyasını indirip Arduino IDE'de açman ve kartına yüklemen yeterlidir. Yalnızca Tinkercad'e özgü kütüphaneleri (I2C LCD için Adafruit_LiquidCrystal gibi) gerçek modülüne uygun olanla değiştirmen ve butonlara debounce eklemen gerekebilir.

Tinkercad mi Wokwi mi daha iyi?

İkisi farklı işlerde güçlüdür. Tinkercad devreyi elektriksel olarak hesapladığı, multimetre ve blok kod sunduğu için elektronik temelleri ve okul dersleri için daha uygundur. Wokwi ise ESP32, Pico, Wi-Fi ve geniş kütüphane desteğiyle ileri seviye ve IoT projelerinde öne çıkar.

Tinkercad'e öğrenci olarak nasıl giriş yapılır?

Öğretmenin sana bir sınıf bağlantısı ya da sınıf kodu ve takma ad verir. Bağlantıyı açıp takma adını yazarsın ya da tinkercad.com'da Join Class düğmesine basıp önce kodu, sonra takma adını girersin. Bu yöntemde e-posta ve şifre gerekmez; kendi hesabın varsa giriş yaptıktan sonra panelden sınıfa katılabilirsin.

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

Led Yakma

Arduino ile tek bir LED'i belirli aralıklarla yakıp söndüren temel giriş projesi. digitalWrite ve delay fonksiyonlarının kullanımını öğretir.

4.6(172)
905
Trafik Lambası
#3Başlangıç

Trafik Lambası

Kırmızı, sarı ve yeşil LED'lerle gerçek bir trafik lambası simülasyonu yapan proje. Zamanlama ve sıralı kontrol mantığını öğretir.

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

Buton İle Led Yakma (Push)

Butona basıldığında LED'i yakan, bırakıldığında söndüren anlık (push) kontrol projesi. digitalRead ile buton okuma ve koşullu ifade kullanımını öğretir.

4.9(112)
190
Ldr İle Işık Şiddeti Okuma
#11Başlangıç

Ldr İle Işık Şiddeti Okuma

LDR sensörü ile ortam ışık şiddetini ölçüp Serial Monitor'da gösteren proje. Analog sensör okuma ve seri haberleşme temellerini öğretir.

4.6(78)
124
Buzzer Kullanımı
#13Başlangıç

Buzzer Kullanımı

Buzzer'ı belirli frekansta ve aralıklarla ses çıkaracak şekilde kullanan temel proje. tone() ve noTone() fonksiyonlarının kullanımını öğretir.

4.7(88)
151
HC-SR04 Mesafe Ölçme (Serial Ekran)
#27Başlangıç

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

HC-SR04 ultrasonik sensör ile mesafe ölçüp sonucu Serial Monitor'da cm cinsinden gösteren proje. Ses dalgası ile mesafe hesaplama prensibini öğretir.

4.6(44)
66
Servo Motor Kullanım
#35Başlangıç
Premium

Servo Motor Kullanım

Servo motoru 0°, 90° ve 180° açılarına sırayla konumlandıran temel kullanım projesi. Servo kütüphanesi ve açı kontrol mantığını öğretir.

4.7(48)
66
2 Arduino Tek Yönlü Haberleşme
#57Orta
Premium

2 Arduino Tek Yönlü Haberleşme

İki Arduino arasında seri haberleşme ile tek yönlü veri aktarımı yapan proje. Verici tarafta buton basışını algılayıp alıcı tarafta LED'i kontrol etmeyi öğretir.

4.4(37)
50