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.

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.
| Özellik | Tinkercad Circuits |
|---|---|
| Ücret | Ücretsiz (Autodesk hesabı gerekir) |
| Kurulum | Yok; tarayıcıda çalışır, tasarımlar bulutta saklanır |
| Programlanabilir kartlar | Arduino Uno R3, ATtiny, BBC micro:bit |
| Kod yazma | Bloklar, Bloklar + Metin, Metin (Arduino C++) |
| Hazır kütüphaneler | Yaklaşık 11 tane: Servo, LiquidCrystal, Adafruit NeoPixel, IRremote, Keypad, Wire, SoftwareSerial, EEPROM ve diğerleri |
| Ölçü aletleri | Multimetre, osiloskop, fonksiyon jeneratörü, ayarlı güç kaynağı |
| Hazır örnekler | Starters (başlangıç) devreleri: temel, Arduino ve micro:bit örnekleri |
| Sınıf yönetimi | Tinkercad Classrooms, sınıf başına en fazla 250 öğrenci |
| Gerçek karta aktarma | Kodu .ino dosyası olarak indirip Arduino IDE ile yükleme |
Tinkercad hesabı nasıl açılır?
- Tarayıcıda tinkercad.com adresine git ve sağ üstteki Sign Up (kaydol) düğmesine tıkla.
- 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).
- 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.
- 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.
- 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ısayol | Ne yapar? |
|---|---|
| F | Devrenin tamamını ekrana sığdırır (Zoom to fit) |
| R | Seçili parçayı döndürür |
| N ve Shift + N | Not ekler; notları gizler ya da gösterir |
| 0–9 rakam tuşları | Seçili kablonun rengini değiştirir |
| Shift + tıklama | Birden fazla parçayı birlikte seçer |
| Fare tekerleği | Yakınlaştırır ve uzaklaştırır |
| Delete | Seçili parçayı ya da kabloyu siler |
İlk devre: breadboard üzerinde LED, direnç ve buton

- 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.
- 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.
- 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.
- Breadboard'un ortasındaki boşluğun üzerine bir buton (Pushbutton) yerleştir; böylece karşılıklı bacaklar birbirinden ayrı kalır.
- 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.
- 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) | ESP32 | Raspberry Pi Pico |
|---|---|---|---|
| LED anodu (220 Ω üzerinden) | D9 | GPIO 18 | GP14 |
| LED katodu | GND | GND | GND |
| Buton (diğer ucu GND) | D2 | GPIO 4 | GP2 |
| Potansiyometre orta ucu | A0 | GPIO 34 | GP26 (ADC0) |
| TMP36 orta ucu (Vout) | A1 | GPIO 35 | GP27 (ADC1) |
| Potansiyometre ve TMP36 beslemesi | 5V ve GND | 3V3 ve GND | 3V3(OUT) ve GND |
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 yap | digitalWrite(9, HIGH); |
| Belirli bir süre bekle | delay(1000); |
| Dijital pini oku | digitalRead(2) |
| Analog pini oku | analogRead(A0) |
| Seri monitöre yazdır | Serial.println(deger); |
| Servoyu belirli bir açıya döndür | servo.write(90); (Servo kütüphanesiyle) |
| Tekrarla, eğer ve değilse | for döngüsü, if ve else |
| Değişken oluştur ve değiştir | int sayac = 0; sayac = sayac + 1; |
Metin koduyla ilk program: buton, LED ve Seri Monitör
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:
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.
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?
| Grup | Tinkercad'de var | Yok (yerine ne kullanılır?) |
|---|---|---|
| Kartlar | Arduino Uno R3, ATtiny, BBC micro:bit | Arduino Nano ve Mega, ESP32, ESP8266, Raspberry Pi Pico (Uno ile dene ya da Wokwi kullan) |
| Sensörler | TMP36 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 ışık | LED, RGB LED, 16x2 LCD (paralel ve I2C), 7 segment gösterge, NeoPixel şerit ve halka | OLED (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 kumanda | RC522 RFID okuyucu ve parmak izi sensörü |
| Entegre ve temel parçalar | Direnç, kondansatör, bobin, diyot, zener, NPN ve PNP transistör, MOSFET, 555, 74HC595, mantık kapıları, LM741 op-amp, 7805 regülatör | Temel parçaların neredeyse hepsi var |
| Haberleşme | Seri (TX/RX) ve I2C hattıyla birden fazla Uno'yu bağlama | Wi-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 piller | Pilin zamanla boşalması ve parçaların ısınması |




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)
- Kaydolurken ya da profil ayarlarında rolünü öğretmen olarak belirle; sınıf özellikleri öğretmen hesaplarında açılır.
- Ü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.
- 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.
- 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.
- Öğ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ş
- Kod panelindeki indirme düğmesiyle kodu .ino dosyası olarak bilgisayarına kaydet ya da metni kopyala.
- 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.
- 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.
- 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.
- 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.
| Özellik | Tinkercad Circuits | Wokwi |
|---|---|---|
| Kartlar | Arduino Uno R3, ATtiny, micro:bit | Uno, Mega, Nano, ESP32 ailesi, Raspberry Pi Pico, STM32 ve diğerleri |
| Elektriksel hesap (akım, gerilim) | Var; multimetre ve osiloskop | Yok denecek kadar sınırlı; mantık analizörü var |
| Blok kod | Var | Yok |
| Kütüphaneler | Yaklaşık 11 hazır kütüphane | Kütüphane Yöneticisi'ndeki kütüphanelerin çoğu |
| Wi-Fi ve internet | Yok | ESP32 ve Pico W ile var |
| MicroPython | Yok | Pico ve ESP32'de var |
| Hesap | Gerekli | Denemek için gerekmez, kaydetmek için giriş yapılır |
| En uygun kullanım | Elektronik 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.
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
| Belirti | Olası sebep | Çözüm |
|---|---|---|
| LED hiç yanmıyor | LED ters takılmış ya da iki bacağı aynı breadboard sırasında | Bükük bacak (anot) dirence gitmeli; bacakları farklı sıralara yerleştir |
| LED çok sönük | Direnç 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 simgesi | Direnç yok, akım 20 mA'yı aşıyor | LED'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 çizilmiyor | Satırda sayının yanında metin var | Serial.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ışıyor | INPUT_PULLUP ile basılıyken LOW okunur | Koş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.print | Devreyi sadeleştir, döngüye kısa bir delay ekle, diğer sekmeleri kapat |
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.
Bu yazıdan sonra yapabileceğin projeler
Tüm projeleri gör
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.

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.

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.

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.

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.

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.

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.

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.

