Mulai simulasi gratis

Format diagram.json

diagram.json mendeskripsikan rangkaian sebuah proyek: komponen di kanvas dan kabel di antaranya. Kamu bisa membaca dan mengeditnya di tab diagram.json pada editor; perubahan yang valid langsung diterapkan ke kanvas, dan perubahan yang tidak valid menampilkan pesan kesalahan tanpa mengubah apa pun.

Contoh

{
  "version": 1,
  "editor": "circzy",
  "board": "uno",
  "parts": [
    { "id": "uno", "type": "arduino-uno", "x": 0, "y": 0, "rotate": 0, "flip": false, "color": "", "value": "", "level": 0 },
    { "id": "led1", "type": "led", "x": 260, "y": -120, "rotate": 0, "flip": false, "color": "red", "value": "", "level": 0 },
    { "id": "r1", "type": "resistor", "x": 240, "y": -40, "rotate": 90, "flip": false, "color": "", "value": "220", "level": 0 }
  ],
  "wires": [
    { "id": "w1", "from": { "partId": "uno", "pin": "13" }, "to": { "partId": "r1", "pin": "1" }, "color": "#1f9d48", "points": [] },
    { "id": "w2", "from": { "partId": "r1", "pin": "2" }, "to": { "partId": "led1", "pin": "A" }, "color": "#1f9d48", "points": [] },
    { "id": "w3", "from": { "partId": "led1", "pin": "C" }, "to": { "partId": "uno", "pin": "GND.1" }, "color": "#1c1c1c", "points": [{ "x": 300, "y": 40 }] }
  ]
}

Kolom tingkat atas

KolomTipeKeterangan
versionnumberVersi format. Saat ini 1.
editorstringSelalu "circzy".
boardstringID board proyek: uno, nano, mega, esp32, d1mini-esp32, d1r32, nodemcu, nodemcu-amica, d1mini, pico, atau bluepill.
partsarrayKomponen di kanvas, termasuk board.
wiresarraySambungan antar pin.

Komponen

KolomTipeKeterangan
idstringWajib. Nama unik yang dipakai oleh kabel.
typestringWajib. Jenis komponen, misalnya led, dht22, atau arduino-uno. Jenis setiap komponen tercantum di Ikhtisar Komponen.
x, ynumberPosisi sudut kiri atas di kanvas, dalam piksel.
rotatenumber0, 90, 180, atau 270 derajat.
flipbooleanMencerminkan komponen, untuk komponen yang mendukungnya.
colorstringOpsi warna, misalnya red untuk LED atau blue untuk LCD. Kosong jika komponen tidak punya opsi warna.
valuestringOpsi nilai: nilai resistor dalam ohm ("220"), teks catatan, UID kartu RFID, status saklar DIP ("01000000"), rentang logic analyzer, dan sebagainya.
levelnumberStatus sebuah input atau nilai sensor utama: posisi potensiometer (0–1023), posisi saklar, pembacaan sensor.
paramsobjectNilai sensor tambahan, untuk komponen dengan beberapa slider, misalnya { "temperature": 24, "humidity": 40 } untuk DHT22.

Diagram harus berisi board milik proyek, dan tidak boleh berisi board dengan jenis lain. Kolom opsional yang tidak ada akan diisi nilai bawaannya.

Kabel

KolomTipeKeterangan
idstringWajib. Nama unik.
from, toobjectKedua ujung: { "partId": "…", "pin": "…" }. Pin harus ada di komponen tersebut.
colorstringWarna CSS. Editor memakai sepuluh warna kabel.
pointsarrayTitik tekukan { "x", "y" } dalam koordinat kanvas, berurutan dari from ke to. Kosong untuk kabel langsung.

Nama pin

Pin dinamai sesuai label yang tercetak di komponen: 13, A0, GND.1 di Arduino Uno; D21, 3V3 di ESP32 DevKit; VCC, GND, SDA, SCL di modul I²C; A dan C untuk anoda dan katoda LED; 1 dan 2 untuk kaki resistor. Jika beberapa pin punya nama yang sama, akhiran seperti .1 dan .2 membuatnya unik; pin dengan nama dasar yang sama saling terhubung.

Lubang breadboard dinamai <column><half>.<row>, misalnya 12t.a atau 5b.j, dan lubang jalur daya tp.3, tn.3, bp.3, dan bn.3.

Kesalahan validasi

PesanPenyebab
JSON tidak validTeksnya bukan JSON yang valid. Periksa koma dan tanda kutip.
Harus berisi "parts" dan "wires" berupa arraySalah satu array tidak ada.
parts[n]: "id" wajib diisiAda komponen tanpa ID.
parts[n]: jenis komponen tidak dikenaltype bukan komponen Circzy.
parts[n]: id dipakai lebih dari sekaliDua komponen memakai ID yang sama.
parts[n]: proyek ini memakai …Ada board dengan jenis lain yang ditambahkan.
Diagram harus berisi …Board milik proyek tidak ada.
wires[n]: pin tidak ditemukanKabel merujuk ke komponen atau pin yang tidak ada.
wires[n]: harus berisi "id", "from", dan "to"Ada kabel yang tidak memiliki salah satu kolom wajibnya.
wires[n]: id dipakai lebih dari sekaliDua kabel memakai ID yang sama.
wires[n]: titik tekukan harus berisi x dan yAda titik di points yang tidak lengkap.

Siap mencoba?

Masuk dengan Google, pilih board, dan jalankan simulasi pertamamu dalam dua menit. Gratis selama masa peluncuran.

Mulai simulasi gratis