Die Abbildung wird geladen …
Das Gehirn des Uno auf einem Board in der Größe eines Kaugummistreifens, gemacht zum Einstecken in ein Steckbrett.
Jede Lektion führt deinen eigenen Code auf dem Board aus. Besteh ihre Prüfungen, um sie abzuhaken.
Bau das Board in der richtigen Reihenfolge, schalte es dann ein und prüf es, wie auf der Werkbank.
0 von 9 SchrittenArbeite nie an einem Board unter Spannung. Zieh das USB-Kabel und alles an VIN oder 5V ab, bevor du ein Bauteil anfasst.
Jeder Fehler passiert in der Simulation wirklich. Lös einen aus, beobachte die Abbildung und lies dann, warum.
Das Nano (A000005, Revision 3.3) hat denselben ATmega328P mit 16 MHz und 5-V-Logik wie das Uno, auf einer Platine von 43,18 × 17,78 mm mit zwei Reihen zu 15 Pins im Abstand von 0,6 Zoll, sodass es die Mitte eines Steckbretts überbrückt. USB kommt über eine Mini-B-Buchse herein und geht durch einen USB-Seriell-Chip FTDI FT232RNL, der den 328P auch für Uploads zurücksetzt. Du bekommst 14 digitale Pins (6 mit PWM), 8 analoge Eingänge (A6 und A7 nur analog), 32 KB Flash, von denen 30 720 Bytes für deinen Sketch frei sind, 2 KB RAM und 1 KB EEPROM. Eine Hohlbuchse gibt es nicht: Versorge es über USB, mit 7-12 V an VIN oder mit geregelten 5 V am 5V-Pin.
| Leiste | Pin | Name | Funktionen | Pegel | Max. Strom | Hinweise |
|---|---|---|---|---|---|---|
| J1 | 1 | TX1 | D1, TXD, PCINT17 | 5 V | 20 mA | Serielles TX. Geht außerdem über einen 1-kΩ-Widerstand an den FT232, also sieht der serielle Monitor alles, was hier gesendet wird. |
| J1 | 2 | RX0 | D0, RXD, PCINT16 | 5 V | 20 mA | Serielles RX, vom FT232 über 1 kΩ getrieben. Alles, was hier angeschlossen ist (ein Bluetooth- oder GPS-Modul), kann Uploads blockieren. |
| J1 | 3 | RST | RESET (active low), PCINT14 | 5 V | – | RESET, aktiv LOW, mit einem 1-kΩ-Pull-up auf 5 V. Dasselbe Netz wie der andere RST-Pin und der RESET-Taster. |
| J1 | 4 | GND | GND | – | – | |
| J1 | 5 | D2 | INT0, PCINT18 | 5 V | 20 mA | |
| J1 | 6 | D3 | PWM OC2B (490 Hz), INT1, PCINT19 | 5 V | 20 mA | PWM von Timer2. tone() nutzt ebenfalls Timer2, stoppt also die PWM an D3 und D11. |
| J1 | 7 | D4 | T0, XCK, PCINT20 | 5 V | 20 mA | |
| J1 | 8 | D5 | PWM OC0B (977 Hz), T1, PCINT21 | 5 V | 20 mA | PWM von Timer0 mit 977 Hz. Timer0 zählt auch millis(), also lass seine Einstellungen in Ruhe. |
| J1 | 9 | D6 | PWM OC0A (977 Hz), AIN0, PCINT22 | 5 V | 20 mA | PWM von Timer0 mit 977 Hz. |
| J1 | 10 | D7 | AIN1, PCINT23 | 5 V | 20 mA | |
| J1 | 11 | D8 | ICP1, CLKO, PCINT0 | 5 V | 20 mA | |
| J1 | 12 | D9 | PWM OC1A (490 Hz), PCINT1 | 5 V | 20 mA | PWM von Timer1 mit 490 Hz. Die Servo-Bibliothek nimmt Timer1, was die PWM an D9 und D10 stoppt. |
| J1 | 13 | D10 | PWM OC1B (490 Hz), SPI SS, PCINT2 | 5 V | 20 mA | PWM von Timer1. Als SPI SS muss er ein Ausgang bleiben, solange das Nano der SPI-Controller ist. |
| J1 | 14 | D11 | PWM OC2A (490 Hz), SPI MOSI (COPI), PCINT3 | 5 V | 20 mA | PWM von Timer2 und SPI MOSI (COPI). Liegt auch auf ICSP-Pad 4. |
| J1 | 15 | D12 | SPI MISO (CIPO), PCINT4 | 5 V | 20 mA | |
| J2 | 1 | VIN | LDO input, 7-12 V | – | – | Eingang des 5-V-Reglers: 7-12 V, absolutes Maximum 15 V. Kein Verpolungsschutz. |
| J2 | 2 | GND | GND | – | – | |
| J2 | 3 | RST | RESET (active low) | 5 V | – | Dasselbe RESET-Netz wie J1 Pin 3. |
| J2 | 4 | 5V | +5V rail, in or out | 5 V | – | Die 5-V-Schiene: ein Ausgang an USB (etwa 4,65 V) oder VIN (5,0 V), oder ein Eingang für geregelte 5 V. |
| J2 | 5 | A7 | ADC7, Nur Eingang | 5 V | – | Nur analoger Eingang (ADC7): kein digitales I/O und kein Pull-up, also funktioniert digitalRead(A7) nicht. |
| J2 | 6 | A6 | ADC6, Nur Eingang | 5 V | – | Nur analoger Eingang (ADC6): kein digitales I/O und kein Pull-up, also funktioniert digitalRead(A6) nicht. |
| J2 | 7 | A5 | ADC5, I2C SCL, D19, PCINT13 | 5 V | 20 mA | I2C SCL für die Wire-Bibliothek. Auf dem Board gibt es keine I2C-Pull-ups; die meisten Module bringen eigene mit. |
| J2 | 8 | A4 | ADC4, I2C SDA, D18, PCINT12 | 5 V | 20 mA | I2C SDA für die Wire-Bibliothek. |
| J2 | 9 | A3 | ADC3, D17, PCINT11 | 5 V | 20 mA | |
| J2 | 10 | A2 | ADC2, D16, PCINT10 | 5 V | 20 mA | |
| J2 | 11 | A1 | ADC1, D15, PCINT9 | 5 V | 20 mA | |
| J2 | 12 | A0 | ADC0, D14, PCINT8 | 5 V | 20 mA | |
| J2 | 13 | REF | AREF, ADC reference | 5 V | – | ADC-Referenz, auf dem Board mit 100 nF entkoppelt. Speise hier nie eine Spannung ein, solange analogReference(DEFAULT) aktiv ist. |
| J2 | 14 | 3.3V | 3.3 V out from the FT232 (50 mA) | 3,3 V | 50 mA | 3,3 V Ausgang vom FT232, höchstens 50 mA. Speise hier nie 5 V ein. |
| J2 | 15 | D13 | SPI SCK, LED L, PCINT5 | 5 V | 20 mA | Treibt die L-LED über 1 kΩ (etwa 3 mA), ohne Puffer. Wegen dieser Last liest INPUT_PULLUP an D13 nicht zuverlässig HIGH. Außerdem SPI SCK, also flackert L bei SPI-Übertragungen. |
| J4 | 1 | MISO | D12, SPI MISO | 5 V | – | ICSP-Pad. Die sechs Pads sind beim Nano unbestückt: Drück die Federstifte eines Programmers oder eine Stiftleiste darauf, um den Bootloader zu brennen. |
| J4 | 2 | 5V | +5V | 5 V | – | ICSP-Pad. Die sechs Pads sind beim Nano unbestückt: Drück die Federstifte eines Programmers oder eine Stiftleiste darauf, um den Bootloader zu brennen. |
| J4 | 3 | SCK | D13, SPI SCK | 5 V | – | ICSP-Pad. Die sechs Pads sind beim Nano unbestückt: Drück die Federstifte eines Programmers oder eine Stiftleiste darauf, um den Bootloader zu brennen. |
| J4 | 4 | MOSI | D11, SPI MOSI | 5 V | – | ICSP-Pad. Die sechs Pads sind beim Nano unbestückt: Drück die Federstifte eines Programmers oder eine Stiftleiste darauf, um den Bootloader zu brennen. |
| J4 | 5 | RESET | RESET (active low) | 5 V | – | ICSP-Pad. Die sechs Pads sind beim Nano unbestückt: Drück die Federstifte eines Programmers oder eine Stiftleiste darauf, um den Bootloader zu brennen. |
| J4 | 6 | GND | GND | – | – | ICSP-Pad. Die sechs Pads sind beim Nano unbestückt: Drück die Federstifte eines Programmers oder eine Stiftleiste darauf, um den Bootloader zu brennen. |
Sensoren und Aktoren, die dieses Board ansteuert, mit den echten Verbindungen.
Eine 5-mm-LED an einem PWM-Pin über einen 220-Ω-Widerstand: etwa 12 mA an USB, hell und sicher.
| Bauteil-Pin | Board-Pin |
|---|---|
| A | D9Kabelfarbe orange |
| K | GNDKabelfarbe schwarz |
Niemals ohne den Widerstand: Eine LED direkt an einem Pin zieht weit mehr als das Maximum von 40 mA und tötet den Pin oder die LED.
Zwischen D2 und GND mit pinMode(2, INPUT_PULLUP): Gedrückt liest LOW, kein Widerstand nötig. D2 ist außerdem der Interrupt INT0.
| Bauteil-Pin | Board-Pin |
|---|---|
| 1 | D2Kabelfarbe blau |
| 3 | GNDKabelfarbe schwarz |
Ein 10-kΩ-Drehknopf als Spannungsteiler: Enden an GND und 5V, Schleifer an A0. analogRead liefert 0-1023.
| Bauteil-Pin | Board-Pin |
|---|---|
| 1 | GNDKabelfarbe schwarz |
| 2 | A0Kabelfarbe gelb |
| 3 | 5VKabelfarbe rot |
Ein Fotowiderstand von 5V nach A0 plus ein 10-kΩ-Widerstand von A0 nach GND: mehr Licht, höherer Messwert.
| Bauteil-Pin | Board-Pin |
|---|---|
| 1 | 5VKabelfarbe rot |
| 2 | A0Kabelfarbe gelb |
Analoger Temperatursensor: 0,5 V bei 0 °C plus 10 mV pro °C. Lies ihn an A1 und halt die Leitungen kurz.
| Bauteil-Pin | Board-Pin |
|---|---|
| +Vs | 5VKabelfarbe rot |
| Vout | A1Kabelfarbe gelb |
| GND | GNDKabelfarbe schwarz |
Ein passiver Summer an D8 spielt tone(8, 440).
| Bauteil-Pin | Board-Pin |
|---|---|
| + | D8Kabelfarbe orange |
| − | GNDKabelfarbe schwarz |
tone() nimmt Timer2, also stoppt die PWM an D3 und D11, solange ein Ton spielt.
Signal an D9 mit der Servo-Bibliothek (sie nimmt Timer1, also stoppt auch die PWM an D10).
| Bauteil-Pin | Board-Pin |
|---|---|
| SIG | D9Kabelfarbe orange |
| GND | GNDKabelfarbe braun |
Versorg den roten Draht aus einer eigenen 5-V-Quelle, deren GND mit dem GND des Nano verbunden ist. Ein blockierender Servo zieht etwa 1 A, was das Nano an USB per Brown-out zurücksetzt und die Polyfuse auslöst.
Ultraschall-Abstandssensor, 5 V: Trig an D9, Echo an D10, Entfernung = Echo-µs / 58 cm. Ein 5-V-Board braucht für sein Echo keinen Pegelwandler.
| Bauteil-Pin | Board-Pin |
|---|---|
| VCC | 5VKabelfarbe rot |
| Trig | D9Kabelfarbe gelb |
| Echo | D10Kabelfarbe grün |
| GND | GNDKabelfarbe schwarz |
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.