Arduino UNO SMD - alle 8 analog IN nutzbar?

Hallo, weiss jemand, ob man beim Uno SMD auch die analogen Inputs 6 und 7, die ja nicht rausgeführt sind, nutzen kann? Oder läßt das der Compiler nicht zu, diese zu benutzen? Mein Problem ist, ich benötige 6 analoge Inputs und möchte ein I2C Display ansteuern, was ja 2 von den 8 davon belegt...

Da die Referenz-Schaltung die herausgeführten analogen Eingängen 4 und 5 für den I2C doppelt auf Stiftleisten legt, anstatt die verbleibenden Eingänge 6 und 7 auf die Stiftleiste mit den analogen Eingängen zu legen und 4 und 5 auf die andere Seite, liegt die Vermutung nahe, dass man 6 und 7 gar nicht benutzen kann.

Kann das jemand bestätigen oder verneinen?

Nein, ADC6 und ADC7 werden beim Uno R3 SMD nicht herausgeführt. Anlöten so nicht möglich.

Was für dich interessant sein könnte wäre der MAX127. Den kannst du ebenfalls über I2C ansprechen.

Mit Leiterbahnen durchtrennen und feinen Lötarbeiten ist es schon möglich die Pins umzumappen. Warum nimmst Du aber nicht einen Arduino Nano, Leonardo/Micro oder Mega?
Grüße Uwe

Hallo Uwe,

mit Leiterbahn auftrennen wird das noch nichts. ADC6/7 liegen nur auf dem Solderpad auf, keine Leiterbahn weggehen vom Bauteil. Da sind andere Boards oder ein zusätzliches IC sinnvoller.

sschultewolter:
Hallo Uwe,

mit Leiterbahn auftrennen wird das noch nichts. ADC6/7 liegen nur auf dem Solderpad auf, keine Leiterbahn weggehen vom Bauteil. Da sind andere Boards oder ein zusätzliches IC sinnvoller.

Es ist möglich es zu machen. Man muß schon gut löten können weil man 2 Drähte an die Füßchen des SMD Atmega's löten muß, aber es ist machbar.

Ich stimme Dir zu daß ein anderes Arduino-Model einfacher ist.
Grüße Uwe

Hallo,

bei der hier gezeigten SMD-Variante werden die Beinchen auf kleine Kontaktflächen herausgeführt: ArduinoBoardUno

Das Anlöten dürfte bei der Board-Variante nicht hoffnungslos sein, aber es wäre deutlich einfacher ein anderes Board zu nehmen.

Es gibt auch Arduino-Uno-Klone, die richtige Lötstellen für A6 und A7 bieten z.B.: Visduino.

Detailansicht (Unterhalb von Pin 10&11)

Also auf meinem sind die Pads noch nicht. Weiß jetzt aber nicht, ob ich R3 oder vielleicht doch R2 hab. Die Pads selber sind mir nur vom Leonardo bekannt.

Wenn Uwe nun auch die Pads meint, verstehe ich, wieso es lötbar wäre.

Du hast ja auch ein 324 und kein 328, oder?

skorpi08:
Du hast ja auch ein 324 und kein 328, oder?

Meinst mich? Nein es ist ein 328P.
http://arduino.cc/en/pmwiki.php?n=Main/ArduinoBoardUnoSMD
Jedoch hat der schon einen 16U2 und nicht einen 8U2 onBoard.

@sschultewolter
Ok die sind wirklich klein. Es gibt aber auch die SMD Gehäuse wie auf dem Mini oder Nano montiert. da kann man löten. Eine Ältere Version des Arduino UNO SMD ist diese:

Grüße Uwe

:cold_sweat: Dann wäre das geklärt mit dem anlöten :wink:

An TQFN etwas anzulöten ist noch machbar. Vermutlich sind diese Pads für den TQFN gedacht gewesen, da dieser bei einer Reperatur doch deutlich einfacher zu bekommen ist.

Also erst mal vielen Dank für die rege Beteiligung, was aber meine Frage immer noch nicht beantwortet... Es ist ja nett, Löthinweise zu erhalten, aber darum geht es nicht. Ich baue alle Prototypen von Hand in SMD, bis runter zu 0,5 mm pin pitch ist das machbar. Aber es ging bei meiner Frage ausschliesslich darum, ob ich die beiden unbenutzten analogen Eingänge softwareseitig ansprechen kann, ich fragte ob der Compiler das kann und NICHT, ob man da Drähtchen anlöten kann... Sorry aber es sieht ganz so aus, als haben die meisten meine Frage nicht gelesen, aber fleissig drauflosgeantwortet :slight_smile:

Aber danke an uwefed, er gab mit der Erwähnung des Nano wohl den richtigen Hinweis: beim Nano sind alle analogen Ports rausgeführt. Also kann ich diese wohl auch nutzen. Ich möchte beim Atmega328P bleiben und der ist problemlos mit Bootloader zu haben, auch die SMD Version. Das war der eigentliche Grund, warum ich beim Uno hängen geblieben bin - die einfache Verfügbarkeit der vorprogrammierten ICs. Ich spreche wohlgemerkt NIE von den Protoboards, ich rede nur vom Prozessor.

Nur habe ich auch gelesen, dass Leute versucht haben, die analogen IN 6 und 7 auszulesen und das eben nicht ging, zumindest nicht mit dem Uno. Aber ich vermute, das waren ältere Beiträge und seit es den Nano mit dem 328p gibt, sollte das Problem vom Tisch sein und die neueren Arduino Software Versionen auch diese beiden Pins ansprechen können. Wozu wären sonst beim Nano die beiden fraglichen Pins rausgeführt!

volkerforster:
Aber es ging bei meiner Frage ausschliesslich darum, ob ich die beiden unbenutzten analogen Eingänge softwareseitig ansprechen kann, ich fragte ob der Compiler das kann und NICHT, ob man da Drähtchen anlöten kann...

Natürlich kann der Compiler "Programme aller Art" erstellen, dem ist das doch völlig schnurzegal was Du programmierst!

Allerdings kannst Du bei Deinem Vorhaben nicht mit der Unterstützung der Arduino Core-Library rechnen, ohne dass Du diese Library vorher umschreibst. Insbesondere steht Dir dann für die beiden zusätzlichen Analogeingänge die Funktion "analogRead" NICHT zur Verfügung.

Sondern Du mußt den ADC des Controllers selbstverständlich mit "direkter Registerprogrammierung" ansprechen anstelle von "analogRead". Oder alternativ die Arduino Core-Library vorher ändern, so dass diese dann auch A6 und A7 als ADC-Pins unterstützt.

Danke jurs. Also gibt es Unterschiede in Bootloader und/oder Programmcode zwischen Uno und Nano, ja? Denn beim Nano sollten die Anschlüsse ja ansprechbar sein, immerhin sind diese ja rausgeführt. Beide nutzen aber den 328p, was für mich recht wichtig ist. Weist Du mehr über die Unterschiede zwischen Uno und Nano? Ich spreche wohlgemerkt NUR über die Programmierung der Chips (bootloader und code), nicht über die Unterschiede der Boards, auf denen sie verlötet sind.

Oder reicht es, wenn ich einen 328p mit vorprogrammiertem Bootloader kaufe, diesen als Nano zu deklarieren, anstatt als Uno R3, wenn ich ihn programmiere? Ich habe leider nicht rausfinden können, ob jede Variante ihren eigenen Bootloader besitzt und weiss daher nicht, wie weit die Unterschiede zwischen beiden Atmega328p Versionen gehen - Uno oder Nano.

Hier habe ich die gesuchte Antwort bekommen:

http://forum.arduino.cc/index.php?topic=277394.0

Die aktuelle Software unterstützt die analogen IN 6 und 7.

Wenn ich mir wiring_analog.c ansehe, sollte das auch so gehen:

ADMUX = (analog_reference << 6) | (pin & 0x07);

Was durch das & 0x07 nicht geht ist so den internen Temperatur Sensor zu messen (Kanal 8 auf dem Atmega328 ) oder die Bandabstandsreferenz (Kanal 14). Aber Kanal 0-7 - die unteren 3 Bits - geht.

volkerforster:
Also erst mal vielen Dank für die rege Beteiligung, was aber meine Frage immer noch nicht beantwortet... Es ist ja nett, Löthinweise zu erhalten, aber darum geht es nicht.

Für mich ist es aber eine Antwort auf deine Frage.

Der Bootloader für den Nano ist ein anderer als für den Uno. Schau dir mal unter arduino\hardware\arduino\board.txt

Der Uno nutzt einen 16U2, der Nano soweit ich weiß (habe selber keinen) einen FTDI.

Interessant in der board.txt wäre folgender Eintrag
nano328.build.variant=eightanaloginputs

Könnte vielleicht jemand mal testen, ob es ausreicht, im Sketch
oben
"#undef NUM_ANALOG_INPUTS
#define NUM_ANALOG_INPUTS 8"
einzufügen

Der NANO ist die kleine Version des Arduino 2009. Die hatten eine FT232 USB Interface. Der UNO hat einen programmierten Controller für diese Aufgabe.
Grüße Uwe

volkerforster:
Hier habe ich die gesuchte Antwort bekommen:

unused analog IN ports supported by current software version? - Programming Questions - Arduino Forum

Die aktuelle Software unterstützt die analogen IN 6 und 7.

Eine Antwort in deinem Sinn, und du glaubst sie.....
Interessante Taktik!

Ich will damit nicht sagen, dass sie falsch ist, die Antwort, ...
Aber die Taktik halte ich für bedenklich.
Solange fragen und bohren, bis man das hört, was man hören will und dann ungeprüft glauben.

Ich glaube, so sind schon Kriege entstanden (und verloren worden) ....

Einem "global moderator" mit mehr als 27.000 Postings bin ich durchaus bereit einiges Vertrauen zu schenken.

Und NUN bin ich bereit es zu prüfen. Aber mit einem generellen "nein, es geht nicht" würde ich mir die Arbeit und Zeit sparen, nicht stundenlang herumexperimentieren und gleich über eine andere Lösung nachdenken. Dafür sind solche Foren da, um Erfahrungen und Wissen auszutauschen.