Die Abbildung wird geladen …
Gestoppt · Dein Code läuft noch nicht. Bis du auf „Ausführen“ drückst, läuft das Programm, das schon auf dem Board ist.
Noch nichts ausgegeben. Drück auf „Ausführen“.
Noch nicht geprüft
Führ deinen Code aus, um ihn zu prüfen. Die Prüfungen spielen ein festes Skript auf einer virtuellen Uhr ab, deshalb bekommt derselbe Code immer dasselbe Ergebnis.
Jeder Fehler passiert in der Simulation wirklich. Lös einen aus, beobachte die Abbildung und lies dann, warum.
Spiel die Welt: Drück, schieb und dreh die Bauteile, während der Code läuft.
Ändere hier einen Wert oder klick im Code auf einen Chip.
I2C ist ein Bus mit zwei Drähten: SDA an A4 trägt die Daten, SCL an A5 den Takt, und jedes Gerät hat eine Adresse. Durchsuch den Bus, find den MPU-6050 auf 0x68 und frag ihn dann, wer er ist.
| Pin | Verbunden mit | Aufgabe |
|---|---|---|
A4 | SDA | I2C-Daten. |
A5 | SCL | I2C-Takt. |
5V | VCC | Versorgt das Breakout. |
GND | GND | Gemeinsame Masse. |
Sensoren und Aktoren, die dieses Board ansteuert, mit den echten Verbindungen.
GY-521-Breakout mit einem MPU-6050 auf der I2C-Adresse 0x68 (0x69, wenn AD0 HIGH ist). Sein eigener Regler lässt es an 5V laufen; SDA geht an A4 und SCL an A5.
| Bauteil-Pin | Board-Pin |
|---|---|
| VCC | 5VKabelfarbe rot |
| GND | GNDKabelfarbe schwarz |
| SCL | A5Kabelfarbe gelb |
| SDA | A4Kabelfarbe blau |
Der Chip selbst ist ein 3,3-V-Chip. Das Breakout zieht SDA und SCL auf seine 3,3 V hoch, und Wire.begin() schaltet zusätzlich die schwachen Pull-ups des 328P auf 5 V ein, also liegt der Bus in Ruhe etwas über 3,3 V. In der Praxis funktioniert das; ein Pegelwandler ist die saubere Lösung.
0,96-Zoll-OLED mit 128 × 64 auf der I2C-Adresse 0x3C, an A4 (SDA) und A5 (SCL).
| Bauteil-Pin | Board-Pin |
|---|---|
| GND | GNDKabelfarbe schwarz |
| VCC | 5VKabelfarbe rot |
| SCL | A5Kabelfarbe gelb |
| SDA | A4Kabelfarbe blau |
Lies die Pin-Reihenfolge auf dem Aufdruck: Manche Module haben GND VCC, andere VCC GND, und vertauscht stirbt das Display. Sein Bildspeicher von 1 KB belegt die Hälfte des RAM im Nano, also halt Text mit F("...") im Flash.