OpenCircuit 3D← Torna al laboratorio
LEARNING GUIDE / v3.2

Dal codice al circuito, senza scatole nere.

Questa guida spiega cosa succede quando avvii un preset, quali linguaggi e motori vengono usati e perché esistono due modalità di esecuzione.

Come usare i preset interattivi

01 / LOADScegli un preset dal menu Project.
02 / RUNIl preset parte automaticamente; puoi riavviarlo da Result.
03 / INTERACTTieni premuto il pulsante o muovi gli slider di sensore e potenziometro.
04 / OBSERVEConfronta il risultato, la scena 3D, la console e il codice.
Nella scena 3D il pulsante tattile è momentaneo: resta chiuso finché tieni premuto. La sorgente logica, invece, cambia stabilmente tra LOW e HIGH con un clic. Cliccando un LCD o OLED apri il pannello Result; cliccando il display ingrandito ottieni una vista ancora più leggibile.

Linguaggi e tecnologie: cosa fanno e perché

Arduino C/C++ — il codice del progetto

È il linguaggio mostrato nell’editor: setup(), loop(), digitalWrite() e analogRead(). È usato perché gli esempi restano vicini a quelli che porteresti su una scheda Arduino reale.

JavaScript — l’applicazione nel browser

Gestisce interfaccia, scena 3D, input, salvataggio locale e runtime rapido. È usato perché gira direttamente nel browser senza installazione e collega in tempo reale codice, circuito e risultato.

WebGL + Three.js — il laboratorio 3D

WebGL usa la GPU del dispositivo; Three.js fornisce camera, luci, geometrie, selezione e trasformazioni. Insieme rendono componenti e segnali visibili e manipolabili.

WebAssembly — strumenti complessi nel browser

WASM permette di eseguire tool compilati con prestazioni prevedibili. Qui viene caricato su richiesta per AVR-GCC e ngspice, evitando di inviare il tuo sorgente a un server.

AVR8js + Intel HEX — emulazione Uno/Nano

In modalità AVR, il C++ viene compilato in firmware Intel HEX e poi eseguito su una CPU ATmega328P simulata. È più fedele al firmware reale, ma più pesante da caricare.

SPICE / ngspice — analisi elettrica

SPICE descrive il circuito come netlist e risolve tensioni e correnti. È utile per l’analisi elettrica tradizionale; il runtime Arduino serve invece per il comportamento interattivo del firmware.

Fast Arduino o AVR8js?

Fast Arduino

Sceglilo per imparare, modificare preset e vedere subito LED, display, sensori e servo. Traduce un sottoinsieme pratico della sintassi Arduino in esecuzione locale veloce.

AVR8js / HEX

Sceglilo quando vuoi verificare firmware compilato per ATmega328P. Il primo caricamento del compilatore è più grande e la modalità è disponibile per Uno e Nano.

Cosa rappresenta bene — e cosa no

OpenCircuit 3D è un ambiente didattico e di prototipazione. Collegamenti, GPIO, segnali di base, strumenti virtuali e molti comportamenti sono immediati da esplorare. Transistor, MOSFET, NE555, Mega, ESP32 e Pico includono però modelli semplificati: non sostituiscono datasheet, tolleranze, simulazioni specialistiche o misure su banco.

Documentazione ufficiale