Sensoren im Einsatz mit ARDUINO

http://sites.schaltungen.at/arduino-uno-r3/sensoren-im-einsatz-mit-arduino

http://www.linksammlung.info/

http://www.schaltungen.at/

                                                                                            Wels, am 2017-03-05

BITTE nützen Sie doch rechts OBEN das Suchfeld  [                                                              ] [ Diese Site durchsuchen]

DIN A3 oder DIN A4 quer ausdrucken
**********************************************************************************
DIN A4  ausdrucken
********************************************************I*
ARDUINO-Bücher übliche Buchpreise
billigst   (10 Seiten kosten < € 0,40)
billig     (10 Seiten kosten < € 0,50)
normal     (10 Seiten kosten   € 0,80)
teuer      (10 Seiten kosten > € 1,10)
sehr teuer (10 Seiten kosten > € 1,40)

extrem teuer (10 Seiten kosten > € 1,90)
aber bei elektor kosten 10 Seiten auch schon einmal € 2,62


Bücher von Thomas Brühlmann sind immer Empfehlenswert, auch bei diesem ist der Inhalt sehr sehr gut.
Kaufempfehlung auch der Preis ist für das Gebotene mehr als OK
Nicht so wie bei vielen anderen möchtegern Autoren die aus kostenlosen Internet Inhalten ein Büch schreiben.
Die anderen Autoren finden es nicht eoinmal nötig zu prüfen ob die kopierten Sketche auch funktionieren.
Meiner Erfahrung nach stelle ich fest 100x kopiert = 100x falsch.


ORDNER > SENSOREN im Einsatz >

         Sensoren im Einsatz mit Arduino   (BUCH als *.pdf vorhanden)  € 29,99

(mitp Professional)Taschenbuch

von Thomas Brühlmann(Autor)


Sensoren im Einsatz mit Arduino - Bestellnummer: 2668, 04.03.2017
9783958451513.pdf 14.6 MB Bitte Download starten bis 2018-04-25 10:23 Verbleibende Downloads : 10

Sensoren im Einsatz mit Arduino 

Das Praxisbuch mit vielen Projekten

ISBN: 9783958451520

mitp-Verlag
http://arduino-praxis.ch/2017/03/01/buch-sensoren-im-einsatz-mit-arduino-im-handel-verfuegbar/

BUCH als  *.pdf
704_d_ARDUINO-x_3-95845-150-0 Sensoren im Einsatz mit Arduino - Leseprobe - Inhaltsverzeichnis (35 Seiten)_1a.pdf
x704_d_ARDUINO-x_3-95845-150-0  Sensoren im Einsatz mit ARDUINO - T. Brühlmann  (352 Seiten)_1a.pdf

Dateigröße:
17,774 MB
  • Taschenbuch: Softcover
  • 352 Seiten
  • Verlag: mitp; Auflage: 1. Auflage 2017 (28. Februar 2017)
  • Sprache: Deutsch
  • ISBN: 3-95845-150-0
  • ISBN: 978-3-95845-150-6  BUCH
  • ISBN: 978-3-95845-151-3  *.PDF
  • Größe und/oder Gewicht: 17,1 x 2 x 23,8 cm
  • Format 17 x 24 cm

Download Arduino Code  50kB

buch-sensoren-einsatz-arduino.zip

Download PHP Code   3kB

buch-sensoren-einsatz-arduino-php.zip


mitp Verlags GmbH & Co. KG
Augustinusstr. 9a
D-50226 Frechen

Tel. 02234 21901 0
Fax 02234 21901 88
mailto:[email protected]
www.mitp.de

http://www.555circuitslab.com/buecher/

http://555circuitslab.com
http://facebook.com/555circuitslab
mailto:[email protected]
https://twitter.com/arduinopraxis
http://arduino-praxis.ch
https://mitp.de/070

Firma Boxtec  http://shop.boxtec.ch


Arduino Uno R3
Microcontroller                          ATmega328
Spannungsversorgung          6–20 VDC (empfohlen 7–12 VDC)
Betriebsspannung                  5 VDC und 3,3 VDC (intern über Spannungsregler generiert)
Digitale Ein-/Ausgänge        14 (D0–D13, davon 6 als PWM-Ausgänge)
Analoge Eingänge                   6 (A0–A5), Auflösung 10 Bit
Strom pro digitalem Pin         20 mA DC
Flash Memory                          32 KB (ATmega328), wobei 0,5 KB vom Bootloader belegt
werden
SRAM                                         2 KB (ATmega328)
EEPROM                                    1 KB (ATmega328)
Taktfrequenz                             16 MHz
USB-Schnittstelle                        ja
Resetschalter                              ja
Onboard-ICSP-Stecker              ja
Abmessungen Board (L x B)    70 x 53 mm

https://www.arduino.cc/en/Main/Products

https://www.arduino.cc/en/Main/ArduinoBoardUno





 - Praktische Beschreibung zahlreicher Sensoren: von Temperatur- über Infrarot-, Farb- und Ultraschallsensoren bis hin zum Einsatz von Kompass, GPS-Modul und Kamera
 - Beispielprojekte aus den Bereichen Hausautomation, Mensch und Umwelt: Infrarot-Fernbedienung, Überwachungskamera, Bewegungsalarm, Strommesser uvm.
 - Daten übertragen, in Datenbanken speichern und mit LEDs und LCDs anzeigen


     Dieses Buch bietet einen praktischen Einstieg in die faszinierende Welt der Sensoren, die zusammen mit dem Arduino eingesetzt werden können. So kann der Arduino auf seine Umgebung reagieren und zahlreiche Werte erfassen, die vom Arduino-Board weiterverarbeitet und dargestellt werden können.

     Die vielen Beispielprojekte richten sich an Einsteiger, die bereits etwas Erfahrung mit dem Arduino-Board gesammelt haben und nun neue Anwendungen realisieren wollen. Mit den im Handel erhältlichen Sensoren, ein paar Erweiterungsplatinen und etwas Fantasie können Sie sich ein eigenes Netzwerk an Sensoren zur Erfassung Ihrer Umwelt aufbauen.

     Thomas Brühlmann zeigt Ihnen zahlreiche Sensoren und Beispielanwendungen zum Messen, Erfassen und Verarbeiten von Daten immer detailliert mit Stückliste, Steckbrettaufbau

Beispielcode zu den Themen Mensch & Umwelt sowie Haus & Hof, wie z.B.:
 - Temperatur, Licht, Farbe und Bild: Temperatur-, Infrarot-, Farb- und UV-Sensoren, lichtabhängiger Widerstand (LDR) sowie Einsatz einer Kamera
 - Distanz und Bewegung: Ultraschall-, PIR-, Piezo- und Tilt-Sensoren
 - Kräfte messen mit Flex- und druckempfindlichen Force-Sensoren
 - Ort erfassen mit Kompass und GPS-Modul
 - Einsatz von Gas- und Alkohol-Sensoren
 - Elektrische Phänomene wie Strom und elektrische Spannung messen und Einsatz eines Hall-Sensors
 - Haus und Garten: Temperatur und Luftfeuchtigkeit mit Umweltsensoren sowie Bodenfeuchte, Geräusche und Stromverbrauch messen
 - Mensch: Herzschlag und Hautwiderstand messen
 - Datenübertragung: seriell, drahtlos mit RF-Modul und über Bluetooth
 - Daten anzeigen mit LEDs und LCDs
 - Daten speichern: SD-Karte, EEPROM und lokale IoT-Datenbank mit MySQL-Datenbank
 - Einsatz eines Sensor-Shields und Sensor-Boards

Mit dem Wissen aus diesem Praxis-Handbuch können Sie Ihre eigenen Ideen kreativ umsetzen.

Projekte aus dem Buch:
Nachtlampe mit LDR
Infrarot-Fernbedienung
UV-Index-Monitor
Überwachungskamera
Abstandsmesser für Garage und Garagentor-Wächter
Süßigkeitenschrank-Wächter
Touch-Keyboards
Digitaler Kompass mit LED-Anzeige
Alkohol-Messgerät
Überwachungskontakt mit Hall-Sensor
Fensterkontakt überwachen
Lügendetektor
Fernsteuerung

Umweltdaten sammeln, an Webserver senden und Daten erfassen mit PHP
Sensordaten als Liniengrafik darstellen





Inhaltsverzeichnis



Einleitung. . 11

1 Arduino-Plattform . 15
buch_sensor_kap1_rf433_tx.ino
1.1 Das Arduino-Board . 15

1.1.1 Praxisbeispiel: ARDUINO UNO Minimalschaltung . 19 § ATmega328

1.2 Entwicklungsumgebung (IDE). . 20

1.3 Bibliotheken . 23

1.4 Shields . 26

1.4.1 Praxisbeispiel: Arduino mit Proto-Shield und Display-Shield . 26

1.5 Steckbrett (Breadboard). . 28 § BreadBoard

2 Warm & kalt. . 31
buch_sensor_kap2_ir_control.ino
2.1 Temperatursensor NTC (Thermistor) . 31 § NTC 10k

2.1.1 Praxisbeispiel: Temperaturmessung mit NTC. . 32
buch_sensor_kap2_ntc.ino
2.2 Analoger Temperatursensor . 35 § LM35
buch_sensor_kap2_lm35.ino
2.2.1 Praxisbeispiel: Raumtemperaturmessung mit LM35 . 36

2.3 Serieller Temperatursensor . 38 § DS1820   TO-92
buch_sensor_kap2_ds1820.ino
2.3.1 Praxisbeispiel: Temperaturmessung über seriellen Bus mit DS1820 . 39

2.4 Auswahl eines Temperatursensors . 43

3 Licht & Farbe & Bild . 45

3.1 Lichtabhängiger Widerstand (LDR) Fotowiderstand
. 45 § LDR05

3.1.1 Praxisbeispiel: Lichtmesser mit LDR . 46
buch_sensor_kap2_ldr.ino
3.1.2 Praxisbeispiel: Nachtlampe mit LDR . 47
buch_sensor_kap2_ldr-pwm-led.ino
3.2 Infrarotanwendungen mit IR-Sensor.- IR-Receiver
. 50 § TSOP38238

3.2.1 Praxisbeispiel: Infrarot-Fernbedienung . 52

3.2.2 Praxisbeispiel: LED einschalten mit IR-Fernbedienung . 54
buch_sensor_kap3_remote_sparkfun.ino
3.3 Farben erkennen mit I2C RGB-Farb-Sensormit IR-Filter
. 58 § TCS34752  Fa. TAOS

3.3.1 Praxisbeispiel: Sensor erkennt Farben . 58

3.4 UV-Strahlung messen mit UV-Sensor. . 60 § ML8511

3.4.1 Praxisbeispiel: UV-Index-Monitor. . 63
buch_sensor_kap3_uv_index.ino
3.5 Bilderfassung mit Adafruit Breakout-Board Kamera . 68 § TTL-Serial-JPEG-Cam
buch_sensor_kap3_jpeg_cam_motiondetect.ino
3.5.1 Praxisbeispiel: Überwachungskamera . 69 SD-Karten-Adapter
SD-Karte-Breakout-Board
4 Distanz & Bewegung . 81

4.1 Ultraschall-Sensor US-Sensor Entfernung  3..400cm
. 81 § HC-SR04
buch_sensor_kap4_hc_sr04.ino
4.1.1 Praxisbeispiel: Abstandsmesser mit Ultraschall-Sensor . 82
buch_sensor_kap4_hc_sr04_led.ino
4.1.2 Praxisbeispiel: Abstandsmesser für die Garage . 86

4.2 Bewegungsmelder PIR-Sensor- passive infrared
. 89 § HC-SR501
buch_sensor_kap4_pir_sensor.ino
4.2.1 Praxisbeispiel: Raum-Bewegungsmelder . 91

4.3 Neigung erfassen mit Tilt-Sensor. . 93 § AT407
Neigungs-Sensor
4.3.1 Tilt-Sensor AT407     Neigungs-Sensor . 94
buch_sensor_kap4_tilt_rpi_1031.ino
4.3.2 Praxisbeispiel: Garagentor-Wächter . 94
buch_sensor_kap4_garagentor.ino
4.3.3 Tilt-Sensor . 97 § RPI-1031
Neigungs-Sensor
4.3.4 Praxisbeispiel: Neigungsmesser mit Neigungsrichtungserkennung. . 99

4.4 Tongeber Piezo-Sensor . 102 § Piezo-Sensor
4.4.1 Praxisbeispiel: Piezo als Klopf-Sensor. . 102 § Piezo-Sensor buch_sensor_kap4_piezo_klopf.ino
5 Kräfte . 107

5.1 Biegung messen mit Flex-Sensor  9..30k Ohm
. 107 § Flex-Sensor 4.5 Zoll
buch_sensor_kap5-flexsensor.ino
5.1.1 Praxisbeispiel: Flex-Sensor-Testschaltung . 108

5.1.2 Praxisbeispiel: Candy-Schrank-Wächter . 110
buch_sensor_kap5-candy-waechter.ino
5.2 Druckempfindlicher Sensor – Force-Sensor (FSR). . 114 § FSR-Sensor
50g = 10k  1000g = 1k
5.2.1 Praxisbeispiel: Druck messen mit FSR-Sensor . 115 § FSR-Sensor Sparkfun buch_sensor_kap5-fsr-sensor.ino
5.3 Berührungs  Eingabe mit IC  7-fach Berühr-Sensor
. 117 § AT42QT1070
QT1070
5.3.1 Praxisbeispiel: Touch-Keyboards . 119

5.3.2 Praxisbeispiel: Q-Touch-Sensor. . 120
buch_sensor_kap5-qtouch-key.ino
5.3.3 Praxisbeispiel: Mini-Keyboard . 123
buch_sensor_kap5_minikeyboard.ino
6 Ort. . 127

6.1 Zeig mir Norden – Kompass. . 127 § HMC5883L Breakout-Board
6.1.1 Praxisbeispiel: Kompass mit HMC5883 . 129
buch_sensor_kap6_hmc5883_compass.ino
6.1.2 Praxisbeispiel: Digitaler Kompass mit LED-Anzeige . 130
buch_sensor_kap6_projekt_compass.ino
6.2 Position ermitteln mit GPS-Modul. . 136 635 0005
Sparkfun
6.2.1 Praxisbeispiel: GPS-Daten abfragen . 136
buch_sensor_kap6_gps_position.ino
6.2.2 Praxisbeispiel: Anzeige GPS-Position . 139

7 Gase . 143 § MQ4

7.1 Elektronische Nasen – Gas-Sensoren. . 143 § MQ6

7.2 MQ2 – Gas und Rauch . 144 § MQ2
buch_sensor_kap7-mq-2-sensor.ino
7.2.1 Praxisbeispiel: Gase messen . 145 § MQ5

7.3 MQ3 – Alkohol-Sensor . 146 § MQ3
buch_sensor_kap7-mq-3-sensor.ino
7.3.1 Praxisbeispiel: Alkohol-Messgerät . 147 § MQ7  MQ8

8 Elektrische Phänomene. . 149

8.1 Elektrischen Strom messen . 149 § INA169

8.1.1 Praxisbeispiel: Strommessung mit Shunt  100Ampere
. 149 § 0,05 Ohm Shunt
buch_sensor_kap8_messung_strom.ino
8.1.2 Praxisbeispiel: Strommessung mit High-Side-Messmodul . 151 § ACS712
8.2 Messung einer elektrischen Spannung . 154

8.2.1 Praxisbeispiel: Spannungen von 0 bis 5 Volt messen . 154 § Spannungsteiler
buch_sensor_kap8_messung_spannung.ino
8.2.2 Praxisbeispiel: Spannungen von 5 bis 30 Volt messen . 156

8.3 Hall-Sensorzum Messen des Magnetfeldes
. 160 § A3144
8.3.1 Praxisbeispiel: Überwachungskontakt mit Hall-Sensor . 161
buch_sensor_kap8_ueberwachungskontakt.ino
9 Haus & Garten. . 165

9.1 Temperatur & Luftfeuchtigkeit. DHT11   DHT22 . 165 § DHT11 +/- 2,0 °C     +/- 5% rLF buch_sensor_kap9_dht11.ino
9.1.1 Umweltsensoren -  Temperatur & Luftfeuchtigkeit . 165 § DHT22
+/-  0,5 °C     +/-2% rLF
9.1.2 Praxisbeispiel: Wetterstation mit DHT-Sensor . 166

9.1.3 Umweltsensor -  Temperatur & Luftfeuchtigkeit . 171 § SHT31  SHT3x
+/- 0,2 °C    +/-2% rLF
9.1.4 Praxisbeispiel: Ansteuerung des SHT31 . 173 § Breakout-Board buch_sensor_kap9_sht3x.ino
9.2 Sensoren für Bodenfeuchte-Messung . 177 § 2 Nägel

9.2.1 Praxisbeispiel: Chirp-Feuchtesensor I2C
. 178 § soil-moisture-sensor
buch_sensor_kap9_chirp.ino
9.3 Laut und leise – Geräusche erfassen . 184 § ECM
buch_sensor_kap9_loudness.ino
9.3.1 Praxisbeispiel: Lärmmesser mit optischer Anzeige . 184

9.4 Stromverbrauch messen (Gleichstrom) . 189 § ACS712 buch_sensor_kap9_acs712.ino
9.4.1 Praxisbeispiel: Einfache Strommessung mit ACS712-Sensor . 190 § ACS712

9.5 Stromverbrauch messen (Wechselstrom) . 194

9.5.1 Praxisbeispiel: Kontaktlose Messung von Strom und Leistung mit SCT-013-Sensor . 197 § SCT-013

9.5.2 Praxisbeispiel: Energy-Monitor-Board . 201
buch_sensor_kap9_energiemonitor.ino
9.6 Fenster- Türkontakt Sensormit Permanent-Magnet
. 202 § Reed-Kontakt
buch_sensor_kap9_door_switch.ino
9.6.1 Praxisbeispiel: Fenster mit Fensterkontakt überwachen . 202

10 Mensch. . 209

10.1 Herzschlag messen- Pulsmesser
. 209 § Puls-Sensor
www.pulsesensor.com
10.1.1 Praxisbeispiel: Herzschlag messen mit Infrarot-Sensor . 210
buch_sensor_kap10_pulsesensor.ino
10.2 Hautwiderstand messen . 213
buch_sensor_kap10_hautsensor.ino
10.2.1 Praxisbeispiel: Richtig oder falsch mit Lügendetektor . 214 § Finger-Sensor

10.2.2 Praxisbeispiel: Messwerte darstellen mit seriellem Plotter . 216

11 Datenübertragung . 219

11.1 Serielle Übertragung . 219
buch_sensor_kap11_serielle_ausgabe.ino
11.1.1 Praxisbeispiel: Serieller Monitor . 220
buch_sensor_kap11_1sheeld_led.ino
11.2 Drahtlos mit RF-Modul (433 MHz) . 221 § 433MHz RF-Modul buch_sensor_kap11_rf433_rx.ino
11.2.1 Praxisbeispiel: Daten drahtlos senden mit 433-MHz-RF-Kit . 221 § 433MHz RF-Kit buch_sensor_kap11_rf433_tx.ino
11.2.2 Praxisbeispiel: 433-MHz-Sender . 223
buch_sensor_kap11_rf433_tx_lm35.ino
11.2.3 Praxisbeispiel: 433-MHz-Empfänger. . 226

11.2.4 Praxisbeispiel: Drahtloser Temperatursensor LM35 . 230 § LM35
buch_sensor_kap11_rf433_rx_lm35.ino
11.3 Bluetooth . 237

11.3.1 Praxisbeispiel: Bluetooth-Anwendungen mit 1Sheeld . 237

11.3.2 Praxisbeispiel: 1Sheeld – Erste Anwendung. . 242

11.3.3 Praxisbeispiel: Fernsteuerung . 243
buch_sensor_kap11_1sheeld_ir_remote.ino
12 Daten anzeigen & speichern . 249 § LED

12.1 Elektronische Lampe – Leuchtdiode (LED) . 249

12.1.1 Praxisbeispiel: Ansteuerung der Leuchtdiode . 250

12.1.2 Praxisbeispiel: Mini-Lichtelement mit LED . 251
buch_sensor_kap13_rgb.ino
12.2 Viele Farben mit RGB-LED. . 252 § RGB-LED
buch_sensor_kap12_rgb_ansteuerung.ino
12.2.1 Praxisbeispiel: Ansteuerung einer RGB-Leuchtdiode . 254 § WS2812B-Neopixel
Breakout
12.3 LED-Streifen mit Neopixel   8x8=64 LEDs
. 256 § Neopixel RGB-LED Matrix
buch_sensor_kap12_neopixel_strandtest.ino
12.3.1 Praxisbeispiel: Farbmuster mit LED-Streifen . 258
buch_sensor_kap12_serial_lcd.ino
12.4 Balkenanzeige mit LED . 262 §
buch_sensor_kap12_bargraph.ino
12.4.1 Praxisbeispiel: 10-Segment-Balkenanzeige. . 264 § Widerstandsnetzwerk
10-Segm- LED Bar Anzeige
12.5 Daten und Messwerte anzeigen mit Display . 267 § HD44780
buch_sensor_kap12_lcd_ldr.ino
12.5.1 Praxisbeispiel: Parallele LCD-Ansteuerung . 269 § LCD-Display 2x15 Zeichen
buch_sensor_kap12_lcd_parallel_4bit.ino
12.6 Daten speichern auf SD-Karte. . 272
buch_sensor_kap12_datenlogger.ino
12.6.1 Praxisbeispiel: Datenlogger mit SD-Karte. . 273 § SD-Card-Shield LDR05
buch_sensor_kap12_datenlogger_rtc.ino
12.6.2 Praxisbeispiel: Uhrzeit mit DS1307. . 277 § DS1307 RTC-Modul – Uhrenbaustein  Fa.Sparkfun buch_sensor_kap12_ds1307.ino
12.6.3 Praxisbeispiel: Datenlogger mit Zeitstempel . 281 § Lithium-Batterie, Typ CR2032
12.7 Datenspeicher EEPROM . 285

12.7.1 Praxisbeispiel: Daten ins EEPROM schreiben . 285
buch_sensor_kap12_eeprom_schreiben.ino
12.7.2 Praxisbeispiel: Daten aus dem EEPROM lesen . 286
buch_sensor_kap12_eeprom_lesen.ino
12.7.3 Praxisbeispiel: Daten aus dem EEPROM löschen . 288
buch_sensor_kap12_eeprom_loeschen.ino
12.8 Internet-Plattformen – Internet of Things (IoT) . 289

12.9 Sensordaten bei ThingSpeak. . 290
buch_sensor_kap12_thingspeak_one_channel.ino
12.9.1 Praxisbeispiel: Lichtmesswerte an ThingSpeak senden. . 293

12.10 Lokale IoT-Datenbank mit MySQL-Datenbank . 297

12.10.1 Praxisbeispiel: Webserver installieren. . 297

12.10.2 Praxisbeispiel: MySQL-Datenbank verwalten . 299

12.10.3 Praxisbeispiel: Sensordaten-Erfassung- Ethernet-Shield . 299 § DHT11
buch_sensor_kap12_ethernet_senddata.ino
12.10.4 Praxisbeispiel: Daten erfassen mit PHP . 303

12.10.5 Praxisbeispiel: Sensordaten in Webbrowser darstellen . 305

12.10.6 Praxisbeispiel: Sensordaten als Liniengrafik darstellen. . 307

12.10.7 Praxisbeispiel: Umweltdaten sammeln und an Webserver senden . 311

13 Sensor-Shield . 317
Thomas Brühlmann Sensor Shield
13.1 Das Sensor-Shield . 317

13.2 Shield-Schaltung . 318

13.3 Anschlussmöglichkeiten . 320

13.4 Anschlussbelegung . 323

13.5 Anwendungsmöglichkeiten . 324

13.5.1 Praxisbeispiel: Ansteuerung RGB-LED . 324
buch_sensor_kap13_rgb_monitor.ino
13.5.2 Praxisbeispiel: Analogwert-Monitor mit RGB . 326

13.6 Bezugsquellen . 332

14 Sensor-Board ARDUINO UNO Minimalschaltung . 333 § ATmega 328p
Thomas Brühlmann Sensor Board
14.1 Sensor-Board . 333

14.1.1 Praxisbeispiel: Grundaufbau Sensor-Board . 336

14.1.2 Praxisbeispiel: Programmierung des Sensor-Boards. . 337

14.2 Low-Power-Betrieb. . 341
buch_sensor_kap14_low_power.ino
14.2.1 Praxisbeispiel: Stromverbrauch reduzieren auf dem Arduino-Board . 341

14.2.2 Praxisbeispiel: Sensor-Board im Low-Power-Betrieb mit Low-Power-Bibliothek . 343

14.2.3 Praxisbeispiel: Sensor-Board im Low-Power-Betrieb mit JeeLib-Bibliothek . 344
buch_sensor_kap14_low_power_jeelib.ino

Stichwortverzeichnis . 347




ARDUINO UNO R3 Minimalschaltung




Schaltbild ARDUINO UNO R3 Minimalschaltung

Schaltungsaufbau auf Steckbrett BreadBoard


Arduino mit Proto-Shield
http://shop.boxtec.ch/protonly-protoshield-pcb-p-41152.html



Ethernet-Shield       https://www.arduino.cc/en/Main/ArduinoBoardEthernet
Motor-Shield            https://www.arduino.cc/en/Main/ArduinoMotorShieldR3
Datalogger-Shield    https://www.adafruit.com/products/1141




3 = Vcc
1= Signal
2 = GND

IR-Receiver TSOP38238
https://www.sparkfun.com/products/13235
https://www.adafruit.com/product/389

ttps://github.com/z3t0/Arduino-IRremote




Farbsensor-TCS34725-Breakout-Board

Adafruit      https://www.adafruit.com/product/1334
Exp-Tech    http://www.exp-tech.de/adafruit-rgb-color-sensor-with-ir-filter-tcs34725




UV-Sensor ML8511-Breakout-Board TTL serial

UV-Index =  0   =  0,9V
UV-Index =  1, 2 schwach  ( kein Schutz erforderlich)
UV-Index =  3, 4, 5, mittel  (Kopfbedeckung, T-Shirt, Sonnenbrille)
UV-Index =  6, 7, hoch  = 1,8V  (wie oben  + Sonnenchreme 20er)
UV-Index =  8, 9, 10 sehr hoch  (Aufenthalt im Freien möglichst vermeidem
UV-Index =  11 extrem  (wie oben + 50er Sonnenchreme)
UV-Index = 15  =  2,8V


Spakfun    https://www.sparkfun.com/products/12705
Exp-Tech   http://www.exp-tech.de/sparkfun-uv-sensor-breakout-ml8511
BocTec      http://shop.boxtec.ch/sensor-breakout-ml8511-p-41961.html



ML8511-Breakout-Board

Mit dem kleinen Breakout-Board von Sparkfun ist keine externe Beschaltung des UV-Sensors notwendig.
Für die UV-Messung benötigt das Breakout-Board eine 3,3-V-Spannungsversorgung.
Zusätzlich kann der UV-Sensor mittels eines Freigabe-Signals (EN) in den Standby-Modus versetzt werden.
Bei einem HIGH am Eingang EN ist der Sensor im aktiven Modus, mit einem LOW im Standby-Betrieb.
Die Anschlusspins des Breakout-Boards können direkt mit dem Arduino-Board verbunden werden.



Wildkamera am Futterhaus



Fa. Adafruit  TTL-Serial-JPEG-Cam
Durch die serielle Ansteuerung eignet sich diese Kamera ideal für Hausautomationsprojekte mit Arduino.
Die Kamera hat verschiedene Funktionen:
Auto-Kontrast oder Bewegungserkennung.
Für die Speicherung der erstellten Fotos muss ein Rechner über die serielle Verbindung angeschlossen sein oder man sichert die Bilder auf einer am Arduino-Board angeschlossenen SD-Karte.
SD-Karte-Shield oder SD-Karten-Adapter § SD-Karte
ODER
WiFi-Speicherkarte, die auch unter der Bezeichnung FlashAir bekannt ist
http://www.reichelt.com/SD-Karten-mit-Wi-Fi/TOS-SD-F16AIR/3/index.html?ACTION=3&LA=2&ARTICLE=154619
Die FlashAir-Speicherkarte kann wie eine handelsübliche SD-Karte verwendet werden.
Für die erste Inbetriebnahme steckt man die Karte in den einen Speicherkartenadapter
und verbindet diesen mit dem Rechner oder man verwendet einen SD-Karten-Adapter für Arduino
und schaltet dann die Versorgungsspannung ein.
Kurz nach dem Einstecken beziehungsweise Einschalten erscheint auf dem Smartphone ein neues WLAN, über das man sich verbinden kann.
Der Name des WLAN der FlashAir-Karte beginnt immer mit »flashair_«
Das Standardkennwort finden Sie in den Unterlagen zur Karte.
Nach der Inbetriebnahme empfiehlt der Hersteller, umgehend den WLAN-Namen (SSID) und das Kennwort der FlashAir-Karte über die Weboberfläche zu ändern.
http://flashair.local

Neben der Versorgungsspannung von +5 V und GND werden die beiden seriellen Leitungen TX und RX benötigt.
Da die Kamera intern mit 3,3 V arbeitet, muss der Signalpegel am Signal RX mit einem Spannungsteiler angepasst werden.

Adafruit      https://www.adafruit.com/products/397
Exp-Tech    http://www.exp-tech.de/ttl-serial-jpeg-camera-with-ntsc-video
BoTec         http://shop.boxtec.ch/linksprite-jpeg-color-camera-ttl-interface-p-40744.html





SD-Karten-Adapter / ARDUINO UNO R3
+5V        +5 V
GND       GND
CLK        pin-13
DO          pin-12
DI           pin-11
CS          pin-10 (oder anderen Pin)

SD-Card-Shield

Mit einem SD-Karten-Adapter kann die SD-Karte mit dem Arduino-Board verbunden werden.
Diese SD-Karten-Adapter gibt es als kleines Breakout-Board oder als Arduino-Shield.
Ein Breakout-Board muss mittels Drahtverbindungen mit dem Arduino-Board verdrahtet werden.
Ein SD-Karte-Shield kann direkt auf den Arduino gesteckt werden

Wird ein sogenanntes Breakout-Board verwendet, muss geprüft werden, ob ein Pegelwandler integriert ist.
SD-Karten selbst werden mit 3,3-VLogik angesteuert.

IteadStudio       https://www.itead.cc/itead-stackable-sd-card-shield.html
Seeed Studio    https://www.seeedstudio.com/SD-Card-Shield-V4-p-1381.html
Exp-Tech           http://www.exp-tech.de/seeed-studio-sd-card-shield-v4-0

SD/Micro-SD-Karte-Breakout-Modul
IteadStudio  https://www.itead.cc/sd-micro-SD-Karte-breakout-module.html    
Shop Botec  http://shop.boxtec.ch/micro-card-breakout-module-5v33v-compatible-p-40423.html


Bibliothek und Code

Dank der Arbeit von Limor Fried von Adafruit gibt es eine einfach zu nutzende Bibliothek für die Ansteuerung der Serial-JPEG-Cam mit Arduino.
#include <Adafruit_VC0706.h>
#include <SPI.h>
#include <SD.h>
usw.

https://github.com/adafruit/Adafruit-VC0706-Serial-Camera-Library




Abstandsmesser mit Ultraschall-Sensor / US-Sensor
Abstands-Sensor / Entfernungs-Sensor / Distanz-Sensor
Bewegungs-Sensor

Bei der Abstandmessung mit Ultraschall wird ein Schallsignal vom Sender versendet.
Trifft das Schallsignal auf ein Objekt, wird es zurückgeworfen und vom Sender wieder empfangen.
Die Zeit zwischen dem Senden und dem Empfangen des Schallsignals ist ein Maß für den Abstand zum Objekt.
Bei einer Schallgeschwindigkeit von 340 m/s, was einer Laufzeit von 29 Mikrosekunden pro Zentimeter entspricht, kann der Abstand wie folgt ermittelt werden.

Abstand in cm = gemessene Zeit / 29 / 2

Da die gemessene Zeit den Hin- und den Rückweg erfasst, muss in der Berechnung das Resultat durch 2 dividiert werden.
Der bekannteste Ultraschall-Sensor im Arduino-Umfeld ist der Typ HC-SR04,



Ultraschall-Sensor – Ultrasonic HC-SR04

Abstandmessung mit HC-SR04-Ultraschall-Sensor Beispiel Sparkfun)

SparkFun  https://www.sparkfun.com/products/13959
Reichelt     https://www.reichelt.com/Weiteres-Zubehoer/DEBO-SEN-ULTRA/3/index.html?ACTION=3&GROUPID=6671&ARTICLE=161487&OFFSET=16&

Neben dem Ultraschall-Sensor HC-SR04 ist auf dem Markt ein Sensortyp mit dem Namen Ping erhältlich
Parallax  https://www.parallax.com/product/28015
Dieser Sensortyp des Herstellers Parallax hat eine unterschiedliche Anschlussbelegung.
Für die Ansteuerung ist ein anderer Programmcode erforderlich ! ! !



Abstandsmesser für die Garage mit 6 LED Balkenanzeige
                                  UGW  IO  OGW

Rot     pin-7    1 bis  9 cm
Orange  pin-6   10 bis 19 cm
Gelb    pin-5   20 bis 29 cm
Gelb    pin-4   30 bis 39 cm
Grün    pin-3   40 bis 49 cm
Weiß    pin-2    > 50 cm


Mit der Technik der Portmanipulation können Sie die Portregister vom ATmega328, dem Microcontroller des Arduino Uno, auf einfache Weise ansteuern.
Jeder Microcontroller hat eigene Portbezeichnungen, die sich unterscheiden.
Port D des Atmega328 sind die digitalen Pins D0 bis D7.
Weitere Details zur Portmanipulation finden Sie unter:
https://www.arduino.cc/en/Reference/PortManipulation

Sketch:

Abstandmessung mit HC-SR04 Ultraschall-Sensor und LED-Anzeige
buch_sensor_kap4_hc_sr04_led.ino

//
// Abstandmessung mit HC-SR04 Ultraschall-Sensor und LED-Anzeige
// (Beispiel Sparkfun)
//

/**
 * HC-SR04 Demo
 * Demonstration of the HC-SR04 Ultrasonic Sensor
 * Date: 2016-08-03
 * License:  Public Domain
 */

// Sensor Pins

const int TRIG_PIN = 9;
const int ECHO_PIN = 10;

// LED-Pins
int PinLED1 = 7;
int PinLED10 = 6;
int PinLED20 = 5;
int PinLED30 = 4;
int PinLED40 = 3;
int PinLED50 = 2;


// Distanzen über 400cm (23200 us pulse) sind "out of range"
const unsigned int MAX_DIST = 23200;

void setup()
{
  // Trigger für Start Messung
  pinMode(TRIG_PIN, OUTPUT);
  digitalWrite(TRIG_PIN, LOW);

  // LED für Abstandsanzeige
  pinMode(PinLED1, OUTPUT);
  pinMode(PinLED10, OUTPUT);
  pinMode(PinLED20, OUTPUT);
  pinMode(PinLED30, OUTPUT);
  pinMode(PinLED40, OUTPUT);
  pinMode(PinLED50, OUTPUT);

  // Serielle Schnittstelle

  Serial.begin(9600);
}

void loop()
{
  unsigned long t1;
  unsigned long t2;
  unsigned long pulse_width;
  float cm;
  float inches;


  // Trigger auf HIGH für min. 10us
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);

  // Warten auf Signal an Echo-Pin
  while ( digitalRead(ECHO_PIN) == 0 );


   // Hinweis: Der micros () Zähler wird nach ca. 70 min überlaufen
   // Messung von Pulslänge an Echo-Pin

  t1 = micros();
  while ( digitalRead(ECHO_PIN) == 1);
  t2 = micros();
  pulse_width = t2 - t1;

               // Berechnung von Distanz in cm und inch

  cm = pulse_width / 58.0;
  inches = pulse_width / 148.0;

               // Ausgabe auf serielle Schnittstelle
  if ( pulse_width > MAX_DIST )
  {
    Serial.println("ERROR: Out of range");
  }
  else
  {
    Serial.print("Abstand: ");
    Serial.print(cm);
    Serial.print(" cm, ");
    Serial.print(inches);
    Serial.println(" in");

                          // Ansteuerung der Abstands-LED
    if (cm >= 1)
    {
      PORTD = B10000000;
      }
    if (cm >= 10)
    {
      PORTD = B11000000;
      }
    if (cm >= 20)
    {
      PORTD = B11100000;
      }
    if (cm >= 30)
    {
      PORTD = B11110000;
      }
    if (cm >= 40)
    {
      PORTD = B11111000;
      }
    if (cm >= 50)
    {
      PORTD = B11111100;
      }
  }

  delay(60); 
   // warten bis nächste Messung
}




Bewegungsmelder PIR-Sensor

HC-SR501 Arduino Tutorial and Manual

In der dunklen Jahreszeit sind Bewegungsmelder beim Hauseingang praktische Module für die bewegungsabhängige Aktivierung einer Beleuchtung.
Im Handel und im Baumarkt gibt es eine Vielfalt von kostengünstigen Bewegungsmeldern für den häuslichen Bereich.


This motion sensor module uses the LHI778 Passive Infrared Sensor and the BISS0001 IC to control how motion is detected.
The module features adjustable sensitivity that allows for a motion detection range from 3 meters to 7 meters.
http://henrysbench.capnfatz.com/henrys-bench/arduino-sensors-and-input/arduino-hc-sr501-motion-sensor-tutorial/






Garagentor-Wächter mit Tilt-Sensor AT407



SparkFun  https://www.sparkfun.com/products/10289







Optischen Tilt-Sensor RPI-1031
Mit dem optischen Tilt-Sensor RPI-1031 können Sie nicht nur eine Bewegungsrichtung erfassen wie beim AT407.
Dank des internen Aufbaus mit mehreren optischen Elementen kann der RPI-1031 Neigungen in vier Richtungen erkennen und auswerten


Tilt-a-Whirl Breakout - RPI-1031  -  SEN-10621

Neigungs-Sensor mit  4 Neigungsrichtungen (Sparkfun-Breakout-Board)  RPI-1031

SparkFun  https://www.sparkfun.com/products/retired/12011
https://www.sparkfun.com/products/retired/10621

Aliexpress (China Import) https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20161026015735&SearchText=RPI-1031
Product Category:

Optical Switches, Reflective, Phototransistor Output
Manufacturer: ROHM Semiconductor


Datenblatt:  https://www.sparkfun.com/datasheets/Sensors/rpi-1031.pdf





Schaltung Breakout-Board   RPI-1031

Auf dem Breakout-Board von Sparkfun sind neben dem Tilt-Sensor RPI-1031 noch externe Komponenten aufgelötet.
Anhand der Schaltung des Breakout-Boards ist zu erkennen, dass die Diode über einen Vorwiderstand an +5 V angeschlossen ist und im Dauerbetrieb arbeitet.
Die Diode sendet also immer ein Lichtsignal.
Werden die Fototransistoren angeleuchtet, schalten diese durch und über die Pulldown-Widerstände liegt an den Ausgangssignalen S1 und S2 ein HIGH-Signal.
Ist der Lichtstrahl zu einem Transistor durch die Kugel unterbrochen, schaltet der Fototransistor nicht durch und am entsprechenden Ausgang liegt ein LOW-Signal.


Ausgang S1    Ausgang S2    Ausgang binär    Ausgang dezimal
LOW           LOW           00               0
LOW           HIGH          01               1
HIGH          LOW           10               2
HIGH          HIGH          11               3





Tongeber Piezo-Sensor  z.B. Piezo als Klopf-Sensor



Piezo-Sensor

Die Piezo-Sensoren bestehen aus verschiedenen Metallen. Bei Verformung des Piezo-Sensors oder durch eine Krafteinwirkung mittels Druck oder Schlag wird
eine kleine Spannung erzeugt. Dieses Phänomen ist in der Physik unter dem Begriff »Piezoeffekt« bekannt.
Darum eignet sich der Piezo-Sensor ideal als Klopfsensor.
Die beim Klopfen erzeugte Spannung am Sensor wird an einem analogen Eingang des Arduino-Boards eingelesen und ausgewertet.




Biegung messen mit Flex-Sensor / Windgeschwindigkeits-Messer

Der Flex-Sensor ist ein veränderbarer Widerstand in Form eines flexiblen und biegsamen Streifens
Der Flex-Sensor mit einer Länge von 4,5 Zoll (114,3mm)  hat in geradem Zustand einen Widerstandswert von rund 9k Ohm.
Wird der Sensor gebogen, vergrößert sich der Widerstandswert auf etwa 30k Ohm.



Wird der Flex-Sensor gebogen, erhöht sich sein Widerstandswert.
Die metallene Seite des Sensors sollte dabei nach außen gerichtet sein, der Text nach innen.
Der Flex-Sensor ist in verschiedenen Längen erhältlich

SparkFun     https://www.sparkfun.com/products/10264?_ga=1.212535060.1805372550.1475929381
Watterott       http://www.watterott.com/de/Flex-Sensor-45
Boxec           http://shop.boxtec.ch/flex-sensor-p-41993.html



Druckempfindlicher Sensor – Force-Sensor -  FSR-Sensor
Der druckempfindliche Sensor FSR (Force Sensitive Resistor) ist ein runder Messaufnehmer.
Der Sensor verändert seinen Widerstand in Abhängigkeit vom Druck auf die Messfläche.
Bei leichtem Druck ist ein hoher Widerstand messbar.
Mit dem Erhöhen des Drucks vermindert sich der elektrische Widerstand.
Bei 50 Gramm Druck ist ein Widerstand von rund 10k Ohm messbar, bei rund 1000 Gramm Druck vermindert sich der Widerstand auf rund 1k Ohm.

Druckabhängiger Widerstand mit FSR-Sensor

SparkFun     https://www.sparkfun.com/products/9375
Exp-Tech      http://www.exp-tech.de/round-force-sensitive-resistor-fsr
BoTec           http://shop.boxtec.ch/druckempfindlicher-widerstand-p-42013.html


//
// FSR-Drucksensor
//
int fsrPin = A0;
int valFSR = 0;

void setup()
{
     Serial.begin(9600);
     Serial.println("FSR-Sensor...");
}

void loop()
{
     // Wert des FSR-Sensors einlesen
     valFSR = analogRead(fsrPin);
     // Serielle Ausgabe
     Serial.print("FSR Wert: ");
     Serial.println(valFSR);
     delay(200);
}






Berührungslose Eingabe (7-Sensortasten)  AT42QT1070
7-Tasten Mini-Keyboard
– IC für Touch-Anwendungen - I2C


ATMEL-Datenblatt   http://www.atmel.com/images/Atmel-9596-AT42-QTouch-BSW-AT42QT1070_Datasheet.pdf


QT1070  (SO-14)

RS Components  http://de.rs-online.com/web/p/touchscreen-controller/7380167/
Seeed Studio das Grove Q-Touch-Modul  https://www.seeedstudio.com/Grove-Q-Touch-Sensor-p-1854.html




Grove-Q-Touch-Sensor

Seeed Studio das Grove Q-Touch-Modul   https://www.seeedstudio.com/Grove-Q-Touch-Sensor-p-1854.html
Exp-Tech                                                     http://www.exp-tech.de/seeed-studio-grove-q-touch-sensor
Q-Touch-Bibliothek                                     https://github.com/Seeed-Studio/Seeed_QTouch
#include <Wire.h>
#include "Seeed_QTouch.h"










Kompass-Modul HMC5883L  -  Kompass mit HMC5883

Der HMC5883L ist ein 3-Achsen-, I2C-basierender, digitaler Kompass-Baustein vom Halbleiterhersteller Honeywell.


Für Breakout-Boards mit dem HMC5883 hat Seeed Studio eine eigene Arduino-Bibliothek realisiert, die auf der Wiki-Seite des Kompassmoduls zum Download
bereitsteht.
http://wiki.seeedstudio.com/wiki/Grove_-_3-Axis_Digital_Compass

Digitaler Kompass mit LED-Anzeige



FARNELL  http://www.farnell.com/datasheets/1683374.pdf


Breakout-Boards mit dem HMC5883L
Seeed Studio       https://www.seeedstudio.com/grove-3axis-compass-p-759.html?cPath=144_145
Boxtec                  http://shop.boxtec.ch/grove-achsen-digital-kompass-p-41411.html
Kompassmodul mit HMC5883L
Triple Axis Magnetometer Breakout – HMC5883L
SparkFun               https://www.sparkfun.com/products/10530









Position ermitteln mit GPS-Modul GP-735
GPS-Position anzeigen / Geocache-Finder


GP-735 von Sparkfun    https://www.sparkfun.com/products/13670


Die meisten seriellen GPS-Module senden die empfangenen Positionsdaten im Format NMEA 0183 (https://de.wikipedia.org/wiki/NMEA_0183).
Dies ist ein Standardformat für Navigationsgeräte und GPS.
Das Format beginnt mit einem $GPGGA und anschließend kommt eine ganze Reihe von Parametern, die durch ein Komma getrennt sind.
$GPGGA,082804.683,5205.9421,N,00506.4368,E,1,03,3.0,0.3,M,,,,0000…..
Bibliothek   http://arduiniana.org/libraries/tinygpsplus/



7.1  Gas-Sensoren der MQ-Reihe

Die Gas-Sensoren der MQ-Reihe sind günstige Sensoren für die Erkennung von verschiedenen Gasen und eignen sich dank der günstigen Preise für den Einsatz
im Haushalt. Die meisten Sensoren liefern am Ausgang ein analoges Signal, das direkt von einem Arduino-Board eingelesen werden kann. In Tabelle 7.1 sind
einige Gas-Sensoren der MQ-Reihe aufgelistet.

Gas-Sensoren – Übersicht
Sensortyp   Gas Versorgungsspannung           Spannung   Bezugsquellen
MQ2         LPG-Gas, Butan, Methan, Alkohol, Rauch  5V   https://www.seeedstudio.com/Grove-Gas-Sensor(MQ2)-p-937.html
MQ3         Alkohol-Sensor                          5V   https://www.seeedstudio.com/Grove-Gas-Sensor(MQ3)-p-1418.html
MQ4         Methan, CNG Gas                              https://www.sparkfun.com/products/9404
MQ5         LPG-Gas, Naturgas,Stadt-Gas             5V   https://www.seeedstudio.com/Grove-Gas-Sensor(MQ5)-p-938.html
MQ6         LPG-Gas, Naturgas                       5V   https://www.seeedstudio.com/Electronicbrick-Gas-sensor(MQ6)-p-473.html
MQ7         Kohlenstoff-Monoxid                     5V   https://www.sparkfun.com/products/9403
MQ8         Hydrogen                                5V   https://www.sparkfun.com/products/10916


Einige Sensoren der MQ-Reihe müssen vor der Ausführung einer Messung eine gewisse Zeit mit Spannung versorgt und aufgeheizt werden.
Nach der Aufheizphase sind einige Sensoren recht heiß und sollten nicht direkt mit der Hand berührt werden.

Aliexpress             https://www.aliexpress.com
Seeed Studio       https://www.seeedstudio.com/Grove-Gas-Sensor(MQ2)-p-937.html





8.1 Elektrischen Strom messen - Messung mit Shunt
Strommessung mit High-Side-Messmodul


Blockschaltbild Modul  INA169 von Adafruit

Mittlerweile haben Halbleiter-Hersteller integrierte Bausteine für diese Schaltungsarten entwickelt.
Zu erwähnen sind dabei Bausteine wie der INA169 oder INA219.
Diese Bausteine beinhalten die gesamte Schaltungstechnik mit Verstärker.


Adafruit      http://www.adafruit.com/products/1164
SparkFun   https://www.sparkfun.com/products/12040


Für die Messung hoher Ströme in einem Schaltkreis mit Gleichspannung eignet sich das ACS712-Breakout-Board, das in Abschnitt 9.4 beschrieben wird.



8.3 Hall-Sensor A3144
Hall-Sensor A3144 ist ein Sensor mit digitalem Transistor-Ausgang.


Datenblatt   A3144   http://www.alldatasheet.com/datasheet-pdf/pdf/55092/ALLEGRO/A3144.html




Überwachungskontakt mit Hall-Sensor und Alarmanzeige





9.1 Temperatur & Luftfeuchtigkeit mit DHT11 und DHT22-Sensor

Der DHT11 findet seinen Einsatz als Temperaturalarm im Keller oder als Feuchtigkeitsüberwacher im Dachgeschoss.

Es eignet sich der DHT22 dank des größeren Messbereichs auch für Messungen im Freien und durch die höhere Genauigkeit
können auch kleine Temperaturschwankungen im Wohnzimmer oder Bastelraum erfasst werden.

Beide Sensortypen eignen sich auch ideal als Sensoren für Datenlogger, da beide einen geringen Strom während der Messung benötigen.


Bibliothek  https://learn.adafruit.com/dht/downloads
#include "DHT.h"


9.1.3 Umweltsensor SHT31 -
Feuchte- und Temperatursensor
Adafruit SHT31-D Temperature & Humidity Sensor Breakout

Der Schweizer Halbleiterhersteller Sensirion  ist ein führender Hersteller von Sensoren für Feuchte, Gas und Flüssigkeitsdurchfluss.

Adafruit  https://www.adafruit.com/products/2857

Der Typ SHT31 (Abbildung 9.4) wird nicht nur in Consumergeräten, sondern auch im Hobby- und Maker-Umfeld eingesetzt.
Der SHT31 bietet eine hohe Genauigkeit von +/- 0,2 Grad Celsius (Temperatur) und +/- 2 % (Luftfeuchtigkeit) und hat somit bessere technische Daten als ein DHT22-Sensor.

http://www.sensirion.com

https://www.sensirion.com/de/produkte/digitale-feuchtesensoren-fuer-zuverlaessige-messungen/


https://cdn-learn.adafruit.com/downloads/pdf/adafruit-sht31-d-temperature-and-humidity-sensor-breakout.pdf

SHT31-Breakout-Board mit Grove-Stecker
BlkBox   https://www.tindie.com/products/blkbox/sht31-digital-humidity-andtemperature-sensor-module/

555CircuitsLab   http://555circuitslab.com

Arduino-SHT-Bibliothek  https://github.com/winkj/arduino-sht
#include <Wire.h>
#include "sht3x.h"



9.2 Sensoren für Bodenfeuchte-Messung - Nagelsensor

Chirp-Bodenfeuchte-Sensor I2C-BUS    https://www.tindie.com/products/miceuz/i2c-soil-moisture-sensor/





9.3 Geräusche erfassen  -  Lärmmesser - Lautstärkemesser


Die Messung der Umweltgeräusche oder des Lärms erfolgt mit einem Mikrofon.
Verschiedene Breakout-Boards mit zusätzlichem Verstärker erlauben eine einfache Mess-Schaltung ohne viele Bauteile.
Der Mikrofon-Verstärker von
Adafruit   https://www.adafruit.com/product/1063
oder der Loudness-Sensor von
Seeed Studio  https://www.seeedstudio.com/item_detail.html?p_id=1382
sind günstige Module, die den gemessenen Pegel als analoge Spannung ausgeben.





Loudness-Sensor (Seeed Studio) oder Mikrofon-Verstärker (Adafruit)
Sensor von Seeed Studio aus der Grove-Reihe




9.4 Stromverbrauch messen (Gleichstrom) mit ACS712-Breakout-Board
mit Strom-Messmodul ACS712 von Sparkfun.


Der ACS712 nutzt für die Strommessung den Hall-Effekt und liefert am Ausgang des Moduls eine lineare Ausgangsspannung in Millivolt pro Ampere (mV/A).
Der Wert für die Ausgangsspannung ist abhängig vom Stromtyp und kann dem Datenblatt entnommen werden.
Der von mir verwendete 5A-Typ liefert eine Ausgangsspannung von 185 mV/A.



Strommessung mit ACS712

BoxTec         http://shop.boxtec.ch/acs712-breakout-p-40387.html
Watterott      http://www.watterott.com/de/Sensoren/Strom/ACS712-Breakout


9.5 Stromverbrauch messen (Wechselstrom) mit Strom-Messmodul ACS712 von Sparkfun.
9.5.1 Kontaktlose Messung von 230Vac Wechsel-Strom und Leistung mit SCT-013-030-Sensor


Mit dem Sensor SCT-013-030 und der externen Schaltung kann der Wechselstrom durch den Verbraucher, die Lampe oder Heizung, gemessen werden.
Der Sensor ist für einen maximalen Strom von 30 Amp.  ausgelegt.






Schaltung Energie-Monitor mit dem Sensor SCT-013-030

webbasierten Datenerfassungslösung (Emoncms)   https://openenergymonitor.org/


Diese Bibliothek heißt Emonlib  https://github.com/openenergymonitor/EmonLib
#include "EmonLib.h"



Energy-Monitor-Board  555CircuitsLab   http://555circuitslab.com




10.1 Herzschlag messen - Puls-Sensor


Puls-Sensor  pulsesensor.com
Make-Magazine   http://makezine.com/projects/ir-pulse-sensor/
Puls-Sensor  https://www.kickstarter.com/projects/1342192419/pulse-sensor-an-open-sourceheart-rate-sensor-that?lang=de
Github  https://github.com/WorldFamousElectronics/PulseSensor_Amped_Arduino
Github  https://github.com/WorldFamousElectronics/PulseSensor_Amped_Processing_Visualizer
Open-Source-Anwendung Processing ausgeführt werden  https://processing.org/




10.2 Hautwiderstand messen - Hautsensor
Der Widerstand im Spannungsteiler für die Schaltung ist bei mir mit 33k Ohm bemessen.
Bei Tests mit verschiedenen Werten zwischen 22k Ohm und 100k Ohm war der 33k Ohm-Wert der optimale für diesen Anwendungsfall.

Der Fingersensor ist im Detail in Abbildung 10.9 zu sehen und zeigt die Alufolie, die um den Zeigefinger gewickelt und mit Klebeband oder Tesafilm zusammengehalten wird.
Die Krokodilklemmen ermöglichen eine sichere Verbindung vom Alustreifen zur Schaltung auf dem Steckbrett.




11.2 Datenübertragung drahtlos mit RF-Modul (433 MHz RF-Kit)









12.3 LED-Streifen mit Neopixel
Die meisten der Produkte mit den adressierbaren RGB-LEDs basieren auf einem integrierten Baustein mit der Bezeichnung WS2812, der in das LED-Gehäuse integriert
ist.

RGB-Controller WS2812B


In Abbildung  ist der WS2812B mit der Anschlussbelegung aus dem Datenblatt zu sehen.
Dieser Typ ist der Nachfolger des WS2812



SparkFun Neopixel-RGB-LED-Matrix






12.4 10-Segment Balkenanzeige mit LED mit 10-Segment-Anzeige
Bargraph- oder Balkenanzeige mit Treiberbaustein  LM3914



rot      https://www.sparkfun.com/products/9935
gelb   https://www.sparkfun.com/products/9936
grün   https://www.sparkfun.com/products/9938
blau   https://www.sparkfun.com/products/9937

Treiberbaustein
LM3914  https://www.sparkfun.com/products/12694
SparkFun https://www.sparkfun.com/products/10936





Widerstandsnetzwerk


BOURNS  Model 46ooX-101-RC   (101 = 100 Ohm)







12.5 Daten und Messwerte anzeigen mit Display

12.5.1 Praxisbeispiel: Parallele LCD-Ansteuerung





LCD-Ansteuerung Steckbrettaufbau


//
// Ansteuerung LCD parallel, 4-Bit-Modus
#include <LiquidCrystal.h>
//lcd (rs, rw, enable, D4, D5, D6, D7)
LiquidCrystal lcd(8, 9, 10, 2, 3, 4, 5);





12.6 Daten speichern auf SD-Karte

12.6.1 Praxisbeispiel: Datenlogger mit SD-Karte
Im praktischen Alltag haben sich SD-Karten, umgangssprachlich auch Speicherkarten genannt, bewährt.
Fotoapparate speichern die aufgenommenen Fotos schon seit geraumer Zeit auf diesen kleinen Speicherkarten.
Wie die Vergangenheit gezeigt hat, werden die Karten immer kleiner, aber trotzdem ist der Speicherplatz laufend größer geworden.
SD-Karten im Gbyte-Bereich sind heute der Standard.
Darum ist es naheliegend, für die Speicherung von Sensordaten eine SD-Karte zu verwenden.
In Abschnitt 3.5 wurde eine SD-Karte zur Speicherung von Fotos benutzt.
Im Gegensatz zur dort verwendeten SD-Karte mit WiFi-Funktionalität wird in diesem Kapitel eine handelsübliche SD-Karte eingesetzt.
Zur Verbindung des Arduino-Boards mit der SD-Karte können dieselben SD-Karten-Adapter, Breakout-Boards oder Shields, verwendet werden.
Ich empfehle auch hier das SD-Card-Shield von Iteadstudio
https://www.itead.cc/itead-stackable-sd-card-shield.html
oder das SD-Card-Shield von Seeed Studio
http://www.exp-tech.de/seeed-studio-sd-card-shield-v4-0
https://www.seeedstudio.com/SD-Card-Shield-V4-p-1381.html



Datenlogger mit SD-Karte

Abb. 12.22: SD-Card-Shield oder Breakout-Board  § SD-Karte

#include <SD.h>


In diesem Projekt werden wir Daten von einem LDR auf einer SD-Karte speichern.
Dazu verwenden wir ein SD-Card-Shield, das direkt auf das Arduino-Board aufgesteckt werden kann.

Der Vorteil eines SD-Card-Shields gegenüber einem SD-Karte-Breakout-Board ist, dass keine Drahtverbindungen notwendig sind.
Durch das Aufstecken des Shields auf den Arduino sind bereits alle nötigen Verbindungen gegeben.
Falls Sie für das Projekt ein Breakout-Board verwenden, müssen Sie die Verbindungen gemäß Tabelle 3.1 aus Kapitel 3 selber vornehmen.




12.6.2 Uhrzeit mit DS1307 RTC und Lithium-Batterie CR2032




DS1307-Uhrenbaustein mit Arduino



12.6.3 Datenlogger mit Zeitstempel

Datenlogger mit Uhrenbaustein – Steckbrettaufbau

Mit dem Datalogger-Shield von Adafruit stehen auf einem Shield alle nötigen Funktionen für einen Datenlogger zur Verfügung.
Zusätzlich bietet das Shield noch eine Protofläche mit Lötpads für eigene Schaltungen
https://www.adafruit.com/product/1141




12.7 Datenspeicher EEPROM

12.7.1 Praxisbeispiel: Daten ins EEPROM schreiben
12.7.2 Praxisbeispiel: Daten aus dem EEPROM lesen
12.7.3 Praxisbeispiel: Daten aus dem EEPROM löschen




12.8 Internet-Plattformen – Internet of Things (IoT)

In den bisherigen Kapiteln wurden die erfassten Sensordaten auf die serielle Schnittstelle ausgegeben, als LED oder Farbwert angezeigt, auf einer SD-Karte des
EEPROM gespeichert oder auf einem Display ausgegeben.
Mit der immer größeren Verbreitung des Internets haben sich Dienste entwickelt, die Dienstleistungen und Services online anbieten.
Mittlerweile werden viele Daten online auf einem Internet-Server oder in einer Internet-Datenbank gespeichert.
Solche Online-Dienste werden in der sogenannten »Cloud« angeboten und sind mit jedem Internet-Zugang erreichbar. Kommerzielle Dienstleistungen sind dabei nicht nur die Speicherung der Daten, sondern komplette Anwendungen inklusive Datenspeicherung und den nötigen Sicherheitsmechanismen.
Mit der immer stärkeren Verbreitung von Geräten mit Internet-Zugang, beispielsweise
Webcams, Smart-TVs, Kühlschränken und anderen, gewinnt das Thema »Internet of Things« einen immer stärkeren Einfluss.
In der Cloud werden neben den Datenspeicher-Diensten komplette Anwendungen für die Datenspeicherung und Visualisierung angeboten.
Viele Anwendungen können nun über Internet aufgerufen werden und liefern Informationen für den Anwender.
Im Bereich der Sensordaten und der Visualisierung dieser Daten sind etliche Anbieter auf dem Markt.
Zu den bekannten Namen gehören Xively
https://www.xively.com/
oder ThingSpeak
https://thingspeak.com/
Beide Anbieter bieten Schnittstellen zur Datenerfassung und Darstellung.
Dabei können alle Arten von Geräten Sensordaten, Statuswerte und Zustände liefern, die dann auf den Online-Plattformen als Dashboard sichtbar sind.
Zusätzliche Funktionen erweitern die verbundenen Geräte, in der Fachsprache als »connected Things« bezeichnet, um Logik und können Statuswerte oder Zustände
auswerten und weitere Aktionen anstoßen oder ausführen.
Zu den bekannten Online-Plattformen, die auch von vielen Bastlern genutzt werden, gehört IFTTT
https://ifttt.com/
Mit den Funktionen von IFTTT, was
ausgeschrieben »If this then that«, also »wenn dies, dann das« heißt, können Webanwendungen miteinander verknüpft werden. Beispielsweise kann ein Tweet
bei Twitter erstellt werden, wenn jemand auf der Facebook-Seite einen Beitrag positiv gelikt hat.
In den nachfolgenden beiden Abschnitten wollen wir webbasierte Lösungen zur Datenspeicherung und -darstellung genauer anschauen.
Zuerst erkläre ich, wie Sie Sensordaten vom lokalen Arduino mit angeschlossenen Sensoren mittels der Online-Plattform ThingSpeak ins Internet bringen. Im abschließenden
Abschnitt werden die Sensordaten in einer hausinternen Webanwendung mittels Web-Scripts in PHP
http://php.net/manual/de/intro-whatis.php
 in einer MySQL-Datenbank
https://www.mysql.de/
gespeichert.
 Im Browser können die gespeicherten Daten anschließend aufgerufen und betrachtet werden.




12.9 Sensordaten bei ThingSpeak
ThingSpeak (https://thingspeak.com) ist eine Internet-Plattform, auf der Sie Ihre gesammelten Sensordaten wie Temperaturwerte, UV-Index und so weiter speichern und anschließend grafisch darstellen können.
Der Service von ThingSpeak ist kostenlos und erlaubt die regelmäßige Erfassung von Sensordaten.
Einziges Limit ist der Rhythmus der Datenspeicherung. Thing-Speak erlaubt das Speichern von Daten alle 15 Sekunden.


12.9.1 Praxisbeispiel: Lichtmesswerte an ThingSpeak senden


Bei der Wahl eines Ethernet-Shields ist zu beachten, dass das Board mit einem Ethernet-Controller vom Typ Wiznet W5100 betrieben wird.
https://store.arduino.cc/product/A000072
https://github.com/mathworks/thingspeak-arduino

Wie gewohnt werden zuerst die nötigen Bibliotheken geladen, in diesem Fall die Bibliothek ThingSpeak.h von ThingSpeak sowie die Bibliotheken für die Ethernet-Kommunikation mit dem Ethernet-Shield.



12.10 Lokale IoT-Datenbank mit MySQL-Datenbank

https://make.wordpress.org/core/handbook/tutorials/installing-a-localserver/wampserver/
http://www.wampserver.com/en




13.1 Das Sensor-Shield

Für universelle Sensor-Anwendungen habe ich ein Sensor-Shield realisiert, um verschiedene Sensoren direkt am Arduino-Board anzuschließen.
Das Shield eignet sich ideal für den Test der in den vorigen Kapiteln beschrieben Sensoren und als stabile Universalplatine für eine produktive Sensor-Anwendung.

Das Sensor-Shield bietet folgende Anschlussmöglichkeiten und Zusatzfunktionen:
. Grove-Stecker I2C-Bus
. Grove-Stecker Analog (Signale A0 und A1)
. Grove-Stecker Digital (Signale D3, D4 und D5)
. Stiftleiste für DHT-Umweltsensoren inkl. Pull-up-Widerstand
. NTC mit Vorwiderstand
. LDR mit Vorwiderstand
. RGB-LED (Common Anode)
. Power-LED
. Lötpads für 5 V und GND
. Lötpads für Arduino-Signale Digital und Analog
. Protofläche für zusätzliche Bauteile



Sensor-Shield

Die Sensoren werden an den Grove-Steckern, den Stiftleisten oder den Arduino-Buchsenleisten angeschlossen.


13.2 Shield-Schaltung
Die Schaltung des Sensor-Shields ist in Abbildung 13.2 dargestellt.

Im Schaltplan ist die Leiterplatte mit »Arduino Uno R3« bezeichnet.
Alle weiteren Bauteile und Stecker auf dem Shield werden an den digitalen und analogen Pins angeschlossen.

Die Sensoren NTC und LDR werden jeweils mit einem Pulldown-Widerstand angeschlossen.
Der Analogwert des NTC ist am analogen Eingang A3 angeschlossen, der Analogwert des LDR an A2.

Der DHT-Sensor kann über eine 4-polige Stiftleiste angeschlossen werden.
Das digitale Signal wird am digitalen Pin D2 des Arduino eingelesen.

Die Leuchtdiode PWR ist die Anzeige der 5-V-Versorgungsspannung und leuchtet, wenn am Shield 5 V angelegt werden.



Schaltung Sensor-Shield


Die RGB-Leuchtdiode mit den Vorwiderständen für die drei internen Leuchtdioden (Rot, Geld und Blau) ist ein Common-Anode-Typ.
Die einzelnen Leuchtdioden leuchten auf, sobald man die entsprechenden Anschlüsse mit GND verbindet.
Die weißen Grove-Stecker sind im Schaltplan mit J1 bis J5 bezeichnet. Grove ist ein modulares System mit vielen Sensormodulen und wurde durch den chinesischen
Hersteller Seeed Studio entwickelt.

http://www.seeedstudio.com/wiki/Grove_System


Alle Module und Sensoren dieses Systems können über ein standardisiertes Anschlusssystem mittels 4-poliger Anschlussstecker angeschlossen werden.
Die Anschlussbelegung der Grove-Stecker unterscheidet sich jeweils nach Art des angeschlossenen Sensors (Analog, Digital, I2C-Bus).
Alle Signale der Grove-Stecker werden auf Standard-Arduino-Pins geführt.
Als Basis für den Einsatz der Grove-Module dient meist ein Grove-Basisshield, auf dem mehrere Grove-Stecker vorhanden sind.
Zu beachten ist, dass die weißen, 4-poligen Grove-Stecker keinen Standard-Pinabstand im Zoll-Raster (0,1 Zoll entspricht 2,54 mm) haben.
Im Grove-System beträgt der Pinabstand 2 mm.

Stückliste
. 1 Leiterplatte Sensor-Shield, Rev. A (http://555circuitslab.com/)
. 2 Headerleiste 6-polig (JP1, JP2)
. 2 Headerleisten 8-polig (JP3, JP4)
. 5 Grove-Stecker 4-polig (J1, J2, J3, J4, J5)
. 1 Stiftleiste 4-polig (DHTx, JP8)
. 4 Widerstände 1 kOhm (R4, R5, R6, R7)
. 1 Widerstand 4,7 kOhm (R3)
. 2 Widerstände 10 kOhm (R1, R2)
. 1 RGB-LED 5 mm (RGB)
. 1 LED grün 3 mm (PWR)




13.3 Anschlussmöglichkeiten
In Abbildung 13.3 sind die Anschlussmöglichkeiten des Sensor-Shields dargestellt.


Abb. 13.3: Sensor-Shield – Anschlussmöglichkeiten

RGB
Die Ansteuerung der RGB-LED erfolgt über drei Anschluss-Pads.
Wie bereits erwähnt, können die drei internen Leuchtdioden über ein GND-Signal angesteuert werden.
In der Praxis führt man die drei Anschlüsse der RGB-Leuchtdiode auf freie digitale Pins.
Im Beispiel werden die Pins D9, D10 und D11 verwendet



13.6 Bezugsquellen
Das Sensor-Shield ist als Open-Source-Hardware realisiert und darf von jedem Bastler und Maker verwendet, verbessert und erweitert werden.
Die Daten der Leiterplatte im Eagle-Format sind frei verfügbar. Das Projekt wird laufend optimiert und weiterentwickelt.

Meine Website      http://555circuitslab.com/
OSH Park               https://oshpark.com/shared_projects/3WYS48q6







Sensor-Board
Anwendungen mit Sensoren sind oft im Platz beschränkt und die Sensoren müssen in ein schmales Gehäuse passen.
Ein Arduino Uno mit aufgestecktem Sensor-Shield kann zwar die technischen Anforderungen der Sensor-Lösung erfüllen, aber die Leiterplatten-Abmessungen des Arduino Uno sind zu groß für ein kompaktes Sensor-Gehäuse.
Neben den Abmessungen des Arduino-Boards für den Einsatz als Sensor-Board spielen meist auch die Art der Spannungsversorgung und der Stromverbrauch
eine große Rolle. Ein Arduino Uno ist nicht für batteriebetriebene Anwendungen optimiert.
Zwar kann man den Arduino Uno mit einer Batterie betreiben, aber die Anwendungszeit wird recht gering sein.
Ohne Optimierung der Hardware und der Software ist ein Batteriebetrieb mit dem Arduino Uno nicht rentabel.
Im »Normalbetrieb« ohne externe Beschaltung benötigt ein Arduino Uno rund 20 bis 40 mA. Dieser Stromverbrauch wird durch die umfangreiche Schaltung
(Leuchtdioden, Eingangsspannungsbereich mit Spannungsregler, FTDI-Wandler mit Microcontroller) auf dem Board hervorgerufen.

Sensor-Board
In diesem Kapitel wird ein Arduino-Board für Sensor-Anwendungen vorgestellt, das geringe Abmessungen besitzt und durch die einfache Schaltung auch im Batteriebetrieb eingesetzt werden kann.

14.1 Sensor-Board
Das Sensor-Board ist meine Eigenentwicklung und erfüllt die oben beschriebenen Anforderungen an ein Arduino-Board für den Sensor-Betrieb.

Folgende Punkte kennzeichnen das Sensor-Board:
. Arduino-kompatibel
. Geringe Abmessungen (maximal 35 × 70 mm)
. Schlanke Schaltung mit ATmega328
. Batteriebetrieb
. Protofläche für eigene Schaltung und Verdrahtung
. Programmierbar via FTDI-Anschluss oder ICSP-Adapter



In Abbildung 14.1 ist das Sensor-Board zu sehen.



Sensor-Board




Das Sensor-Board ist als Open Hardware realisiert und alle Daten des Projekts sind frei verfügbar.
Die Schaltung des Boards und die Daten der Leiterplatten können für eigene Anwendungen verwendet und verändert werden.
Die Leiterplattendaten stehen im Eagle-Format zur Verfügung.

Projekt- und Leiterplattendaten

http://555circuitslab.com
https://oshpark.com/shared_projects/HOyjPT7S


Schaltung
Abbildung 14.2 zeigt die Grundschaltung des Sensor-Boards.
Die Schaltung ist auf ein Minimum reduziert und ähnelt der Minimalschaltung aus Kapitel 1.


Sensor-Board – Stromlaufplan

Auf dem ATmega328-Microcontroller ist wie auf allen Arduino-Boards ein Bootloader installiert.
Programme werden in dieser Schaltung über den FTDI-Anschluss (K2) und einen USB-Serial-Wandler oder den Programmieranschluss ICSP (K3) und einen Programmieradapter, beispielsweise ein AVRISP mkII
http://www.atmel.com/tools/AVRISPMKII.aspx
hochgeladen.

Die Versorgungsspannung von 3,3 V oder 5 V wird direkt am Stecker K1 angeschlossen.

Die Eingänge und Ausgänge des Sensor-Boards sind auf die Stiftleisten K4 bis K7 geführt.
Auf der Leiterplatte sind dabei die Signalbezeichnungen gemäß Arduino-Standard aufgedruckt.
Das Signal PD0 des Microcontrollers ist beispielsweise der digitale Ein- oder Ausgang D0, der in der Praxis als Signal RX verwendet wird.

Die Taktfrequenz kann je nach Bedarf gewählt werden.
Bei einem Sensor-Board mit 8 MHz kann der Quarz mit den Kondensatoren (Q1) weggelassen werden.
Hier ist zu beachten, dass in diesem Fall ein spezieller Bootloader geladen und in der IDE ein anderes Board, ATmega328 on a breadboard (8 MHz internal clock), ausgewählt
werden muss.
Im nachfolgenden Abschnitt werden der Grund und der Einsatz eines Boards mit einer Taktfrequenz von 8 MHz beschrieben.

Die Konfiguration dieses 8-MHz-Boards kann von der Arduino-Website geladen werden.

https://www.arduino.cc/en/uploads/Tutorial/breadboard-1-6-x.zip


Auf derselben Webseite sind weitere Erklärungen zu dieser Board-Variante beschrieben.

https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard


14.1.1 Praxisbeispiel: Grundaufbau Sensor-Board

Mit dem Bestückungsplan aus Abbildung 14.3 gelingt der Aufbau des Sensor-Boards auch einem Einsteiger. Im ersten Schritt lötet man die SMD-Komponenten
auf das Board, anschließend den IC-Sockel für den Microcontroller und, je nach Bedarf, die einzelnen Stiftleisten.


Sensor-Board – Bestückungsplan


Stückliste
. 1 Leiterplatte (OSHPark)
. 1 Microcontroller Atmel ATmega328 (DIL28)
. 1 Resonator 16 MHz (Q1, Gehäuse SMD, 3,2x1,3 mm)
. 3 Keramik-Kondensatoren 100 nF (C1-C3, SMD 1206)
. 1 Widerstand 10 kOhm (R1, SMD1206)
. 1 IC-Sockel DIL28
. 2 Stiftleisten 1x3 (K8, K9)
. 1 Stiftleiste 1x4 (K1)
. 1 Stiftleiste 1x6 (K2)
. 1 Stiftleiste 2x3 (K3)
. 4 Stiftleisten 1x12 (K4-K7)


Aufbau
Die Leiterplatte des Sensor-Boards hat eine Größe von 65x35 mm.
Der Microcontroller ATmega328 und die Stiftleisten für die Programmieradapter sowie die Eingänge und Ausgänge können an den entsprechenden Lötpads angelötet werden.
Die passiven Komponenten wie der Reset-Widerstand und die Kondensatoren sowie der Quarz für den Systemtakt sind als SMD-Komponenten (Bauteile für die Oberflächenmontage) ausgelegt.
Ein Montageloch erlaubt die stabile Montage des Boards mit einer Montageschraube.







14.2 Low-Power-Betrieb
Batteriebetriebene ARDUINO-Boards ermöglichen einen standortunabhängigen Einsatz, beispielsweise als Sensor-Anwendung im oder ums Haus.
Der Standort ist dabei unabhängig von einer Steckdose oder einem USB-Adapter.
Beim Betrieb mit einer Batterie müssen Sie ein besonderes Auge auf den Stromverbrauch haben.
Im Normalbetrieb, also mit einer Versorgung aus einem Netzgerät oder über den USB-Anschluss müssen Sie sich meist keine Gedanken über den Stromverbrauch machen.
Ein paar Milliampere (mA) mehr macht nichts aus.
Oft weiß der Anwender nicht, wie viel Strom sein Projekt aus dem Netzteil oder USB-Adapter bezieht.

14.2.1 Praxisbeispiel: Stromverbrauch reduzieren auf dem Arduino-Board

Um den Stromverbrauch eines Arduino-Boards so gering wie möglich zu halten, sollten auf dem Board folgende Punkte in Betracht gezogen werden:
. Unnötige Hardware entfernen
. Keine LED oder Anzeige-Elemente im Dauerbetrieb
. Betriebsspannung minimieren
. Taktfrequenz minimieren
. Nicht verwendete Funktionen im Microcontroller deaktivieren
. Software für Sleep-Funktionen einsetzen

Das Standard-Board ARDUINO UNO  eignet sich nicht optimal für den Batteriebetrieb, da die oben aufgelisteten Punkte nicht ohne Aufwand umgesetzt werden können.

Unnötige Hardware entfernen
Schaltungsteile mit integrierten Schaltungen (IC) wie USB-Serial-Wandler sind auf einem batteriebetriebenen Board nicht zwingend notwendig und belasten nur den Stromverbrauch.
Auf dem ARDUINO UNO ist dazu ein separater Microcontroller im Einsatz.
Im Falle eines Datentransfers über die serielle Schnittstelle kann ein externer FTDI-Adapter verwendet werden.

Keine LEDs oder Anzeige-Elemente im Dauerbetrieb
LEDs für Power-Anzeigen oder serielle Kommunikation müssen für den Batteriebetrieb entfernt werden.
Dadurch kann man schnell 10mA Stromverbrauch einsparen.


Betriebsspannung minimieren

Das Herabsetzen der Betriebsspannung von 5,0 V auf 3,3 V minimiert den Stromverbrauch einer Arduino-Schaltung sehr drastisch.
Gemäß Datenblatt des ATmega328p Microcontrollers sollte bei Reduktion der Versorgungsspannung auch die Taktfrequenz heruntergesetzt werden.
Das Datenblatt gibt für den 3,3V Betrieb eine maximale Taktfrequenz von rund 13MHz an.

Taktfrequenz minimieren

Das Minimieren der Taktfrequenz von 16 MHz auf 8 MHz reduziert den Stromverbrauch nochmals um mehrere Milliampere (mA).

Nicht verwendete Funktionen im ATmega328p Microcontroller deaktivieren
Funktionen wie Timer, Watchdog, Brown-out Detection (Funktion zur Erkennung, ob die Betriebsspannung den Schwellenwert nicht unterschreitet) oder Analog/Digitalwandler können, falls in der Anwendung nicht benötigt, deaktiviert werden.

Software für Sleep-Funktionen einsetzen

Sleep-Funktionen in Form von Bibliotheken erlauben die Aktivierung von Schlafphasen des Microcontrollers und ermöglichen den Betrieb in einem Sleep-Modus, was eine bedeutende Abnahme des Betriebsstroms zur positiven Folge hat.
Während des Sleep-Modus ist die Arduino-Anwendung im Ruhezustand.
Ein Sensormodul, das regelmäßig Messwerte erfasst, ist im Sleep-Modus quasi im Standby.
Nur während einer kurzen Phase wird das Board aktiviert, ein Messwert erfasst und dann wird das Sensormodul wieder in den Sleep-Mode gesetzt.

Mögliche Bibliotheken mit Sleep-Mode-Funktionen sind:
Low-Power Library
https://github.com/rocketscream/Low-Power/
Diese Bibliothek ist speziell für Low-Power-Anwendungen realisiert. Sie erlaubt die Deaktivierung einzelner Microcontroller-Funktionen.

JeeLib Bibliothek

https://github.com/jcw/jeelib
Die JeeLib-Bibliothek ist für Anwendungen mit RF-Modulen wie RFM12B entwickelt und beinhaltet auch eine Sleep-Funktion, die ausführlich beschrieben ist.
http://jeelabs.org/2011/12/13/developing-a-low-power-sketch/


14.2.2 Sensor-Board im Low-Power-Betrieb mit Low-Power-Bibliothek
Das Sensor-Board aus dem ersten Teil dieses Kapitels ist speziell für batteriebetriebene Sensor-Anwendungen realisiert, um Sensordaten zu erfassen und anschließend weiterzuverarbeiten oder weiterzusenden.
Für den Batteriebetrieb und die Phasen, in denen keine Sensordaten eingelesen oder verarbeitet werden, kann das Board mit der Low-Power-Library in den Sleep-Mode versetzt werden. Sensordaten werden meist in einem längeren Rhythmus abgefragt.
In diesem Beispiel verwenden wir den längsten Rhythmus der Bibliothek und lassen das Board jeweils für acht Sekunden im Sleep-Modus.
Im ersten Schritt wird im Programmcode die nötige Bibliothek geladen.  #include "LowPower.h"

//
// Sensor-Board im Low-Power-Betrieb
//
#include "LowPower.h"


In der Setup-Funktion sind keine Aktionen nötig. Die serielle Schnittstelle wird nicht gestartet.

void setup()
{
// keine Funktionen notwendig
}


Im Hauptprogramm startet der Programmdurchlauf mit der Sleep-Phase von acht Sekunden.

void loop()
{
// Sleep-Modus für 8 Sekunden, ADC aus, BOD aus
LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);



Anschließend kann das Sensor-Board nach der Pause Sensorwerte verarbeiten oder andere Funktionen ausführen.

// Sensorwerte weiterverarbeiten, beispielsweise Daten senden oder speichern
//..
}


Bis es anschließend im nächsten Programmdurchlauf wieder in den Sleep-Mode
gesetzt wird.




Quelle:
BÜCHER von Thomas Brühlmann


buch-sensoren-einsatz-arduino-php.zip


Thomas Brühlmann arbeitet als Consultant und hat 20 Jahre Erfahrung in der Hardware- und Softwareentwicklung.
 Nebenbei realisiert er Projekte mit Open-Source-Hardware, hält Vorträge und führt Workshops durch.
In seinem Weblog unter arduino-praxis.ch verfolgt er die aktuelle Entwicklung des Arduino-Projektes und publiziert Projekte, Anwendungen, Tipps und Tricks."





DIN A4 ausdrucken
********************************************************I*
Impressum: Fritz Prenninger, Haidestr. 11A, A-4600 Wels, Ober-Österreich, mailto:[email protected]
ENDE