Wunderst du dich auch manchmal, wo die ganzen Kekse hin sind? Mit diesem Projekt kommst du dem Dieb schnell auf die Schliche.

Ähnliche Dokumente
Projektworkshop Digitales Haustier. Digitales Haustier. Bau dir ein Digitales Haustier, das schnurrt, wenn du es streichelst. 1/8

Was so passieren wird:

Eine tastergesteuerte LED

Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt:

Bei jedem Arduino-Projekt muss man ein Grundgerüst "bauen". Das sieht dann so aus:

ArduBlock Station 4 - Farbthermometer

Eingaben. Themen heute. Taster. Eingaben Zuweisungen Zeitmessung. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes

Arduino für FunkAmateure

Arduino 1/10. Das erste Programm: LED-Blinklicht. Einzelheiten der Schaltung. Programm für das Blinklicht

Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein:

Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert?

Ampelsteuerung Merkblatt 1 Wie werden die Bauteile angeschlossen?

Einführung in das Programmieren in der Sekundarstufe 1. mit einem Arduino und der Physical-Computing-Plattform

Informatik Enlightened. Station 0 - Einstieg

Wir hätten nie gedacht das drei Computer und Elektronik-Fans soweit kommen!! Mit diesem Video sagen wir vielen Dank!

LED Skalenbeleuchtung mit einem Arduino

analoge Ein- und Ausgänge

ARDUINO Übung. Inhalt:

Installation der Entwicklungsumgebung

Struktur eines Sketches

Einführung in die Arduino-Programmierung II

Einführung in Mikrokontroller Benutzung mit dem Arduino Board. Ramon Hofer ICVR

Ein Mikrocontroller ist ein Mikrochip, der alle benötigten Komponenten (sozusagen das Zubehör) bereits in sich trägt. Er sieht genauso aus wie 11

4.2 Die Arduino-Hardware

SINNsorik Wahrnehmen durch Sensoren NAME, KLASSE:

Girls Day 2017 Programmierung

- Der heisse Draht - Physical Computing. Workshop Oktober 2015 Olav Schettler

Arbeitsblatt Nr.19: RFID Kit

Eine tastergesteuerte LED

Informatik Enlightened Station 4 - Farbthermometer

Arduino Uno Bastelecke

Digitalelektronik 1 Digitale Ausgabe. Stefan Rothe

Herzlich Willkommen zum Workshop rund um das Thema Licht!

In dieser Aufgabe geht es darum, das einfache Meteor-Spiel zu verstehen und anzupassen. Lade als erstes das Spiel sample12 und spiele es.

Mark VHS Augsburg Einführung in die Mikrocontroller-Programmierung.

Um überhaupt produktiv arbeiten zu können, sind eine Reihe grundlegender Vorbereitungen notwendig:

Projekt Nr. 15: Einen elektronischen Würfel erstellen

Erste Schritte. Das Arduino-Board. Ihr Fundino-Board. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes

Zusatzplatine ZIB2-PDx-N für Plug & Drive Motoren PDx-N

Erste Schritte. In diesem Kapitel lernen Sie Folgendes:

TaT-Maker Steuerung. Selbstbauanleitung. von. Kurt Sepke

MSP-EXP430F5529LP. LaunchPad Entwicklungskit MSP-EXP430F5529LP. Schnellstart mit dem Texas Instruments. LaunchPad Entwicklungskit

LED Skalenbeleuchtung mit einem Arduino

Informatik Enlightened - Kurzfassung Station 4 Farbthermometer inkl. Einstieg

Arduino, IR Fernbedienung dekodieren

Gamecontroller Der Bewegungssensor - Links-Rechts-Steuerung

Abbildung 4-9-1: Die Sound-Machine-Tastatur und der Arduino

Eine Roboter-Kanone. Projekt 20

Infokarte: Snap4Arduino

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

Einführung in die Informationstechnik. Eingabe - Verarbeitung - Ausgabe CIUS - KREISLICHT. Realschule Tamm Technik Axel Steinbach

Selbstschließende Hand (SsH)

Wichtige Befehle bei der Programmierung von. FISCHER-Technik

Highspeedaufnahmen mit dem Arduino Uno Board

Aufgaben zur Attiny-Platine

Inhaltsverzeichnis. 1 Anfang 2. 2 Erste Schritte 3. 3 Schleifen repeat while(true) Die if()-schleife... 5.

Fühlen, Kontrollieren, Interagieren

CIUS - AMPEL - ANLAGE. Steuern und Regeln. A. Steinbach Realschule Tamm. Da stimmt doch was nicht?

Heatmaster II FAQ Stand: Mittwoch, 6. Februar 2013

Dieses Buch gehört: Hallo! Zusammen lernen wir Programmieren! F. Kraus 2017, inspiriert von scratch.mit.edu

Greenfoot: Verzweigungen

CoffeeGrinder 2.0. Norman Schlüter - Freies Projekt - HAWK SoSe2013

Embedded Hardware Getting Started

Steuerung von Geräten mit dem Mikrocontroller. von. Annemarie Bauer Dr. Birgit Berger Dr. Daniel Roth Katrin Schmid Michael Schnaus

Was ist Arduino? Historie Der Kern Entwicklungsumgebung Hardware Software Und wozu das Ganze? Workshop Mikrorechner 2012 A.

~10 RESET 3.3V 5V GND GND VIN

Arduino Line Follower Roboter.

Informatik Enlightened - Kurzfassung Station 2 Einparkhilfe inkl. Einstieg

Physical Computing. Der Arduino als Steuerzentrale

Raspberry Pi meets Pocket Code. Tutorial: Ampelschaltung

Erik Schernich. Arduino für Kids. 1. Auflage

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch

M15 - Physical Computing mit dem Raspberry Pi I

Felder und Schleifen. Themen heute. Felder Schleifen Heartbleed. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes

Methoden-Expertin. Aufgabe 1. Das Neue. Lösung in JavaKara. Puzzle: Expertin D

Arduino für FunkAmateure

8.3 Taster am µcontroller

PROCESSING STRUKTUR UND INPUT. Created by Michael Kirsch & Beat Rossmy

ERWEITERUNGSSHIELD MIT ANALOGEN EINGÄNGEN

Raspberry Pi Lüftersteuerung

Befehlstabelle awapswitch Anwendung

Informatik Enlightened Station 1 Sonnenblume

Adafruit Ultimate GPS

Die WiFI Library( bei dem meisten recent?

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

ALLNET Art ALLNET Starter Kit Light UNO R.3

Erste Gehversuche mit ARDUINO (Teil 3) (DL6OAA) Die 7-Segmentanzeige (1-stellig)

Arduino für FunkAmateure

Arbeitsblatt 6: Programmierung geometrischer Figuren

BLUE line. Bedienungsanleitung zum M-Unit Experimentierboard. Innovative Technik. Tobias Regenhardt Grüner Weg Seulingen

Arduino µcontroller. Virtuelle COMSchnittstelle

Arduino für FunkAmateure

Einführung. Schritt 1: Sammle deine Materialien

BLUETOOTH FREISPRECHANLAGE S-31. Bedienungsanleitung

OPTION Kabeladapter. Bedienungsanleitung OCM140-01_DE_2411

ERFINDE DEINEN EIGENEN SCHIFFE VERSENKEN -SPIELAUTOMAT. DU BIST DER KÄPT N, STELLST DIE REGELN AUF UND FORDERST DEINE FREUNDE HERAUS.

Transkript:

Keksdosenalarm Wunderst du dich auch manchmal, wo die ganzen Kekse hin sind? Mit diesem Projekt kommst du dem Dieb schnell auf die Schliche. Sobald jemand die Keksdose öffnet, geht der Alarm los. /8

9 8 7 6 5 4 3 2 Diese Bauteile brauchst du AREF GND 3 2 0 ICSP2 L TX RX Arduino TM TX0 DIGITAL (PWM= ) ON Arduino ist eigentlich ein kleiner Computer ICSP 5 A A B B C C D D E E F F G G H H I I J J 5 0 Projektworkshop Keksdosenalarm RESET RX0 IOREF RESET 3V3 5V GND POWER GND VIN A0 ANALOG IN A A2 A3 A4 A5 Piezo-Lautsprecher wandelt Strom in Töne (Schall) um Steckkabel zum Verbinden der Bauteile USB-Kabel 0 5 20 25 30 Breadboard Steckbrett für Bauteile 0 5 20 25 30 Fotowiderstand Sensor, der auf Licht reagiert Festwiderstand verkleinert Stromfluss, dient als Referenzwiderstand für Sensoren Expertenwissen: Breadboard Im Breadboard sind Metallklammern eingebaut, die elektrische Verbindungen zwischen Bauteilen herstellen. Wie diese Klammern verbunden sind, siehst Du auf dem Bild. 2/8

Projektworkshop Keksdosenalarm Bauplan 2 Verbinde die äußeren Reihen des Breadboards mit dem 5V+ und dem GND des Arduinos. Stecke den Piezo ins Breadboard und verbinde ihn mit dem GND (schwarzes Kabel) und dem Digital Pin 3 (gelbes Kabel). 3 4 Baue den Taster ein und verbinde ihn mit den GND (schwarz) und dem Digital Pin 7 (blau). Nun kannst Du den Festwiderstand (00kOhm Braun-Schwarz-Gelb) und den Fotowiderstand ins Breadboard stecken. Verbinde sie mit dem GND (schwarz), dem 5V+ (rot) und die Mitte mit dem Analog In 0 (grün). 3/8

Schematische Darstellung Fotowiderstand RESET RESET2 AREF ioref 3V3 5V VIN D0/RX D/TX D2 D3 PWM D4 Piezo-Lautsprecher A0 D5 PWM A D6 PWM Festwiderstand A2 A3 A4/SDA A5/SCL Arduino D7 D8 D9 PWM D0 PWM/SS D PWM/MOSI D2/MISO Taster D3/SCK N/C GND Schematische Darstellungen sind super nützlich, wenn man sehen will, wie Bauteile angeschlossen sind. Sieht erstmal kompliziert aus, ist es aber nicht. Das Rechteck in der Mitte ist das Arduino. Die Form auf der rechten Seite ist der Lautsprecher. Er ist mit dem 5V Ausgang und dem Digitalen Pin 9 (D9) vom Arduino verbunden. Das rote Kabel geht an den 5V+ Anschluss. Da wo sich die beiden Bauteile treffen, geht eine Verbindungsleitung an den Analog Pin 0 des Arduinos (A0). Ist doch eigentlich schön übersichtlich, oder? Auf der linken Seite sind der Fotowiderstand und der Widerstand in Reihe, also hintereinander, geschaltet. Das blaue Kabel verbindet den Widerstand mit dem GND des Arduinos. 4/8

Code int sensorpin = A0; int lautsprecherpin = 3; int buttonpin = 7; int value = 0; void setup() { pinmode(buttonpin, INPUT_PULLUP); void loop() { if (digitalread(buttonpin)==low){ value = analogread(sensorpin); if (analogread(sensorpin)>value+80){ tone(lautsprecherpin,800); tone(lautsprecherpin,400); else { notone(lautsprecherpin); Variablendeklaration hier können benötigte Variablen angelegt werden setup()-methode wird nur einmal ausgeführt, um loop()-methode wird immer wieder wiederholt Expertenwissen: Variablen Vielleicht kennst Du Variablen ja schon aus dem Mathe-Unterricht. Da kommen sie in Gleichung vor, z.b. 0 + x = 5. Klar, die Gleichung geht auf, wenn x = 5 ist. Überall, wo in der Gleichung also ein x steht, ist 5 gemeint. Im Programmieren ist das ganz ähnlich, nur kann man hier richtige Worte benutzen: int buttonpin = 7; Dieser Befehl legt die Variable buttonpin an. Ihr wird ein Wert von 7 zugewiesen. Überall, wo man nun buttonpin hinschreibt, wird 7 eingesetzt. Das Wort int steht für integer. Das ist englisch und bedeutet»ganze Zahl«. Ganze Zahlen sind z.b.,2,3... 78, usw. 5/8

Code so funktiniert er. Die Variablen, die wir jetzt verwenden, weisen auf die Pins, an die wir die Bauteile angeschlossen haben. 7 3 int sensorpin = A0; int lautsprecherpin = 3; int buttonpin = 7; int value = 0; A0 void setup() { pinmode(buttonpin, INPUT_PULLUP); void loop() { if (digitalread(buttonpin)==low){ pinmode() mit diesem Befehl sagen wir dem Arduino, dass wir einen seiner Pins als Eingang (Input) verwenden wollen mit der if-abfrage lässt sich testen, ob eine Bedingung stimmt -> hier, ob der Taster gedrückt ist: digitalread(buttonpin)==high value = analogread(sensorpin); der Lichtwert kann mit dem Befehl analogread() ausgelesen werden er wird in der Variable value gespeichert if (analogread(sensorpin)>value+80){ tone(lautsprecherpin,800); tone(lautsprecherpin,400); else { notone(lautsprecherpin); fällt viel Licht auf den Sensor (Keksdose ist offen), wird der Alarm eingeschaltet der Befehl tone(pin, tonhöhe) erzeugt einen Klang der Befehl delay() hält das Programm kurz an, damit wir den Ton hören können bei wenig Licht, wird der Alarm mit notone() ausgeschaltet 6/8

Die if-abfrage Mit der if-abfrage können wir testen, ob eine Aussage wahr oder falsch ist. Nehmen wir an, du hast rote und blaue Bausteine vermischt und du willst sie in zwei Boxen sortieren. Wie würdest du das machen? Vielleicht so:. nimm einen Baustein 2. prüfe, ob der Baustein rot ist 3. wenn er rot ist, packe den Stein in Box A Genau so benutzt man die if-abfrage. Es ist also eigentlich ganz einfach. So wird sie geschrieben. Achte auf die zwei Gleichheitszeichen hintereinander. Das ist bei einer if-abfrage sehr wichtig. if (Baustein==rot){ packe den Stein in Box A else So, jetzt könnten wir alle roten Bausteine in Box A packen, würden aber alle blauen Steine nach der Überprüfung einfach liegen lassen. Wie kommen die jetzt in Box B? Ein Vorschlag:. nimm einen Baustein 2. prüfe, ob der Baustein rot ist 3. wenn er rot ist, packe den Stein in Box A 4. sonst packe ihn in Box B Gut, oder? Und so könnten wir das programmieren: if (Baustein==rot){ packe den Stein in Box A else { packe den Stein in Box B Wir benutzen also das Wort else. Das trifft sich gut, denn else heißt auf Deutsch sonst. Achtung: Hast du den grünen Stein gesehen? Der wandert auch in Box B, denn wir fragen ja nicht, ob der Baustein blau ist, sondern nur, ob er nicht rot ist. 7/8

Codemanipulation Jetzt probier mal aus, wenn Du den übergebenen Wert noch etwas abänderst: int sensorpin = A0; int lautsprecherpin = 3; int buttonpin = 7; int value = 0; void setup() { pinmode(buttonpin, INPUT_PULLUP); void loop() { if (digitalread(buttonpin)==low){ value = analogread(sensorpin); if (analogread(sensorpin)>value+80){ tone(lautsprecherpin,800); tone(lautsprecherpin,400); tone(lautsprecherpin,200); Was passiert, wenn Du den Wert bei tone() änderst? Und was, wenn Du den Wert im delay() änderst? Oder erzeuge noch einen neuen Ton. else { notone(lautsprecherpin); Was passiert bei Mal 3 oder Mal 4? Probier es aus. 8/8