Physical Computing Einfhrung mit Arduino und Scratch MINT

  • Slides: 53
Download presentation
Physical Computing Einführung mit Arduino und Scratch MINT Labortage 2018 Donnerstag, 13. September 2018

Physical Computing Einführung mit Arduino und Scratch MINT Labortage 2018 Donnerstag, 13. September 2018 Hochschule Fulda, Fachbereich Angewandte Informatik Rabanus-Maurus-Schule Fulda, Klasse 7 Peter Klingebiel, HS Fulda, Fachbereich AI

Ablauf des Labortages 1 • Wer sind wir? – Peter Klingebiel, Dipl. -Ing. Maschinenbau

Ablauf des Labortages 1 • Wer sind wir? – Peter Klingebiel, Dipl. -Ing. Maschinenbau – 21 Jahre Leiter DVZ der Hochschule Fulda, heute: Dozent im Fachbereich AI – Vanessa Günzel, Studierende der Informatik Physical Computing - Peter Klingebiel - 13. September 2018 2

Ablauf des Labortages 2 • Wer seid Ihr? – – Interesse an Physik und

Ablauf des Labortages 2 • Wer seid Ihr? – – Interesse an Physik und Informatik? Kenntnisse in Programmieren? ? • Thema: Physical Computing – Was ist das? – Was versteht Ihr darunter? Physical Computing - Peter Klingebiel - 13. September 2018 3

Ablauf des Labortages 3 • Was wollen wir heute machen? – – – Was

Ablauf des Labortages 3 • Was wollen wir heute machen? – – – Was ist Physical Computing? Wie funktionieren Computer? Was sind Programme? Grundlagen der Programmierung einfache Beispiele von Scratch-Programmen – Experimente und praktische Übungen mit Arduino und Scratch Physical Computing - Peter Klingebiel - 13. September 2018 4

Physical Computing 1 • Wikipedia sagt: „Physical Computing bedeutet im weitesten Sinne, interaktive, physische

Physical Computing 1 • Wikipedia sagt: „Physical Computing bedeutet im weitesten Sinne, interaktive, physische Systeme durch die Verwendung von Hardware und Software zu erstellen. “ https: //de. wikipedia. org/wiki/Physical_Computing Physical Computing - Peter Klingebiel - 13. September 2018 5

Physical Computing 2 • Uni Bamberg: „Physical Computing sind Anwendungen der Informatik (computing) in

Physical Computing 2 • Uni Bamberg: „Physical Computing sind Anwendungen der Informatik (computing) in direkter Interaktion mit der – physikalischen – Umwelt. Es werden Systeme betrachtet, die ihre eigene Umgebung durch Sensoren erfassen und so auf den jeweiligen Systemkontext angepasst agieren. Anwendungsgebiete von Physical Computing sind interaktive Systeme, mobile Systeme, autonome Roboter oder Smart Environments. “ https: //www. uni-bamberg. de/en/ai/smartenvironments/teaching/physical-computing/ Physical Computing - Peter Klingebiel - 13. September 2018 6

Physical Computing 3 • Systeme des Physical Computing bestehen aus: • Computern, meistens spezielle

Physical Computing 3 • Systeme des Physical Computing bestehen aus: • Computern, meistens spezielle Mikrokontroller, die viele Ein- und Ausgänge zum Anschluß von Sensoren und Aktoren bieten • Sensoren, mit denen die Umwelt erfasst wird, z. B. Temperatur-, Luftfeuchte-, Helligkeits-, Abstands-Sensoren u. v. a. m. • Aktoren, mit denen auf die Umgebung eingewirkt werden kann, z. B. Schalter, Motoren u. v. a. m. • Programme, mit denen die Aufgabenstellung kodiert ist und die im μC ablaufen Physical Computing - Peter Klingebiel - 13. September 2018 7

Wie funktionieren Computer? 1 Physical Computing - Peter Klingebiel - 13. September 2018 8

Wie funktionieren Computer? 1 Physical Computing - Peter Klingebiel - 13. September 2018 8

Wie funktionieren Computer? 2 Physical Computing - Peter Klingebiel - 13. September 2018 9

Wie funktionieren Computer? 2 Physical Computing - Peter Klingebiel - 13. September 2018 9

Wie funktionieren Computer? 3 Physical Computing - Peter Klingebiel - 13. September 2018 10

Wie funktionieren Computer? 3 Physical Computing - Peter Klingebiel - 13. September 2018 10

Wie funktionieren Computer? 4 Physical Computing - Peter Klingebiel - 13. September 2018 11

Wie funktionieren Computer? 4 Physical Computing - Peter Klingebiel - 13. September 2018 11

Wie funktionieren Computer? 5 Physical Computing - Peter Klingebiel - 13. September 2018 12

Wie funktionieren Computer? 5 Physical Computing - Peter Klingebiel - 13. September 2018 12

Wie funktionieren Computer? 6 • Computer ? – – Mikroprozessoren (CPU), -Kontroller (μC) Ein-

Wie funktionieren Computer? 6 • Computer ? – – Mikroprozessoren (CPU), -Kontroller (μC) Ein- und Ausgabe-Schnittstellen, -geräte Speicher und und … – Hardware („Blech“) • Computer funktionieren nur mit – Programmen! – Software Physical Computing - Peter Klingebiel - 13. September 2018 13

Was sind Programme? 1 • Computer … – … funktionieren nur mit Programmen /

Was sind Programme? 1 • Computer … – … funktionieren nur mit Programmen / Software • Programme beschreiben … – … was ein Computer tun soll (Aufgabe, Problem) – … wie ein Computer seinen Job erledigen soll (Ablauf) • Programme gibt es für – allgemeine Aufgaben (z. B. Windows) – spezielle Aufgaben (z. B. Physical Computing) Physical Computing - Peter Klingebiel - 13. September 2018 14

Arduino 2 • Vielzahl an Boards, auch für Sonderbereiche • Vielzahl an Herstellern von

Arduino 2 • Vielzahl an Boards, auch für Sonderbereiche • Vielzahl an Herstellern von Boards und Komponenten • Vielzahl an sog. Shields, z. B. Ethernet, Wi. Fi, Sensoren, … • Vielzahl an Komponenten wie LEDs, Sensoren, Aktoren, Motoren, … • Vielzahl an Einsatzfeldern, z. B. Robotics, Internet of Things, Hausautomatisierung, Wearables, … • viele Anleitungen in Literatur und Internet, z. B. – https: //funduino. de – http: //www. netzmafia. de/skripten/hardware/Arduino/index. html Physical Computing - Peter Klingebiel - 13. September 2018 15

Arduino 2 • Wikipedia: • • • https: //de. wikipedia. org/wiki/Arduino_(Plattform) Arduino (zwischenzeitlich auch

Arduino 2 • Wikipedia: • • • https: //de. wikipedia. org/wiki/Arduino_(Plattform) Arduino (zwischenzeitlich auch Genuino) Open Source Hardware- und Software-Plattform entwickelt von Massimo Banzi und David Cuartielles auch für künstlerischen Einsatz von IT -Komponenten benamst nach Arduin von Ivrea, der 1002 -1014 italienischer König war Programmierung in C und C++ in einer eigenen Processing-basierten IDE Homepage: https: //www. arduino. cc Physical Computing - Peter Klingebiel - 13. September 2018 16

Arduino UNO 1 Reset. Schalter Digitale Ein-/Ausgänge Pin 2 bis Pin 13 GND Masse

Arduino UNO 1 Reset. Schalter Digitale Ein-/Ausgänge Pin 2 bis Pin 13 GND Masse Serielle Pins In und Out USBAnschluß CPU: Atmel ATmega 328 Mikrocontroller Externe Stromversorgung 3. 3 V 5 V GND Physical Computing - Peter Klingebiel - 13. September 2018 Analoge Eingänge Pin A 0 bis Pin A 5 17

Arduino Nano 1 CPU Atmel ATmega 328 11 digitale Eingänge D 0 bis D

Arduino Nano 1 CPU Atmel ATmega 328 11 digitale Eingänge D 0 bis D 13 GND Serielle Pins RX und TX USBAnschluß Reset. Taster 3. 3 V 8 analoge Eingänge A 0 bis A 7 Physical Computing - Peter Klingebiel - 13. September 2018 5 V GND 18

Schaltung 1 • Nano und LED auf Breadboard Physical Computing - Peter Klingebiel -

Schaltung 1 • Nano und LED auf Breadboard Physical Computing - Peter Klingebiel - 13. September 2018 19

Schaltung 2 • Schaltungsgrafik mit Fritzing-Software Physical Computing - Peter Klingebiel - 13. September

Schaltung 2 • Schaltungsgrafik mit Fritzing-Software Physical Computing - Peter Klingebiel - 13. September 2018 20

Breadboard 1 • Steckbrett - Schaltungen ohne Löten Physical Computing - Peter Klingebiel -

Breadboard 1 • Steckbrett - Schaltungen ohne Löten Physical Computing - Peter Klingebiel - 13. September 2018 21

Breadboard 2 • Verbindungen der Lochreihen Bus Stripes für VCC und GND Terminal Stripes

Breadboard 2 • Verbindungen der Lochreihen Bus Stripes für VCC und GND Terminal Stripes für Komponenten Bus Stripes für VCC und GND Physical Computing - Peter Klingebiel - 13. September 2018 22

Steckkabel 1 • Physical Computing - Peter Klingebiel - 13. September 2018 23

Steckkabel 1 • Physical Computing - Peter Klingebiel - 13. September 2018 23

LED 1 • Aufbau und Schaltbild einer LED Physical Computing - Peter Klingebiel -

LED 1 • Aufbau und Schaltbild einer LED Physical Computing - Peter Klingebiel - 13. September 2018 24

Potentiometer 1 • Einfaches Potentiometer 10 k. Ohm Physical Computing - Peter Klingebiel -

Potentiometer 1 • Einfaches Potentiometer 10 k. Ohm Physical Computing - Peter Klingebiel - 13. September 2018 25

PIR Bewegungssensor 1 • Passiver Infrarot Bewegungssensor Physical Computing - Peter Klingebiel - 13.

PIR Bewegungssensor 1 • Passiver Infrarot Bewegungssensor Physical Computing - Peter Klingebiel - 13. September 2018 26

Ultrasonic Entfernungssensor 1 • Ultraschall Entfernungssensor Physical Computing - Peter Klingebiel - 13. September

Ultrasonic Entfernungssensor 1 • Ultraschall Entfernungssensor Physical Computing - Peter Klingebiel - 13. September 2018 27

Servomotor 1 • Servomotor 0 bis 180 Grad Winkel Physical Computing - Peter Klingebiel

Servomotor 1 • Servomotor 0 bis 180 Grad Winkel Physical Computing - Peter Klingebiel - 13. September 2018 28

Was sind Programme? 1 Beispiel: Lego Bauanleitung Physical Computing - Peter Klingebiel - 13.

Was sind Programme? 1 Beispiel: Lego Bauanleitung Physical Computing - Peter Klingebiel - 13. September 2018 29

Was sind Programme? 2 • Definition: „Programmieren ist eine Tätigkeit, bei der versucht wird,

Was sind Programme? 2 • Definition: „Programmieren ist eine Tätigkeit, bei der versucht wird, durch systematischen Einsatz einer gegebenen Programmiersprache ein gestelltes Problem zu lösen. “ aus: H. Balzert, Lehrbuch Grundlagen der Informatik, 1999 • Wikipedia: http: //de. wikipedia. org/wiki/Programmierung Physical Computing - Peter Klingebiel - 13. September 2018 30

Was sind Programme? 3 • Definition: „Algorithmen, die von einem automatischen Prozessor abgearbeitet werden,

Was sind Programme? 3 • Definition: „Algorithmen, die von einem automatischen Prozessor abgearbeitet werden, bezeichnet man als Programme. Ein Programm stellt die Realisierung eines Algorithmus dar. Im Gegensatz zu einem Algorithmus ist ein Programm konkreter und eingeschränkter. “ aus: Balzert, Lehrbuch. . . • Wikipedia: http: //de. wikipedia. org/wiki/Computerprogramm Physical Computing - Peter Klingebiel - 13. September 2018 31

Was sind Programme? 4 • Definition: „Algorithmus (Plural: Algorithmen), Problemlösungsbeschreibung, die festlegt, wie ein

Was sind Programme? 4 • Definition: „Algorithmus (Plural: Algorithmen), Problemlösungsbeschreibung, die festlegt, wie ein Problem gelöst werden soll. “ aus: Balzert, Lehrbuch. . . • Wikipedia: http: //de. wikipedia. org/wiki/Algorithmus Physical Computing - Peter Klingebiel - 13. September 2018 32

Was sind Programme? 5 • Entwicklung von Programmen: • Aufgabe / Problem so genau

Was sind Programme? 5 • Entwicklung von Programmen: • Aufgabe / Problem so genau wie möglich beschreiben – Beispiel: Idee / Ziel eines Computerspiels genau beschreiben • Lösungsweg (Algorithmus) suchen und so genau wie möglich beschreiben – Bsp: Ablauf des Spiels genau beschreiben • Programm entwickeln (programmieren) – Bsp: Computerspiel / Ablauf des Spiels in eine Programmiersprache umsetzen / codieren Physical Computing - Peter Klingebiel - 13. September 2018 33

Was sind Programme? 6 • Einfaches Programm: Blinkende LED Physical Computing - Peter Klingebiel

Was sind Programme? 6 • Einfaches Programm: Blinkende LED Physical Computing - Peter Klingebiel - 13. September 2018 34

Was sind Programme? 7 • Programmiersprachen • Programme werden in Programmiersprachen geschrieben / beschrieben

Was sind Programme? 7 • Programmiersprachen • Programme werden in Programmiersprachen geschrieben / beschrieben • Programmiersprachen verlangen fast immer eine exakte Beschreibung der Aufgabe und der Lösung der Aufgabe • Programmiersprachen sind fast immer sehr pingelig und erfordern die genaueste Einhaltung der Syntax (Rechtschreibung) Physical Computing - Peter Klingebiel - 13. September 2018 35

Was sind Programme? 8 • Programm: Blinkende LED • Schaltung – LED mit Kontroller

Was sind Programme? 8 • Programm: Blinkende LED • Schaltung – LED mit Kontroller verbinden – Kathode (-) an GND – Anode (+) an IO-Anschluß, den IO-Pin • Programmablauf – IO-Pin initialisieren, hier: Pin auf Ausgang einstellen – in einer Schleife (endlos oder n mal): – Pin (=LED) ein (Pin auf HIGH) und 1 s warten – Pin aus (Pin auf LOW) und 1 s warten Physical Computing - Peter Klingebiel - 13. September 2018 36

Was sind Programme? 9 • Scratch-Programm zur blinkenden LED: Physical Computing - Peter Klingebiel

Was sind Programme? 9 • Scratch-Programm zur blinkenden LED: Physical Computing - Peter Klingebiel - 13. September 2018 37

Scratch 1 Physical Computing - Peter Klingebiel - 13. September 2018 38

Scratch 1 Physical Computing - Peter Klingebiel - 13. September 2018 38

Scratch 2 Prof. Mitchel Resnik, Erfinder von Scratch Physical Computing - Peter Klingebiel -

Scratch 2 Prof. Mitchel Resnik, Erfinder von Scratch Physical Computing - Peter Klingebiel - 13. September 2018 39

Scratch 3 • • Besonderheiten von „Scratch“: einfach und intuitiv zu bedienen sehr niedrige

Scratch 3 • • Besonderheiten von „Scratch“: einfach und intuitiv zu bedienen sehr niedrige „Einstiegshürden“ Programme werden mit Bildchen und Symbolen spielerisch zusammen-geklickt“ • wie „Spielen mit Legosteinen“ • Scratch: https: //scratch. mit. edu/ Programmieren auf der Website im Browser! • m. Block: http: //www. mblock. cc/ Download und Programmieren auf eigenem Computer! Hardware kann integriert werden! Physical Computing - Peter Klingebiel - 13. September 2018 40

Scratch 4 Die Scratch-Oberfläche / Der Scratch-Editor (Internet) https: //scratch. mit. edu/projects/editor/? tip_bar=home Physical

Scratch 4 Die Scratch-Oberfläche / Der Scratch-Editor (Internet) https: //scratch. mit. edu/projects/editor/? tip_bar=home Physical Computing - Peter Klingebiel - 13. September 2018 41

Scratch 5 Physical Computing - Peter Klingebiel - 13. September 2018 42

Scratch 5 Physical Computing - Peter Klingebiel - 13. September 2018 42

Scratch 6 Die m. Block-Oberfläche (lokal auf dem PC) http: //www. makeblock. com Physical

Scratch 6 Die m. Block-Oberfläche (lokal auf dem PC) http: //www. makeblock. com Physical Computing - Peter Klingebiel - 13. September 2018 43

Scratch 7 Hauptmenü Klänge Programmierblöcke Kostüme Spielfläche Bühne Figuren Sprites Programmier -bereich Skripte Bühnenbilder

Scratch 7 Hauptmenü Klänge Programmierblöcke Kostüme Spielfläche Bühne Figuren Sprites Programmier -bereich Skripte Bühnenbilder Physical Computing - Peter Klingebiel - 13. September 2018 44

Grundlagen der Programmierung 1 • Programme werden aus unterschiedlichen Elementen zusammen“gebaut“ • Einfachstes Element

Grundlagen der Programmierung 1 • Programme werden aus unterschiedlichen Elementen zusammen“gebaut“ • Einfachstes Element ist die Anweisung • Beispiele (in C) – printf(„Hallo, Welt!n“); – clear_screen(); • Beispiele (in Scratch) – – – Physical Computing - Peter Klingebiel - 13. September 2018 45

Grundlagen der Programmierung 2 • C-Programme starten mit main() • Scratch-Programme (Skripte) starten bei

Grundlagen der Programmierung 2 • C-Programme starten mit main() • Scratch-Programme (Skripte) starten bei bestimmten Ereignissen • Beispiele – Grüne Fahne – Taste – Nachricht Physical Computing - Peter Klingebiel - 13. September 2018 46

Grundlagen der Programmierung 3 • C-Programme werden übersetzt und zu einem ausführbaren Programm montiert

Grundlagen der Programmierung 3 • C-Programme werden übersetzt und zu einem ausführbaren Programm montiert • Scratch-Skripte werden durch Zusammenfügen der Symbole durch Bewegen mit der Maus zusammengebaut Physical Computing - Peter Klingebiel - 13. September 2018 47

Grundlagen der Programmierung 4 Beispiel: Blinkende LED Physical Computing - Peter Klingebiel - 13.

Grundlagen der Programmierung 4 Beispiel: Blinkende LED Physical Computing - Peter Klingebiel - 13. September 2018 48

Grundlagen der Programmierung 5 • die meisten Programme sind nicht so einfach gebaut. Fast

Grundlagen der Programmierung 5 • die meisten Programme sind nicht so einfach gebaut. Fast immer ist eine Steuerung des Programmablaufs erforderlich • Bedingungen: wenn / falls sonst … • Beispiele: – falls das Licht an ist, dann schalte es aus – wenn das Zimmer aufgeräumt ist, kannst du spielen, sonst räume weiter auf! Physical Computing - Peter Klingebiel - 13. September 2018 49

Grundlagen der Programmierung 6 • Schleifen: wiederhole solange bis / wiederhole n mal /

Grundlagen der Programmierung 6 • Schleifen: wiederhole solange bis / wiederhole n mal / wiederhole endlos … • Beispiele: – solange du die Hausarbeiten nicht fertig gemacht hast, kannst du nicht spielen gehen – laufe zehn Runden um den Sportplatz Physical Computing - Peter Klingebiel - 13. September 2018 50

Grundlagen der Programmierung 7 • Objekte: Scratch hat als Grundelement der Programmierung Objekte (Figuren

Grundlagen der Programmierung 7 • Objekte: Scratch hat als Grundelement der Programmierung Objekte (Figuren oder Sprites genannt) – werden über Skripte programmiert / gesteuert – haben Eigenschaften, z. B. Kostüme – kommunizieren miteinander, schicken und empfangen Nachrichten Physical Computing - Peter Klingebiel - 13. September 2018 51

Beispiele 1 Frühstücksroboter von Simone Giertz (auf youtube) Lippenstiftroboter von Simone Giertz (auf youtube)

Beispiele 1 Frühstücksroboter von Simone Giertz (auf youtube) Lippenstiftroboter von Simone Giertz (auf youtube) Physical Computing - Peter Klingebiel - 13. September 2018 52

Und jetzt: selber programmieren … Physical Computing - Peter Klingebiel - 13. September 2018

Und jetzt: selber programmieren … Physical Computing - Peter Klingebiel - 13. September 2018 53