Forum: Mikrocontroller und Digitale Elektronik dumme Frage zum Arduino Nano


von Frank (Gast)


Lesenswert?

Welche Pins kann ich uneingeschränkt für digitale Eingaben 
beschalten/benutzen, wenn ich den Arduino Nano weiterhin per USB mit dem 
PC verbinden will (zum Lesen der Pin-Stati) und über USB programmieren?

Ich weiss, dass manche Pins doppelt benutzt werden oder quasi voorbelegt 
sind und deshalb nicht uneingeschränkt zur Verfügung stehen, z.B. Pin 13 
mit der gelben LED und ein Pin, dessen Nummer ich jetzt nicht weiss, da 
hängt eine blaue LED dran, die mit "PWR" beschriftet ist ... Danke für 
Hilfe.

von Frank (Gast)


Lesenswert?

Manchmal sieht man den Wald vor lauter Bäumen nicht ... PWR steht wohl 
für Power und belegt damit sicher keinen IO-Pin ... ts ts ts ...

von W.A. (Gast)


Lesenswert?

Du könntest z.B. in den Schaltplan gucken. Da siehst du genau, was wo 
dran hängt.
http://arduino.cc/en/Main/arduinoBoardNano

von Janoschik (Gast)


Lesenswert?

nur RX (D0) und TX (D1) sind auf USB über den FTDI belegt. Außer zum 
Aufspielen von Programmen, kann man sie auch noch zur Kommunikation mit 
einem PC benutzen. Wenn es eng wird sind sie aber auch für andere Zwecke 
zu nutzen. Grundsätzlich sin alle mit D gekennzeichneten Anschlüsse 
digitale Ein- oder Ausgänge. Alle mit A gekennzeichneten Anschlüsse 
können als analoge Eingänge verwendet warden.
D3 D5 D6 D9 D10 und D11 können als Pulsweiten modulierte Ausgänge 
programmiert warden. Interrupts werden auf den Eingang D2 und D3 gelegt.
Die LED an D13 kannst Du ebenfalls ignorieren sie dient nur ersten 
Testzwecken. Die Power LED belegt keinen Ein- oder Ausgang, sie zeigt 
nur an, das das System mit Energie versorgt ist.
Findet man aber alles wesentlich detailierter im Internet.

Gruß

Janoschik

von Frank (Gast)


Lesenswert?

Ja, danke ... es geht voran!

Allerdings gibts da eine Merkwürdigkeit. Während die Definition der 
A-Anschlüsse über Variablennamen funktioniert, z.B.:

int prnt = A0;

um das dann später so zu nutzen:

void setup()
{
  pinMode(prnt, INPUT);  digitalWrite(prnt,HIGH);
}

Bekomme ich bei der Definition von D-Anschlüssen eine Fehlermeldung:

int test = D6;

"D6 was not declared in this scope"

Kann mir jemand sagen warum das so ist? D6 ist doch ein ganz nirmaler, 
existierender Anschluss ... ?

von Dirk K. (dekoepi)


Lesenswert?

Ehrlich jetzt, du guckst nicht mal in andere Programme oder in die 
Hilfe? Das ginge viel schneller und würde dir diese entlarvende Frage 
ersparen.

Eine grobe Idee liefet schon dieser Mini-Artikel:
http://arduino.cc/en/Tutorial/AnalogInputPins

Da werden die Digital Pins 0-13 erwähnt. Da gibt es auch einen 
Mini-Artikel:
http://arduino.cc/en/Tutorial/DigitalPins

Vielleicht meint Pin ja so etwas wie 0-13, und nicht D0-D13. Nur so eine 
Idee, die man anhand anderer Programme verifizieren könnte (das 
Blinky-Beispiel mit "LED=13" ist da sehr verdächtig). Oder einfach 
probieren. Oder zurück an das Arduino Cookbook, zumindest erste 
Grundlagen einlesen.

von Frank (Gast)


Lesenswert?

Dirk K. schrieb:
> Ehrlich jetzt, du guckst nicht mal in andere Programme oder in die
> Hilfe? Das ginge viel schneller und würde dir diese entlarvende Frage
> ersparen.

Klar, kann ich durchprobieren. Ganz so einfach und logisch ist die 
Benennung der Pins aber nicht.

Z.B. "A0" funktioniert ja im Compiler. Es funktiniert aber auch die 
"14", für exakt den gleichen Pin - was weder etwas mit der physischen 
Pin-Posintion zu tun hat noch sons irgendwie logisch erscheint ...

von Dirk K. (dekoepi)


Lesenswert?

Naja, die Arduino-Lib ist ja nicht für Logiker gemacht, sondern für 
Künstler, die irgendwie Lampen-Bling-Bling und kapazitative Taster für 
futuristisch anmutende Musikinstrumente bauen wollen.

Daher ist die Hilfe/Doku zu Arduino-GUI Pflicht, wenn man das benutzen 
will. Es vereinfacht ja vieles, etwa die ADC-Nutzung.

Sonst mach' es richtig, installiere dir AVR-GCC, Eclipse, die nötigen 
Plug-ins und avrdude und programmiere den Arduino Nano als ATmega328, 
mit Datenblatt im Hintergrund. Kommt auch viel effzienterer Code bei 
raus. Man muss sich nur trauen, ins kalte Wasser zu springen und eine 
steile Lernkurve vor sich zu haben.

Mir ging die Arduino-Lib nach drei Tagen so auf den Keks, dass ich 
diesen Schritt vollzogen habe. Arduino-GUI/Lib kommt jetzt nur für ganz 
schnelle Sensor-Tests zum Einsatz, wenn etwas in weniger als einer 
halben Stunde von der Idee bis zur Umsetzung brauchen soll.

: Bearbeitet durch User
von Ulrich F. (Gast)


Lesenswert?

Frank schrieb:
> Z.B. "A0" funktioniert ja im Compiler. Es funktiniert aber auch die
> "14", für exakt den gleichen Pin - was weder etwas mit der physischen
> Pin-Posintion zu tun hat noch sons irgendwie logisch erscheint ...

Schau mal in deine
X:\Programme\Arduino\hardware\arduino\avr\variants\standard\pins_arduino 
.h
Dort findest du die Deklaration.

Das kannst du dann akzeptieren, ändern, oder dir eine andere 
Programmierumgebung suchen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.