Forum: Mikrocontroller und Digitale Elektronik Sensoren an Arduino anschließen


von Zaus (Gast)


Lesenswert?

Hallo
Zuerst einmal muss ich sagen dass ich im Bezug auf µC und Elektronik 
absoluter Neuling bin.
Ich habe mir eine Arduino Uno gekauft und möchte damit jetzt 
verschiedene Sensoren auslesen. Die Softwareseite möchte ich erstmal 
außen vor lassen weil ich schon mit der Hardware meine Schwierigkeiten 
habe.
Am besten ist es doch ich baue mir die Sensoren usw. auf eine 
Lochrasterplatine auf? Jetzt wollte ich erstmal fragen was für Bauteile 
ich nehme um einfach die Versorgungsspannung nach dem Spannungsregler 
und GND für alle Sensoren zur Verfügung zu stellen. Ebenfalls will ich 
die 12V des Netzteils vor dem Spannungsregler zur Verfügung stellen um 
später 12V Teilnehmer zu schalten.
Danke für eure Hilfe

von Daniel B. (dbuergin)


Lesenswert?

Hallo

Ich kann Dir nur dieses Buch empfehlen:
http://www.amazon.de/Arduino-Ein-schneller-Einstieg-Microcontroller-Entwicklung/dp/3898647641/ref=sr_1_8?ie=UTF8&qid=1327497961&sr=8-8

Habe selbiges mit einem Arudino Starterkit einem Bekannten geschenkt,
der praktisch keine Kenntnisse über HW/SW von Mikrocontrollern hatte.
Ist bis jetzt super damit klar gekommen.

Gruss

Daniel

von Zaus (Gast)


Lesenswert?

Die Sache ist halt, dass ich weder die Arduino IDE nutzen möchte noch 
die Arduino lib sondern avr-gcc in AVR-Studio programmiere. Somit wären 
sicher schon einige Kapitel des Buches nutzlos.
Ist es vielleicht besser zum testen alles erstmal auf dem Breadboard 
aufzubauen und sich dann am Ende des Projekts einen Schaltplan und die 
Platine zu erstellen?

von Mike J. (linuxmint_user)


Lesenswert?

Hallo Zaus (Gast),

du musst dich aber mal anmelden, dann kann man dir auch mal per Mail 
helfen und dein Gegenüber weiß dass du es immer bist und kein anderer 
der den gleichen Namen nutzt.

Du hast alles auf dieser Seite:
http://arduino.cc/en/Main/arduinoBoardUno

Da gibt es eine Schematic: arduino-uno-Rev3-schematic.pdf
(also du siehst welche Leitung wo hin läuft)

Das Datenblatt ist auch schon da: ATmega328 (datasheet)

Ich nutze Eclipse mit dem AVR-Plugin, du kannst aber auch das AVR-Studio 
nutzen mit WinAVR.

Zaus schrieb:
> Jetzt wollte ich erstmal fragen was für Bauteile
> ich nehme um einfach die Versorgungsspannung nach dem Spannungsregler
> und GND für alle Sensoren zur Verfügung zu stellen.

Ja, also das sind dann wohl Kabel ...

Sag mal genauer was du machen möchtest, wenn du externe Geräte (LM35, 
NTC, Lichtsensor ...) an das AVR Board schließe möchtest musst du schon 
eine eigene (Lochraster) Platine erstellen.

Wenn ich mehrere Platinen habe verwende ich eine kleine Holzplatte auf 
der ich dann die einzelnen Platinen mit etwas Heißkleber fixiere.
Der Vorteil dabei ist dass sich dort nichts bewegt und man die Platinen 
nicht auf den Tisch legen muss.


Zaus schrieb:
> Ist es vielleicht besser zum testen alles erstmal auf dem Breadboard
> aufzubauen und sich dann am Ende des Projekts einen Schaltplan und die
> Platine zu erstellen?

Ja das macht man üblicherweise so, wenn du kein Breadboard hast kannst 
du es mit Lochraster (Punkt oder Streifen) probieren, man kann es aber 
auch frei schwebend machen oder es gibt da noch die dead-bug-Methode.

Die Spannung für das Erweiterungsboard kannst du doch gleich von dem 
"Power"-Header auf der Arduino Platine nehmen, die 12V musst du dir dann 
eben mit einem Kabel vom Eingangsstecker abzweigen.

von Zaus (Gast)


Lesenswert?

Vielen Dank erstmal für die ausführliche Antwort. Werde mich später mal 
anmelden.

Also mit dem Verteilen der Spannung meinte ich ein Bauteil das ich auf 
die Lochrasterplatine löte und das mir dann einfach oben an mehreren 
Stellen die angeschlossene Spannung zur Verfügung stellt ähnlich wie bei 
Breadboards wo dann die Spannung und GND ja auch über die ganze 'Linie' 
zur Verfügung stehen so dass ich halt nicht von einem zum anderen immer 
Kabel löten muss.

Ich möchte nach und nach mehrere Sensoren und Aktoren ans Board 
anschließen.
Anfangen will ich mit digitalen Temperatursensoren TSIC306. Anschließend 
soll noch ein Feuchtesensor und ein LCD zum Ausgaben der Werte folgen. 
Weiter gehts dann mit dem ansteuern von 230V und 12V Verbrauchern aber 
das hat noch Zeit :)

Wo genau zweige ich mir denn die 12V ab?

von zagge (Gast)


Lesenswert?

> Wo genau zweige ich mir denn die 12V ab?

als erstes einfach mal die Pinbeschreibung lesen (die wirst du auch zum 
Anstecken der Sensoren benötigen).
VIN. The input voltage to the Arduino board when it's using an external 
power source (as opposed to 5 volts from the USB connection or other 
regulated power source). You can supply voltage through this pin, or, if 
supplying voltage via the power jack, access it through this pin.

von Mike J. (linuxmint_user)


Lesenswert?

Zaus schrieb:
> Wo genau zweige ich mir denn die 12V ab?

Da ist eine Hohlbuchse auf der Platine, schau mal wo du da am besten ran 
kommst, entweder direkt an der Buchse oder an der Leiterbahn die von der 
Buchse weg geht. (vielleicht ist da auch eine 12V Buchse, die PDFs sind 
doch sehr übersichtlich)

Wenn kein Stecker vorhanden ist musst du dir einen schaffen.
Am besten ist es wenn du dir dort einen ein- oder zweipoligen Kontakt 
(Buchse) auf die Platine befestigst, dort kannst du dann den Stecker vom 
Erweiterungsboard hineinstecken.

Wenn du eine Lochrasterplatine nutzt kannst du dir erst mal einen 
virtuellen Plan machen wo du die Bauelemente am günstigsten platzierst 
und wie du die Leitungen am besten legst.

Beitrag "Open Source Lochraster Layout"

Das Programm ist sehr gut und man kann auch eigene Bauteile erstellen.

von Martin K. (skiko)


Lesenswert?

Hallo!

Es ist zwar sehr lobenswert, dass du gleich direkt mit dem gcc 
einsteigen willst aber ich denke du solltest mal langsam anfangen.
Wenn du ein kompletter Neuling bist starte mit dem Arduino und der 
Arduino IDE. Die brauchst du nur herunterladen und entpacken. Nichts 
großartig einstellen, installieren usw... Du sparst dir auch die 
Compilerflags. Umsteigen auf das AVR-Studio kannst du später immer noch. 
Gerade die IDE mit den Blibliotheken ist ein Grund warum der Arduino so 
erfolgreich ist.
Unter http://www.arduino.cc/playground/Code/Tsic gibt es zum Beispiel 
eine Bibliothek für den Sensor.
Dann kannst du für die Spannungsversorgung der Sensoren die auf dem 
Arduino verwenden (Im Datenblatt nachschauen was der Sensor benötigt). 
Dann brauchst du dich darum mal nicht kümmern. Die 12 V extra brauchst 
du erst später und mit 230 V solltest du erst hantieren wenn du wirklich 
weißt was du machst (und das ist nicht nur so daher gesagt).

Unter http://arduino.cc/en/Tutorial/HomePage gibt es auch einige 
Tutorials. Es klingt zwar vielleicht langweilig aber der Lernfortschritt 
stellt sich schneller ein wenn man mit der blinkenden LED anfängt und 
sich dann durcharbeitet.

Die Anschaffung eines Breadboards kann ich nur wärmstens empfehlen. Die 
Kosten hast du schon mit der Zeit wieder eingespart die das Umlöten der 
Bauteile kostet wenn du merkst es geht was nicht.

Viel Spaß die ersten Erfolge kommen schneller als man denkt :)

Grüße

von Zaus (Gast)


Lesenswert?

Viele Dank erstmal.
Also programmieren und LED blinken lassen bekomme ich auch mit dem 
AVRStudio (Programmierung über MKII) hin. Ich dachte einfach ich fange 
gleich richtig an dann muss ich später nicht umsteigen wenn das nächste 
Projekt vlt ohne Arduino folgt. C-Kenntnisse sind auch vorhanden.

Gibt es denn irgendwelche Einschränkungen wenn ich die Arduino 
Bibliothek stattdessen nutze? Das ganze soll sich zu einem größeren 
Projekt (für meine Verständnisse ...) entwickeln deshalb frage ich.

von B.A. (Gast)


Lesenswert?

Beim Arduino wird in C++ geschrieben, AVR-studio und das AVR-Plugin 
nutzen C.
Ich weiß nicht ob das C++ Zeug so sinnvoll ist.

von Zaus (Gast)


Lesenswert?

Vor der softwaretechnischen Arbeit habe ich jetzt auch nicht so die 
Angst. Mit Hilfe aus dem Forum werde ich das schon hinbekommen und da 
ich keinen Zeitdruck habe sollte das schon klappen. Für den TSIC gibts 
ja bestimmt auch schon c-code zum einbinden aber eigentlich will ich das 
eh selbst probieren.
Eine Frage hätte ich dann noch: Ich habe noch kein LCD-Display wie kann 
ich mir die errechneten Werte des TSIC dann anschauen um zu sehen ob ich 
alles richtig mache?

von Martin K. (skiko)


Lesenswert?

B.A. schrieb:
> Ich weiß nicht ob das C++ Zeug so sinnvoll ist.
Das kommt ganz drauf an was man machen will (meine Ansicht, andere 
Ansichten bitte auch posten).

Naja im Endeffekt ist der Ardino mit seiner IDE nur ein Aufbau auf dem 
anderen Compiler um eine höhere Abstraktion zu erreichen. Im Hintergrund 
laufen die gleichen Tools.


C Code:
+ effizienter im Platz und Geschwindigkeit
+ Grundverständnis der Komponenten
+ auch grundlegende Änderungen im Programm bis auf die unterste Ebene 
möglich
+ lehrreicher, für Ausbildung sicher geeigneter

- das Grundverständis über die Komponenten wird benötigt
- viel mehr Code zu schreiben
- als Anfänger schwierig übersichtliche Programme zu erzeugen
- Beispielprojekte und Bibliotheken nicht immer anwendbar da 
Unterschiede zwischen den verwendeten AVR


Arduino(C++ Code):
+ fertige Bibliotheken für eine endlose Anzahl an Komponenten
+ Bespielprojekte 1:1 übernehmbar
+ schnelle Erfolgserlebnisse
+ für die ersten Ergebnisse kein langes Studium der Datenblätter 
notwendig
da meist Bibliothek vorhanden
+ IDE sofort installiert und einsatzbereit

- Code nicht so effizient
- Änderung einer Biliothek schwieriger als Änderung am eigenen 
erstellten Programm

>Gibt es denn irgendwelche Einschränkungen wenn ich die Arduino
>Bibliothek stattdessen nutze? Das ganze soll sich zu einem größeren
>Projekt (für meine Verständnisse ...) entwickeln deshalb frage ich.

- IDE für große Projekte unübersichtlich und nicht so bequem wie z.B. 
Eclipse

Das sind nur so meine Ideen fürs erste. Es gibt dazwischen natürlich 
alle Abstufungen da ebenso für die reine AVR Programmierung genug 
Bibliotheken vorhanden sind.
Ich habe schon mit verschiedenen Mikrocontrollern programmiert. Gerade 
für Tests an neuen Komponenten kann ich den Arduino nur empfehlen. Ist 
echt nett wenn man einen neuen Sensor nur mal anschließt und nicht erst 
die Bibliothek dazu schreiben muss.

>Eine Frage hätte ich dann noch: Ich habe noch kein LCD-Display wie kann
>ich mir die errechneten Werte des TSIC dann anschauen um zu sehen ob ich
>alles richtig mache?
Mein Tipp: Schau dir den Sensor mit dem Arduino an und verwende die 
integrierte UART Schnittstelle. Sind ca. 10 Zeilen Code!!! Alle 
Berechnungen die du in C schreibst kannst du ja später auch 1:1 
übernehmen. Ist also nichts verloren.

Martin

von Zaus (Gast)


Lesenswert?

Danke Martin für die ausführliche Antwort.
Ich mache das ganze eigentlich nur aus zeitvertreib und um mir was neues 
anzueignen. Zeitdruck gibt es damit nicht :)
Du merkst schon trotz der sicherlich vielen Vorteile der Arduine IDE und 
Bibliotheken würde ich lieber ganz ohne diese auskommen. Hab mir das 
Board eigentlich nur wegen der Hardware gekauft.
Gibt es auch bei 'normaler' verwendung des AVR die Möglichkeit mir die 
Werte zu speichern oder anzusehen?

von Martin K. (skiko)


Lesenswert?

:) ja hab ich schon etwas heraus gehört.
Auch bei der 'normalen' Verwendung empfiehlt sich die UART 
Schnittstelle. Da kannst du dir dann Debug Nachrichten oder Werte 
ausgeben. Dabei kannst du entweder über den Weg gehen der beim Arduino 
verwendet wird (auch ohne die Arduino IDE) und somit dessen USB 
Schnittstelle nutzen oder du nimmst ein anderes Gerät als Schnittstelle 
zwischen µC und PC. Wie es beim Arduino gemacht wird kommt auf deinen 
Arduino an. Ich hab noch nicht geschaut, bin mir aber sicher, dass das 
auch schon jemand auf avr basis gemacht hat.
Ansonst ist es wahrscheinlich hilfreich zuerst das LCD zu implementieren 
da du dann das gleich als Ausgabe verwenden kannst.

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.