PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Temperator/Luftfeuchtigkeits Sensor



Zondan
08.08.2016, 08:18
Hallo!
Ich möchte per Funk vernetzte Temperatur und Luftfeuchtigkeits Sensoren bauen und bräuchte ein paar Tipps.

Es soll Temperatur und Luftfeuchtigkeit messen können und die Werte über Funk an meinen Raspberry Pi schicken, wo ich die dann verarbeite.

Die Probleme:

Welcher µC? Ist ein Ardunio mini (http://www.reichelt.at/Einplatinen-Microcontroller/ARDUINO-MINI/3/index.html?&ACTION=3&LA=5&ARTICLE=153046&GROUPID=6667&artnr=ARDUINO+MINI) ok?
Welche Funktechnik? Würde etwas Verbindungsloses bevorzugen. Eine art UART über Funk, gibts das?
Welche Sensoren? Der hier (http://www.reichelt.at/Kombosensoren/BME-280/3/index.html?&ACTION=3&LA=5&ARTICLE=159825&GROUPID=6845&artnr=BME+280) kombiniert beides, aber ich bin unsicher. Kommt mir etwas übertrieben vor.
Stromversorgung? Wenn ich die Batterie täglich wechseln muss ist es nicht zu gebrauchen. Bei dem Thema hab ich am meisten Sorgen. Alle meine Hardware Projekte sind bis jetzt an immer daran gescheitert.


Das einzige µC Board mit dem ich bis jetzt Erfahrung habe ist der STM32. Jedoch habe ich Keil zu hassen gelernt und würde gerne Arduino verwenden.

Liebe Grüße,
Zondan

Ceos
08.08.2016, 08:34
UART über Funk ist "Branchenüblich" also absolut kein Problem, ich würde dir aber empfehlen nach Funkmodulen mit programmierbarer Firmware zu suchen und quasi mit dem Controller des Funkmodul deinen Chip auszulesen, jeder Zwischenschritt wäre überflüssig!

Der Chip den du da ausgesucht hast ist doch wunderbar, je weniger Komponenten um so weniger Aufwand und vor allem Strom :D

Wenn du jetzt dennoch ein supergünstiges Funkmodul ohne großartig Intelligenz hast würde ich einen MSP (generell gute Stromsparfunktionen) oder eine ATTiny Controller mit PicoPower(Atmel Technologie) verwenden und mich mit den Sleep Modes auseinandersetzen und den Controller quasi nur 1 mal pro Sekunde oder noch seltener aufwecken um Daten auszulesen und zu senden.

Was die Schaltung generll angeht und wo man da noch Strom sparen kann, ist ein Thema für später :)

Zondan
08.08.2016, 08:55
Wäre mir vollkommen recht, jedoch wenn ich ohnehin mit dem Controller vom Funkmodul arbeitet brauch dann überhaupt noch den anderen Controller? Der wird doch noch ein paar GPIO Pins haben. :>

Wie sucht man nach so einem Controller? Haben die eine bestimmte über Bezeichnung? Kannst mir vielleicht einen empfehlen? ;)

Mxt
08.08.2016, 09:11
Der Chip den du da ausgesucht hast ist doch wunderbar, je weniger Komponenten um so weniger Aufwand und vor allem Strom :D

Nichts gegen den Chip, aber einem Anfänger sollte klar sein, wie klein das Ding ist:
http://www.watterott.com/de/BME280-Breakout-Luftfeuchtigkeits-Druck-Tempertursensor
Der BME280 ist das silberne quadratische Ding, oben in der Mitte der Platine.

Zondan
08.08.2016, 09:30
Oh wow, danke. Ich hab die Dimensionen nicht gelesen. 2,5 x 2,5 x 0,93 mm. Selbst wenn das cm wären hätte ich vermutlich noch Probleme das wo anzulöten. :P

Ceos
08.08.2016, 10:59
oooch ich hab da die flip chip methode gewählt als ich mal so n mini hatte XD

chip aufn kopp, mit bissl heißkleber fixiert(loch nicht verstopfen!!!), freiverdrahtet angelötet

Peter(TOO)
09.08.2016, 03:30
Hallo Zondan,

Zumindest Feuchte und Temperatur musst du erfassen.
Die relative Luftfeuchte ist Temperatur abhängig, man muss also die Feuchte mit der Temperatur korrigieren, wenn man genaue Werte haben will.

Ich habe hier eine Wetterstation, aktuell hat sich die Aussentemperatur zwischen 0 und 4 Uhr von 23.2°C auf 21.3°c abgesenkt. Da die Auflösung nur 0.1°C beträgt ist die Temperatur zwischen 5 und 10 Minuten konstant. Die Freuchtigkeit ändert sich noch langsamen.

Es reicht also, die Daten alle paar 10s zu übertragen.
Wenn wir für die Übertragung mal 0.1s ansetzen kannst du den µC 9.9s in den Tiefschlaf versetzen.
Wenn dein µC 100mA benötigt, wenn er aktiv ist, brauchst du im Mittel um 1mA! Damit läuft dann deine Batterie eine Weile.

Das ist auch der Trick bei den analogen Quarz-Werken. Der Schrittmotor braucht zwar um die 100mA, bekommt aber nur einen Impuls im Bereich um die 10ms. Deshalb läuft so ein Werk mit einer einzelnen AA-Batterie ein gutes Jahr. Der Chip alleine benötigt um 1µA. Dann kommt man auf einen mittleren Strom um die 100µA.

Allerdings musst du z.B. mit Pullups aufpassen, die verbrauchen dann zusätzlich Strom.

So ein ähnliches Problem haben wir hier vor 1-2 Wochen diskutiert. Dabei ging es darum, die Akku-Spannung zu messen, auch wenn das Gerät im Schrank rumliegt. Da muss man den Spannungsteiler entsprechend hochohmig machen.

Du brauchst also einen µC, welcher möglichst wenig Strom braucht, wenn 1 Timer läuft. Da der Stromverbrauch auch direkt von der Taktfrequenz abhängt, verwendet man meist einen µC mit zwei Oszillatoren. Für den Timer und Tiefschlaf verwendet man einen 32kHz Uhrenquarz, aufgeweckt arbeitet der µC dann mit einigen MHz.

MfG Peter(TOO)

Zondan
09.08.2016, 12:53
So, ich habe mir jetzt ein paar Sachen gekauft.


Diesen (https://www.amazon.de/gp/product/B00PLD3E1S/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1) µC
Dieses (https://www.amazon.de/gp/product/B00P2KDTEC/ref=oh_aui_detailpage_o00_s01?ie=UTF8&psc=1) Wireless Modul
Diesen (https://www.conrad.at/de/temperatur-sensor-mit-direktem-digitalen-ausgang-dallas-ds1821-50-125-c-in-05-c-schritten-gehaeuseart-to-92-176494.html) und diesen (https://www.conrad.at/de/praezisions-temperatursensor-ts-ntc-bb-thermo-technik-ts-ntc-103-60-150-c-gehaeuseart-epoxyd-502359.html) Temperatur Sensor


Leider hatte der Conrad keine Temperatur/Luftfeuchtigkeits Sensoren auf Lager, aber ich denke zum testen ist das gut genug.

Das Wireless Modul kommt erst morgen. Ob das jedoch das ist was ich wirklich will weiß ich nicht.

Nach der Arbeit werde ich mich zum ersten mal mit einem Arduino versuchen, nachdem ich die Beine angelötet hab.

Versuchen eine Led zum leuchten zu bringen und dann vielleicht Temperatur zu messen und sie über UART zum PC zu schicken.(Geht das über das Kabel (https://www.amazon.de/gp/product/B00AFRXKFU/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1)? Das STM32 Entwicklerboard hatte einen virtuellen Seriellen Port für UART.) Glaub der µC hat jedoch keine Hardware UART, also muss ich das emulieren. Ich nehme an dafür gibt es Libs?

Wenn etwas was ich gekauft habe eurer Meinung nach schlecht geeignet ist für einen Batterie betriebenen Funk-Temperatur Sensor, dann bitte sagen und was besseres Vorschlagen. Wenn das so funktioniert wie ich es hoffe werde ich ein paar davon bauen und in der Wohnung und davor verteilen. Also sollte es möglichst günstig und energiesparend sein.

Wenn das alles geschafft ist kommt der schwerste Teil. Welche Batterien verwende ich? Am Datenblatt vom µC hab ich gesehen das er einen 9V input hat. Also eine einfach 9V Block-Batterie? Oder brauch ich da was komplizierteres? Kann man die Inputspannung messen? Damit ich Alarm schlagen kann wenn die Batterie droht zur Neige zu gehen?

Wie Peter geschrieben hat möchte ich natürlich den Kern die meiste Zeit schlafen legen. Jede Minute mal Temperatur abtasten und wegsenden. Oder vielleicht alle 10 Sekunden mal messen und nach dem 6ten mal Werte mitteln und dann schicken? Weiß nicht wie genau solche Sensoren sind und obs Ausreißer oder ähnliches gibt.

Bin immer noch auf der Suche nach einem Temperatur und Luftfeuchtigkeits Sensor. Da der µC aber eh Analog Pins hat, warum dann nicht nutzen? Die Analogen Sensoren sind soviel billiger. Oder ist das schlecht?

LG,
Zondan


PS:
Bitte nicht erschlagen das ich Amazon benutze. Ich weiß da sind manche(wie zb meine Freundin) sehr emotional, aber es ist einfach so praktisch. Niedriger Preis, keine Lieferkosten und dann auch noch nur 1-2 Tage Lieferzeit.

Ceos
09.08.2016, 13:33
dein Controller Modul und dein Funkmodul sind nicht direkt kompatibel!!
Funkmodul Beschreibung
VCC: 3,3V (Achtung, für 5V bitte Pegelwandler benutzen)

Zondan
09.08.2016, 14:18
Kann ich das nicht einfach mit einem Spannungteiler machen? 1k Ohm und 515 Ohm in Serie und dann hab ich beim 1k Ohm Widerstand ca 3,3V?

Nein keine Ahnung, bin kein Hardware Mensch und ich kenn mich nicht aus. ^^

Kann man diese Pegelwandler einfach so kaufen oder wie geht das?
Ist zwar schön viel Erklärung auf der Seite hier (http://www.mikrocontroller.net/articles/Pegelwandler#5_V_.E2.87.92_3.2C3_V). Aber ich kann mir nichts drunter vorstellen.

Ceos
09.08.2016, 14:45
ja es gibt fertige logic level shifter ICs, aber das ist auch nicht mein gebiet :) hoffen wir auf jemand Erfahreneren

Peter(TOO)
09.08.2016, 14:58
Hallo Zondan,

Bin immer noch auf der Suche nach einem Temperatur und Luftfeuchtigkeits Sensor. Da der µC aber eh Analog Pins hat, warum dann nicht nutzen? Die Analogen Sensoren sind soviel billiger. Oder ist das schlecht?
So ein NTC hat eine recht krumme Kennlinie.
Da musst du etwas Rechnen um die Temperatur zu erhalten.
https://de.wikipedia.org/wiki/Hei%C3%9Fleiter#Grundlagen
Oder man verwendet Tabellen, die findest du beim Datenblatt.

Um den Widerstandswert messen zu können, brauchst du aber auch noch eine präzise Referenzspannung.
Für den NTC brauchst du um die 250µA Messstrom und vermutlich noch einen Operationsverstärker um ein vernünftiges Signal zu bekommen.
Der ADC löst z.B. 5V in 1024 Schritte auf, also etwa 5mV/Schritt.
Wenn du also 10k in Serie zum NTC schaltest, hast du bei 25°C 2.5V, bei 0°C sind es dann etwa 3.65V und bei 50°C etwa 1.46V. Das kannst du dann in etwa in 440 Punkte auflösen. Eswird aber weniger, durch die Linearisierung.

Jedes Element der Schaltung hat aber eine Toleranz, welche als Fehler in die Messung eingeht.


Beim DS1821 ist alles drin und die Daten kannst du seriell und schon digital auslesen.
Das Teil braucht 1µA im Standby und 500-1000µA während der Abfrage.

MfG Peter(TOO)

Unregistriert
09.08.2016, 15:32
Den Arduino stören doch 3,3V als betriebsspannung auch nicht, und ein ESP stirbt von 4,2V auch noch nicht

HaWe
09.08.2016, 20:48
hallo,
ich habe jetzt ehrlich gesagt nicht verstanden, ob du schon einen µC und einen Temperatur-Feuchtigkeitssensor hast -

wenn ja - vergiss den Rest.

Wenn nein:

ich würde einen Arduino Nano oder Micro nehmen, Arduino pro mini geht sicher auch;

dazu einen DHT11 Temperatur + Feuchtigkeitssensor (5V-kompatibel)
und 2 HC-05 BT Module (3.3V-kompatibel, mit Arduino also per Levelshifter),

edit: verträgt nur 3,3V UART Signal-Level, nicht 5V-kompatibel!
Spannungsversorgung dagegen ist immer 5V!
D.h.: mit Raspi und Arduino Due, Zero, M0 läuft es direkt, für Arduino Uno, Nano, Mega etc. werden 5V -> 3,3V Levelshifter benötigt!
diese werden mit Arduino bzw. Raspi RX+TX verbunden.
Sie müssen erst miteinander gepairt werden, wirken dann aber sofort wie ein unsichtbares Kabel zwischen beiden Ports.
Level-Shifter z.B. : http://www.ebay.de/itm/Pegelwandler-5V-3-3V-4Kanal-Level-Shifter-Converter-I2C-SPI-Arduino-MLI01-/162103920229?hash=item25be258665:g:zhAAAOSwbYZXYCG G

Manche AVR Arduinos wie der pro mini laufen auch mit 3.3V, dann langsamer, aber dafür ohne Levelshifter.

Wie der DHT11 funktioniert, kannst du hier lesen: http://www.hjberndt.de/soft/arddht11.html
hier ist die DHT11 Programmieranleitung im Arduino Playground: http://playground.arduino.cc/Main/DHT11Lib

und hier kannst du lesen, wie man per UART und HC-05 Arduino und Raspi drahtlos für die Datenübertragung verbindet (ggf auch per Raspi-USB):
http://www.mindstormsforum.de/viewtopic.php?f=78&t=8689&p=67907#p67815
http://www.mindstormsforum.de/viewtopic.php?f=78&t=8689&p=67907#p67830
http://www.mindstormsforum.de/viewtopic.php?f=67&t=8922&p=69650&hilit=HC+05#p69650

Zondan
10.08.2016, 07:47
hallo,
ich habe jetzt ehrlich gesagt nicht verstanden, ob du schon einen µC und einen Temperatur-Feuchtigkeitssensor hast -

wenn ja - vergiss den Rest.

Egal was ich schon habe, ich lerne noch und man kann einen extra µC sowieso immer gebrauchen.
Ja ich hab jetzt schon einen Arduino Pro mini mit 5V und einen Temperatur Sensor. Aber bitte nicht dadurch abschrecken lassen Vorschläge zu posten. :)



ich würde einen Arduino Nano oder Micro nehmen, Arduino pro mini geht sicher auch;

dazu einen DHT11 Temperatur + Feuchtigkeitssensor (5V-kompatibel)
und 2 HC-05 BT Module (3.3V-kompatibel, mit Arduino also per Levelshifter),

diese werden mit Arduino bzw. Raspi RX+TX verbunden.
Sie müssen erst miteinander gepairt werden, wirken dann aber sofort wie ein unsichtbares Kabel zwischen beiden Ports.
Level-Shifter z.B. : http://www.ebay.de/itm/Pegelwandler-5V-3-3V-4Kanal-Level-Shifter-Converter-I2C-SPI-Arduino-MLI01-/162103920229?hash=item25be258665:g:zhAAAOSwbYZXYCG G

Manche AVR Arduinos wie der pro mini laufen auch mit 3.3V, dann langsamer, aber dafür ohne Levelshifter.

Pairing find ich unpraktisch, würde viel lieber einfach einen Broadcast senden und wenn es aufgefangen wird gut, wenn nicht dann halt beim nächsten mal. Brauche keine Bidirektionale Kommunikation. Geht hier ja nur um ganz wenig Messdaten, so 16 Bit(2 Chars, angenommen die Sensoren geben Integers zurück) alle 60 Sekunden oder etwas in der Größenordnung.

Was ist am Nano oder Micro besser als beim pro mini? Sehe das der einen USB Port hat, was wohl das programmieren etwas einfacher macht.

Das mit dem Pegelwandler ist ein Problem. Da ich pro Controller einen brauche bläst das den Preis unnötig auf. Vielleicht sollte ich lieber auf 3,3V Controller(der DHT kann ja beides) setzen oder ein 5V Wireless Modul suchen.
Sowie das hier zb?
https://www.amazon.de/DAOKAI%C2%AE-Serielle-Wireless-Transceiver-Modul-Empfangen/dp/B015D1AJ8S/ref=pd_sim_107_3?ie=UTF8&dpID=51cP69U9jiL&dpSrc=sims&preST=_AC_UL160_SR160%2C160_&psc=1&refRID=1P0D9KPPZTGS7J4PXBRW

Ist dieser Pegelwandler ok? Dann hätte ich immerhin mal 10 auf Reserve.
https://www.amazon.de/DAOKAI%C2%AE-AMS1117-3-3-DC-Step-Down-Spannungsregler-Konverter/dp/B00XSYIS68/ref=pd_sim_107_1?ie=UTF8&dpID=51Kq%2Bst1qSL&dpSrc=sims&preST=_AC_UL160_SR160%2C160_&psc=1&refRID=XEVSW8VNJ65CWS8JQ0CN



Wie der DHT11 funktioniert, kannst du hier lesen: http://www.hjberndt.de/soft/arddht11.html
hier ist die DHT11 Programmieranleitung im Arduino Playground: http://playground.arduino.cc/Main/DHT11Lib

und hier kannst du lesen, wie man per UART und HC-05 Arduino und Raspi drahtlos für die Datenübertragung verbindet (ggf auch per Raspi-USB):
http://www.mindstormsforum.de/viewtopic.php?f=78&t=8689&p=67907#p67815
http://www.mindstormsforum.de/viewtopic.php?f=78&t=8689&p=67907#p67830
http://www.mindstormsforum.de/viewtopic.php?f=67&t=8922&p=69650&hilit=HC+05#p69650
Danke für die Links, werde ich mir anschauen sobald ich die Hardware habe. Ich bin Software-Entwickler, mache mir momentan mehr Sorgen über die Hardware als um die Software. Das ist ja nur Spielerei.

HaWe
10.08.2016, 08:58
ich habe nur geschrieben, dass ich (persönlich) einen Nano oder Micro nehmen würde - Grund: wegen des eingebauten USB-Programmierports.
Ich habe aber auch geschrieben , dass der pro Mini sicher auch ok wäre (auch wenn ich ihn persönlich nicht kenne) - und dass er ggf. sogar einen Vorteil hat, nämlich dass er auch bei 3.3V läuft.
Ich dachte auch, du wärst Anfänger, als Softwareentwickler brauchst du meine ganzen Hinweise sicher nicht, die waren wirklich nur als Hinweise für Anfänger gedacht.

Ceos
10.08.2016, 09:15
der DOAKAI AMS1117 ist ein Spannungswandler, kein Pegelwandler, der macht nur aus einer höheren Spannungsversorung eine niedrigere Spannungsversorgung (stabilisert, quasi sowas wie ein kleines Netzteil wenn man es sich so vorstellen mag)

Aber trotzdem netter Fund, sowas kann ich gerade brauchen

Leider habe ich mit OneWire kein eErfahrung dass ich dir da einen Pegelwandler empfehlen könnte, ich mache mir nur sorgen, weil der Atmel Controller auf deinem Arduino Clone bei 16Mhz mit 3.3V eventuell instabil laufen kann, das Datenblatt sagt bei 2.7 - 4.5V nur 0 - 10Mhz

PS: Hast du schon Erfahrung damit gesammelt Controller direkt zu programmieren, also ohne Arduino lib und so? Dein Vorhabend könnte man praktisch auch mit einem 8 beinigen ATTiny (im DIP Gehäuse) + einfachstem Seriell-Funkmodul und einer minimalen Bauteilanzahl umsetzen. (und den Spannungsregler dne du gepostet hast als Modul für die Versorgung aus 4 Batterien)

Zondan
10.08.2016, 09:34
ich habe nur geschrieben, dass ich (persönlich) einen Nano oder Micro nehmen würde - Grund: wegen des eingebauten USB-Programmierports.
Ich habe aber auch geschrieben , dass der pro Mini sicher auch ok wäre (auch wenn ich ihn persönlich nicht kenne) - und dass er ggf. sogar einen Vorteil hat, nämlich dass er auch bei 3.3V läuft.
Ich dachte auch, du wärst Anfänger, als Softwareentwickler brauchst du meine ganzen Hinweise sicher nicht, die waren wirklich nur als Hinweise für Anfänger gedacht.
Ich bin ein Hardware Anfänger, jeder Hinweis wird dankend angenommen!


der DOAKAI AMS1117 ist ein Spannungswandler, kein Pegelwandler, der macht nur aus einer höheren Spannungsversorung eine niedrigere Spannungsversorgung (stabilisert, quasi sowas wie ein kleines Netzteil wenn man es sich so vorstellen mag)

Aber trotzdem netter Fund, sowas kann ich gerade brauchen

Leider habe ich mit OneWire kein eErfahrung dass ich dir da einen Pegelwandler empfehlen könnte, ich mache mir nur sorgen, weil der Atmel Controller auf deinem Arduino Clone bei 16Mhz mit 3.3V eventuell instabil laufen kann, das Datenblatt sagt bei 2.7 - 4.5V nur 0 - 10Mhz


Kommt mir langsam so vor als wäre weniger Spannung mehr in der µC Welt. Alles unterstützt 3,3V und kaum was kann 5V
Also warum gegen den Strom schwimmen und nicht gleich zu 3,3V gehen?
https://www.amazon.de/M%C3%BCnsterino%C2%AE-Pro-Mini-Packung-Kompatibel/dp/B01I1DSACW/ref=sr_1_1?s=ce-de&ie=UTF8&qid=1470817317&sr=1-1

Es ist ja nicht so als bräuchte ich die hohe Taktfrequenz.



PS: Hast du schon Erfahrung damit gesammelt Controller direkt zu programmieren, also ohne Arduino lib und so? Dein Vorhabend könnte man praktisch auch mit einem 8 beinigen ATTiny (im DIP Gehäuse) + einfachstem Seriell-Funkmodul und einer minimalen Bauteilanzahl umsetzen. (und den Spannungsregler dne du gepostet hast als Modul für die Versorgung aus 4 Batterien)
Nein, hab gestern Abend schnell die Beine an meinen Mini Pro angelötet, ein kleines Blicklicht im Arduino Studio(mag die IDE übrigens überhaupt nicht und werde wohl zu Eclipse wechseln) geschrieben und über den Programmer drauf geladen.
Hab aber keine Angst davor. Bin vom STM32 gewohnt Busse und Pin Adressen direkt zu adressieren nachdem man sie im Datenblatt gefunden hat.

Musste gerade googlen was ein DIP Gehäuse ist, so gut kenn ich mich da aus. ;)
Brauch da mehr infos bevor ich genau weiß was du meinst, aber ansich gern. Je weniger Teile desto besser.

Edit:
Nachdem ich jetzt etwas drüber nachgedacht hab nehme ich an das du an sowas denkst:
https://www.amazon.de/Stk-pcs-ATTINY13A-PU-mit-DIP/dp/B00STXSWI2/ref=sr_1_8?s=ce-de&ie=UTF8&qid=1470818496&sr=1-8&keywords=ATTiny

Ich hätte überhaupt nichts dagegen das mit einem so einfachen Chip zu realisieren. Nur beginnen da dann die richtigen Probleme. Wie bau ich mir ein PCB mit allen Komponenten.

Programmieren und Debuggen kann man es wohl mit sowas:
https://www.amazon.de/Kickstarter-Digispark-Attiny85-Development-Micro-USB/dp/B00WW7DRAE/ref=sr_1_2?s=ce-de&ie=UTF8&qid=1470818496&sr=1-2&keywords=ATTiny

HaWe
10.08.2016, 09:51
Arduino Studio von Arduino.org ist mir auch sehr fremd, ich verwende nur die IDE von arduino.cc.
Trotzdem empfiehlt es sich bei einer von beiden zu bleiben, wenn man die Arduino-Boards mit den speziellen Arduino-Libs benutzen will, auch die implizit eingelinkten, denn die unterscheiden sich von denen der "normalen" AVR-gcc/gpp-Welt und sind zu diesen häufig inkompatibel. ARDUINO-Sketche "sind" nicht C , sie "benutzen" C, wie einmal ein Arduino-Entwickler formuliert hat. Außerdem haben sie den ganzen Java-Wiring-Processing-Wrapper, der für die automatisch "richtige" Konfiguration etc. sorgt.
Ich bin mir vo daher nicht sicher, ob du - auch als Entwickler - mit Eclipse wirklich schneller zum Ziel kommst.
Zu deinen anderen Fragen kann ich persönlich leider nichts sagen, ich benutze bzw. kenne nur die von mir vorgeschlagenen Konfigurationen, immerhin funktionieren sie für mich, und auch ich bin ja nur Anfänger und Laie.
Aber dennoch - oder deshalb - viel Erfolg bei deinen Experimenten und Projekten!

Ceos
10.08.2016, 10:06
Atmel low Cost 8Bit Produkte sind in der Regel für alle Spannungen bis 5V ausgelegt, aber bei den meisten fertigen Boards wird ein externer Oszillator verbaut der dich meist auf die Frequenz festnagelt, da bleibt bei den meisten Projekten eben nur mit 5V zu arbeiten bei 16Mhz .. naja zumindest stabil

Ein XMega z.B. aus neuer Generation arbeitet auch nurnoch mit 3.3V, aber für dien Projekt vermutlich overkill XD

Der Link zu den Tinys war schonkal nicht verkehrt, ob man mit dem kleinen USB Board(chen) was programieren kann bezweifle ich, das klingt eher nach Self Programming nicht nach Adapter

Ich persönlich empfehle den USB-MyAVR weil er günstig und mit dem Atmelstudio(auch Empfehlung, kostenlos, angepasstest Debugging mit Registerviewer/Interpreter) kompatible ist oder wenn du von Atmel direkt kaufst, einen AVR Dragon, weil er kosten/nutzen-günstig und universell ist (du kannst sogar einen "zerfuseten" Controller wiederbeleben)

Was die Programmierung angeht, ist es vergleichbar mit einem STM nur eben 8Bit Register und die ISRs stellen sich selber zurück (man braucht nicht dauernd nach den Flags gucken)

Boardlöten ist hier relativ, bei dem kleinen Chip ginge das freiverdrahtet oder mit ner simplen Lochrasterplatine (deswegen auch im DIP/DIL Gehäuse im passenden Rastermaß)

HaWe
10.08.2016, 10:23
wieso "unzuverlässig" bzw. "instabil" - beziehst du das auf den Pro Mini, auf den sich der OP und ich bezogen haben?
der ist je nach Bauart von Arduino.cc für 3.3V spezifiziert, dann wird er damit doch wohl "zuverlässig" und "stabil" funktionieren...:

There are two version of the Pro Mini. One runs at 3.3V and 8 MHz, the other at 5V and 16 MHz.

Ceos
10.08.2016, 10:37
Der verlinkte war jedenfalls als 16M Version mit 5V angegeben und würde bei 3.3V nicht stabil laufen

ich habe nur darauf hinweisen wollen!


EDIT: Oh Moment ich formuliere um:

Ich habe Jahrelang Erfahrung mit Atmel Kontrollern (ungelogen, keine Ironie) und sage jetzt auf dieser Erfahrung basierend aus, dass die verlinkte Version mit 16Mhz Oszillator und 5V nicht kompatible mit dem Sensor mit 3.3V Interface ist und das betrieben des Boards bei zu niedriger Spannung mit 16Mhz Oszillator zu instabilität führt!

Zondan
10.08.2016, 10:50
Atmel Studio ist leider nur Windows und disqualifiziert sich damit selbst. Hab mich da schon genug mit Keil in einer VM durchgekämpft um das nochmal zu machen. :/

Ich werde die ATTinys mal bestellen, unabhängig ob ich die jetzt dafür brauch oder nicht kann man so einen kleinen netten Controller sich immer gebrauchen.

Braucht man dann einen extra Oszillator um die ATTinys mit 3,3V zu benutzen? Oder einfach mit 3,3V speisen und passt? ^^

Meinst du sowas?
https://www.amazon.de/Diamex-7203-All-AVR-AVR-Programmer/dp/B0064LLRB0/

Das ist zwar Off-Topic aber: Wenn man in der ISR nicht das Flag zurücksetzen muss wie verhindert man dann das der Interrupt interrupted wird? Aus dem Grund muss man doch gerade das Flag händisch am Ende der Abarbeitung zurücksetzen.

Ceos
10.08.2016, 11:07
die normalen 8bit atmels haben ein Global Interrupt Flag dass man mit cli() für clear und sei() für set enabled steuert

wenn man den AVRGCC von Atmel unter Eclipse einsetzt (im Markteplace nach dem AVRPlugin suchen, ist sehr leicht einzurichten) kann man ISRs einfach so schreiben:




ISR(<ISR_Vector_Name>)
{
//mein code
}


er fügt automatisch beim compilieren den prolog und epilog hinzu, der zum einen das GI-Flag sperrt bzw. am Ende freigibt und das auslösende Interrupt Flag für diesen Interrupt Vector löscht.

bei den STMs muss man das auslösende Flag meist selber löschen, je nach peripherie, setze die auch nicht gerne ein.

Was den Betrieb angeht, die Tinys haben einen internen RC Oszi (Default Einstellung bei den Fuses, eine Art extern programmierbares Config Register) einen externen brauchst du in der Regel für solch einfache Anwendungen nicht (auch die Aruinos können ohne externne Oszillator auskommen, aber man muss die Fuse mit einem Programmiergerät vorher umschalten und der interne RC ist auch nicht sehr genau was die Kalibirierung angeht! Wie gesagt unbedeutend für solch einfache Anwendungen aber blöd bei präzisen Projekten)

oberallgeier
10.08.2016, 11:08
Atmel low Cost 8Bit Produkte sind in der Regel für alle Spannungen bis 5V ausgelegt, aber bei den meisten fertigen Boards wird ein externer Oszillator verbaut der dich meist auf die Frequenz festnagelt, da bleibt bei den meisten Projekten eben nur mit 5V zu arbeiten bei 16Mhz .. naja zumindest stabil ..Ist das Deine Erfahrung oder nur so mal dahingesagt ?? Zondan hatte von nem nano Clone mit mega328p@16MHz geschrieben. Ich hatte nen andern nanoClone auf 20 MHz umgebaut und getestet, was der bei 3.3V Betriebsspannung so tut. Er läuft mit 3,25V Versorgung am Chip zuverlässig und stabil bei 20 MHz ! Daher muss ich Dir - streng genommen zwar nur für meinem Clone - widersprechen, dass diese "low cost" Atmels selbst knapp unter der spezifizierten Versorgung (Datenblatt schreibt von 20MHz @ 4.5 - 5.5V) nicht zuverlässig laufen würden.

Ceos
10.08.2016, 11:15
Das ist zum einen aus dem Datenblatt und zum anderen eigene Erfahrung, ich habe auch schon mal einen Mega8 übertaktet, sie vergeben vieles aber je länger dein Programm läuft um so wahrscheinlicher werden Fehler ...

wir haben erst kürzlich einen Fall gehabt, bei dem ein Timer beim auslesen plötzlich falsche Werte lieferte weil die Elektronik durch einen defekten Debugger in Unterversorgung lief, da haben die Bits angefangen zu wackeln, keine Ahnung ob es an den Registern, dem Bus oder eventuell sogar dem EEPRom gelegen hat. (EEProm scheidet aber fast aus da nur einzelne Bytes falsch waren während eine ganze Page aus dem RAM kopiert worden ist und der BOD solche Fehler verhindern sollte)

um dem als Anekdote noch eins drauf zu setzen, ein Fall aus den X-Akten, ein XMega dessen DMA der Meinung ist, mitten drin im Bytes schieben die Adresse zu wechseln und random im RAM rumbügelt ... gleich bei 2 Boards gleicher Bauweise jeweils an einem schlechten Netzteil

Zondan
10.08.2016, 11:46
Hab jetzt ein paar Sachen bestellt, es wird aber ein paar Tage dauern bis ich sie habe.
In der Zwischenzeit würde ich gern mit dem Wireless Modul spielen das heute gekommen ist:
https://www.amazon.de/gp/product/B00P2KDTEC/ref=oh_aui_detailpage_o00_s01?ie=UTF8&psc=1

Um das an meinen 5V Pro Mini anzuschließen brauch ich einen Pegelwandler zu 3,3V korrekt?
Bzw 2 Pegelwandler 5V zu 3,3V und 3,3V zu 5V oder?

Ideen wie ich das schnell bewerkstelligen kann? Dann würde ich nach der Arbeit in ein Geschäft fahren und mir das entsprechende Zeug kaufen.

Ceos
10.08.2016, 12:00
https://www.amazon.de/Adafruit-Bi-Direktionaler-Pegelwandler-TXB0104-Bausatz/dp/B010LTHB2E/ref=sr_1_4?s=ce-de&ie=UTF8&qid=1470826693&sr=1-4&keywords=level+shifter

der sieht mir recht hilfreich aus, Bi-Direktional beudeutet er wandelt in beide Richtungen um, UART hat ja einen TX und einen RX Kanal die sind jeweils eh nur One Way

HaWe
10.08.2016, 12:40
UART hat ja einen TX und einen RX Kanal die sind jeweils eh nur One Way
soll das bedeuten, per UART könne man immer nur in 1 Richtung ("ONE WAY") Daten übertragen - oder wie ist das zu verstehen ?

HaWe
10.08.2016, 12:51
(ps,

UART hat ja einen TX und einen RX Kanal die sind jeweils eh nur One Way
war sicher anders gemeint -
insgesamt braucht man ja für UART einen Pegelwandler, der für beide Geräte in 2 Richtungen arbeitet: was für das eine Gerät TX ist, ist für das andere RX und umgekehrt.)

Ceos
10.08.2016, 13:14
jede senderichtung ist one way, |controller 1 TX zu Controller 2 RX| und |Controller 2 TX zu Controller 1 RX|

2 x 1-kanalige, nicht bi-direktionale Levelshifter wären genug, ein 8 kanaliger bi-direktionaler tut es auch (bei dem Preis sogar total klasse) aber trotzdem irgendwie "Spatzen auf Kanonen" :) hab mich da vll. etwas missverständlich ausgedrückt

Zondan
10.08.2016, 13:34
Das kurzfristige Problem ist das die Arbeit in ca 2 Stunden zuende ist, Amazon aber 1-2 Tage zur Lieferung braucht. Da ich noch keine Zeitmaschine habe, aber bereits heute Abend damit spielen möchte, muss ich das irgendwie zusammen hacken.

Das kann man sich doch sicher aus normalen Bauteilen schnell selbst bauen. Muss ja nicht extrem genau sein, Hauptsache es macht das Modul nicht kaputt. ^^

Ceos
10.08.2016, 13:50
von der 5V Seite zur 3V Seite geht das mit einem einfachen Spannungsteiler:

5V-TX --[1,5k]--- 3.3V-RX ---[2.2k]-- GND

für die Richtung 3.3V zu 5V ist es aber nicht so einfach!

Du kannst also im besten Fall vom Arduino etwas senden und auf der anderen Seite mit einem 3.3V tauglichen UART Empfänger lesen aber nicht umgekehrt

PS: denk dran dass du die GNDs miteinander verbinden musst!

Mxt
10.08.2016, 13:53
http://www.mikrocontroller.net/articles/Pegelwandler

Ob man von 3,3 auf 5 Volt überhaupt einen Pegelwandler braucht, muss man ausprobieren. Wenn das 5 V Teil TTL kompatibel ist, braucht man keinen.

Ceos
10.08.2016, 14:08
stimmt eigentlich, vll. reichen 3.3V am RX des Arduino zum Empfangen aus, Atmels sind recht kulant!
Stell mit einem Multimeter erstmal sicher dass am Arduino Board am RX Pin keine 5V anliegen, dann kannst du zur Sicherheit noch einen 2.2k Widerstand dazwischen hängen, das sollte tödlichen Schaden abwenden

VORSICHT: du kannst im Worst Case auch einen 10k Pull Up nach 5V an den RX Pin hängen und den 2.2k in Reihe zwischen Ardu RX und Funk TX(wie oben empfohlen), im schlimmsten Fall killst du halt den Funk TX

Zondan
14.08.2016, 12:59
Hi,
ich hab jetzt endlich etwas Zeit um mich weiter damit zu beschäftigen.
Hab Eclipse bereits für Programmierung vom Arduino Mini eingerichtet und es funktioniert auch problemlos. Mit 3,3V über die kleinen Spannungsversorgungen. Temperatur Sensor lässt sich auch auslesen, alles super. Erstaunlich einfach.

Jetzt hänge ich jedoch bei der Benutzung vom Wireless Modul: https://www.amazon.de/gp/product/B00P2KDTEC/ref=oh_aui_detailpage_o02_s01?ie=UTF8&psc=1
Das Ding hat 8 Beine, ohne Beschriftung. Ein Datenblatt finde ich nur für den Controller am Modul(ESP8266) aber nicht für das ganze Ding. Keine Ahnung wie ich das anschließen soll. Ehrlich gesagt kommt es mir auch so vor als wäre das Overkill für meinen Anwendungszweck.

Gibt es da nicht so 433MHz Dinger für Heimautomatisierung?

Zum ATTiny:
Ich hab mir diesen programmer https://www.amazon.de/gp/product/B0064LLRB0/ref=oh_aui_detailpage_o00_s02?ie=UTF8&psc=1
und dieses Festhalte Modul gekauft https://www.amazon.de/gp/product/B005GK4DXO/ref=oh_aui_detailpage_o00_s02?ie=UTF8&psc=1
Nur finde ich keine Infos wie man das verbinden soll, außerdem wenn ich nach jedem programmieren den Chip erst auf ein Breadboard umplatzieren muss um es zu testen wird es Prozess etwas langwierig. Glaub ich verstehe hier nicht ganz den Entwicklungsworkflow.

021aet04
14.08.2016, 17:45
Bei dem Modul hast du die Belegung des Moduls, die Register die du programmieren musst findest du im Datenblatt des ESP.

Es gibt auch Module für 433 bzw 868 MHz. Es gibt da z.b. Die RFM-Module.

Ich habe den gleichen bzw ähnlichen Sockel. Wenn es dir zu mühsam ist ständig den uC umzustecken gibt es mehrere Möglichkeiten. Entweder die isp Schnittstelle auf dem steckbrett verdrahten, oder ein zwischen Modul verwenden (wie z.b. Das Elektor T-Board, kann man aber auch einfacher machen).

MfG Hannes

Zondan
15.08.2016, 14:13
Ich habe den gleichen bzw ähnlichen Sockel. Wenn es dir zu mühsam ist ständig den uC umzustecken gibt es mehrere Möglichkeiten. Entweder die isp Schnittstelle auf dem steckbrett verdrahten, oder ein zwischen Modul verwenden (wie z.b. Das Elektor T-Board, kann man aber auch einfacher machen).

Ja nur wie steuer ich den Programmer an? Geht das über AVRDude von Eclipse? Muss ich da wieder eine Statisch Lib kompilieren oder kann ich vielleicht die die ich für Arduino gemacht hab weiter verwenden? Ich weiß nicht so ganz wie ich da anfangen soll. Scheitere schon am verbinden vom Programmer mit dem Chip. ^^

Ceos
15.08.2016, 14:39
2 Varianten, AVR Dude (ist kompatibel laut Artikelbeschreibung) oder wenn ein anderes Flash Tool angeboten wird, die .elf oder .hex file reinladen

Achte darauf dass du auch die FUSE Settings richtig einstellst! Ein "zerFUSEter" Controller ist i.d.R. futsch (es sei denn er hat genug Beine für JTAG oder sog. HV-Parallel Programming Interface)

021aet04
15.08.2016, 15:40
Der Programmer lädt nur die hex, elf bzw eep (EEProm Datei) in den Controller.
Der Programmierablauf sieht so aus:
Zuerst schreibst du das Programm, welches du nutzt ist egal, solange du den nötigen Controller auswählen kannst. Es von relativ einfachen Programmen wie Flowcode über Basic Dialekt (Bascom) bis hin zu C und Assembler.

Dieses Programm wird dann übersetzt (Compiler, Assembler). Anschließend werden die Teile gelinkt (Module zusammengefügt) und daraus die Hex erzeugt. Der Linker ist im Normalfall im Compiler integriert.

Anschließend kommt der Programmer zur Verwendung. Dieser besteht aus Software und Hardware. Software ist z.B. Avrdude, Ponyprog oder der im AVR Studio integrierte Programmer (es gibt noch mehr). Der Hardwareteil ist z.B. der ISP Adapter, JTAG Adapter,... Häufig gibt es aber auch einen Bootloader, dieser ist quasi der Programmer.

Somit musst du erst einmal das Programm erstellen und compilieren, das du die hex Datei hast. Erst dann benötigst du den Programmer. Es gibt Programmer mit denen kannst du dich immer verbinden (sofern richtig eingestellt) und musst mit keinem Controller verbunden sein (z.B. ISP Adapter). Bei anderen Programmern musst du mit dem Controller verbunden sein (z.B. JTAG).

MfG Hannes

Zondan
15.08.2016, 16:21
Das Problem ist wie verbinde ich den Chip mit dem Programmer?
31928

Der Chip hat 8 Beine, der Programmer entweder 6 oder 10, je nach Port.

021aet04
15.08.2016, 16:52
Du verwendest einen ISP Programmer, den verbindest du mit den ISP Anschlüssen des Controllers. Für den Anfang könntest du es mit dem Testsockel verbinden (einfach das Verbindungskabel am Programmer und am Testsockel, am richtigen Stecker, anschließen).
Wenn du es direkt verbinden willst (am Breadboard), verbindest du die Anschlüsse
VCC mit VCC
GND mit GND
Miso mit Mosi
Mosi mit Miso
Clk mit Clk
Rst mit Rst

Beim 10poligen Stecker hast du mehrmals GND, ansonsten ist er gleich wie der polige. Die anderen lässt du einfach frei. Achte auch auf die Versorgung, wenn die Schaltung von dem Programmer versorgt wird musst du auf die Strombelastung achten. Wenn du die Schaltung mit einer eigenen Versorgung hast, musst du die Versorgung (VCC) vom Programmer trennen, GND muss aber verbunden sein.

MfG Hannes

Zondan
15.08.2016, 18:09
Danke, mit den Infos hab ich das Pin Layout gefunden https://arduinoelettronica.files.wordpress.com/2012/02/attiny85_pinout.png
und dann den Programmer, hoffentlich richtig, verbunden.
Leider unterstützt der Programmer wohl nicht Linux und ist damit nutzlos für mich... schick ich morgen zurück.

Ist es möglich den Programmer mit dem ich die Arduinos programmere zu nutzen? https://www.amazon.de/gp/product/B00AFRXKFU/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1

Oder hast einen Vorschlag für einen einfachen Programmer?

Für die die es interessiert, das passiert wenn ich das Programm downloaden möchte:


Binary sketch size: 808 bytes (of a 8,192 byte maximum)
avrdude: stk500v2_command(): command failed
avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Unknown status 0x00
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

021aet04
15.08.2016, 18:18
Mit avrdude kenne ich mich nicht aus, dadurch kann ich dir da nicht helfen. Aber den Adapter, den du für die Arduinos hast, kannst du nicht nehmen. Das ist kein Programmer, sondern ein USB-Uart Wandler. Uart ist eine RS232 Schnittstelle mit 0-5V (bzw 0-3,3V) Pegel. Du kannst diesen beim Arduino nehmen, weil der Arduino einen bootloader besitzt.

MfG Hannes

Zondan
18.08.2016, 12:40
Heute ist es soweit, die Wireless Module sind gekommen und sobald ich zuhause bin werde ich sie testen. Vorausgesetzt ich kriege schnell eine Übertragung hin ist das gröbste fertig.

Mit dem neuen Programmer kann ich den Attiny85 problemlos programmieren(auch wenn das anschließen der Beine ein Horror war) und selbst debug prints über UART funktioniert toll.

Die letzte verbleibende Sache ist Powermanagement...
Ich möchte das das ganze mindestens 1 Jahr ohne Batterie wechsel funktioniert. Außerdem wäre es schön wenn ich ein Notsignal senden könnte wenn die Spannung anfängt zu fallen. Der Attiny hat einen ADC, kann ich die Spannung da einfach reinfetzen und mit der internen Referenz vergleichen? Oder ist das eine Schnappsidee? ^^

Welche Batterie wäre sinnvoll? Hab an eine 9V Block Batterie gedacht, jedoch muss ich dann zwingend die Spannung vorher runter auf 5V bringen da ich keine Arduinos mehr nutze.

Im Leerlauf verbrauche ich momentan ca 8mA laut Multimeter.
Würde gern einen längeren Test machen und mir den mAh Wert ausrechnen. Laut Wikipedia haben die 9V Block Batterien ca 550 mAh Kapazität. https://en.wikipedia.org/wiki/Nine-volt_battery#Technical_specifications
Da ich kein Oszilloskope habe und das 220V Stormmessgerät in Ah Stunden rechnet(und somit wohl sehr ungenau ist für so niedrige Ströme) kann ich mir vielleicht etwas basteln.

Falls meine Idee mit dem ADC funktioniert könnte ich doch mit Hilfe eines bekannten Widerstandes den Strom ausrechnen, das über Zeit integrieren(bzw aufsummieren) und hätte dann am Ende einen Verbrauch oder?

8mA kommte mir jedoch ziemlich hoch vor. Noch hab ich 0 Optimierungen im Code und alles ist Busy-Waiting. Ich denke man kann Strom sparen wenn man auf Interrupts geht und den Kern schlafen legt. Hab versucht etwas über dieses Thema zu finden, aber es ist so umfangreich das ist noch nicht so ganz durchblicke. Tipps?

Aja, weiß jemand wie die Delay Funktion realisiert ist? Ich nehme an auch durch dummes Busy-Waiting anstatt den Kern schlafen zu legen?

Peter(TOO)
18.08.2016, 15:16
Um mit den 550mAh ein Jahr auszukommen, musst du auf 0.063mA, im Mittel, runter.

Am einfachsten ist es schon, alles in Interrupts zu packen. Nach der Initialisierung besteht dann dein Programm nur noch aus:
while (1) SLEEP();

Allerdings musst du auch alle Peripherie ausschalten die nicht benötigt wird.

Weiter sollte man den Takt so weit runterschrauben wie möglich.
Bei CMOS besteht de3r Stromverbrauch aus einem konstanten Anteil, welcher sich aus eckströmen und dem Strom für PullUps zusammensetzt.
Der andere Anteil ist direkt proportional zur Frequenz. Also wenn sich die Frequenz verdoppelt, verdoppelt sich auch der Strom. Dies beruht vor allem im Umladen der Kapazitäten.
Deshalb spart es auch Strom, wenn man nicht benutzte Peripherie vom Takt trennt.

Den Stromverbrauch zu minimieren ist eine hübsche Aufgabe und du wirst dabei viel über den Prozessor lernen. :-)
Ein Oszilloskop brauchst du eigentlich gar nicht, es genügt ein langsames DVM, welches über die Messzeit den Mittelwert bildet. Ein DVM mit Dual- bzw. Quad Slope macht so 2-4 Messungen/s und ist dafür schon ganz gut geeignet.

MfG Peter(TOO)

wkrug
20.08.2016, 07:27
Eventuell wäre es auch sinnvoll den Strom für die Sensoren + Funkmodul abzuschalten, wenn nicht gemessen wird - Ein kleiner FET ?!
Irgendwie musst Du für Messungen den Controller auch wieder starten, das könnte eventuell ein Timer erledigen.

Zondan
20.08.2016, 08:02
Jup, daran hab ich auch schon gedacht. Kenne mich nur absolut garnicht mit Transistoren aus und hab schon überlegt ein Relais dafür zu nutzen. :D
Wenn du ein bestimmtest empfehlen kannst dann sag und ich kauf ein paar am Heimweg.

Im allgemeinen hab ich gerade Probleme Nachrichten zu schicken...
Hab diese Lib gefunden: https://github.com/mchr3k/arduino-libs-manchester, nachdem ich verzweifelt bin im Versuch das manuell zu machen. Hab entweder zuviel Störungen in der Umgebung oder ich mach was falsch. Oder beides.

Sende vom Attiny85 zum Arduino Pro Mini aber ich empfange nur Müll, also hin und wieder zufällige Nachrichten.

Sieht in etwa so aus:

$ cu -l /dev/ttyUSB0 -s 9600
Connected.
208
136
232
192

Hab deshalb noch nicht mit der Energie Optimierung begonnen.

Peter(TOO)
20.08.2016, 09:11
Hallo,

Jup, daran hab ich auch schon gedacht. Kenne mich nur absolut garnicht mit Transistoren aus und hab schon überlegt ein Relais dafür zu nutzen. :D
Wenn du ein bestimmtest empfehlen kannst dann sag und ich kauf ein paar am Heimweg.
Ein Relais braucht viel Strom für die Spule, so 30-100mA sind das schnell mal.
Das bringt's nicht wirklich!
Zudem sind Relais langsam, da musst du mit 20-50ms rechnen. In dieser Zeit arbeitet ein µC einige 100'000 Assembler-Befehle ab.

Ein FET wird nur mit der Spannung gesteuert, da fliessen nur Leckströme.

MfG Peter(TOO)

wkrug
20.08.2016, 18:48
Wie wär's mit einem BS 250?
Schön klein und kann bis zu 180mA schalten.

Für die Sensoren hast Du dich ja schon entschieden.
Du könntest Dir aber auch mal den SHT 11 bzw. den SHT 71 anschauen.
Die könnten Temperatur und Luftfeuchte gleichzeitig. Der A/D Wandler ist mit drauf.
Manko - Die Dinger sind sauteuer.