Physical Computing Einfhrung mit Arduino und Scratch MINT
- Slides: 53
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 – 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 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 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 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 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 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? 2 Physical Computing - Peter Klingebiel - 13. September 2018 9
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? 5 Physical Computing - Peter Klingebiel - 13. September 2018 12
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 / 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 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 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 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 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 - 13. September 2018 19
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 - 13. September 2018 21
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
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 - 13. September 2018 25
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 2018 27
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. September 2018 29
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, 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 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 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 - 13. September 2018 34
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 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 - 13. September 2018 37
Scratch 1 Physical Computing - Peter Klingebiel - 13. September 2018 38
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 „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 Computing - Peter Klingebiel - 13. September 2018 41
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 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 Physical Computing - Peter Klingebiel - 13. September 2018 44
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 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 • 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. September 2018 48
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 / 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 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) Physical Computing - Peter Klingebiel - 13. September 2018 52
Und jetzt: selber programmieren … Physical Computing - Peter Klingebiel - 13. September 2018 53
- Https//scratch.mit.edu/
- Scratch
- Https/scratch.mit.edu
- Scratch mit
- Physical computing beispiele
- Scratch 4 arduino
- Az iskola mint szervezet
- Relációs jel kép
- Nonszummativitás
- Picking oakum
- Szonett
- Mint a montblanc csúcsán a jég
- Linux mint distrowatch
- Harmatozzatok égi magasok
- Mint vélgaban
- The us mint produces quarters that weigh
- Morphology of flowering plants
- Linux mint ventajas y desventajas
- Andrs mint
- Scratch mit edu
- Scratch.mit.edu l
- Scratch.mit.udi
- Https //scratch.mit.edu login
- Https /scratch.mit.edu/
- Htpps://scratch.mit.edu
- Scratch.mit ed
- Http://scratch.mit.edu
- Scratch.mit.edu
- Scratch programming mit
- Scratch.mit.etude
- Scratch mit edu
- How to make a virtual pet on scratch
- Scratch mit university
- Why choose sayvirtual ves
- Programi scratch
- Conventional computing and intelligent computing
- Mit quantum computing
- Mit quantum computing
- Physical computing definition
- Physical rate fences example
- Physical fitness test grade 9
- Leygonie brive
- Arduino uno timer interrupt
- Arduino piezo sound effects
- Minibloq
- Robot evita ostacoli arduino
- Arduino assembly language
- Tccr arduino
- Conclusion arduino
- Entrada analoga arduino
- Arduino web editor vs ide
- Parallel and serial communication
- Rangkaian skematik arduino uno
- Devre elemanlarını birbirine bağlayan kablo