Ulrich Stein

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

Was so passieren wird:

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

Fachprojekt for Embedded System: Design and Implement Your Own Embedded Systems (2) LS 12, TU Dortmund

SINNsorik Wahrnehmen durch Sensoren NAME, KLASSE:

Erste Gehversuche mit ARDUINO (DL6OAA)

Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert?

Praktikum Analog- und Digitaltechnik. Versuch D3 Bluetooth-steuerung mit Arduino

Arduino Digispark. Ausgabe Copyright by Joy-IT 1

Fragen zu Objektorientierte Programmierung mit MATLAB (c) Ulrich Stein

Einführung Arduino - Aufbau

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

Selbstbauprojekt 2017 GØ1

Programmieren des ESP8266 mit OLED

Arduino µcontroller. Virtuelle COMSchnittstelle

Microcontroller im Amateurfunk

ARDUINO KENNENLERNEN WAS IST EIN ARDUINO?

Jan Monsch. Donnerstag, 2. Mai 13

Erste Schritte. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes

Android + Arduino Hardware steuern mit Android. Entwicklertag Karlsruhe, Sebastian Wastl

Eine tastergesteuerte LED

C++ mit dem Arduino (Uno und Mega2560)

C++ mit dem Arduino (Uno und Mega2560)

Simulink: Softwareentwurf für eingebettete Systeme ROS-Arduino-Interface. von Christian Schildwächter

foexlab-materialien Arduino-Schaltungen First Steps Gottfried Wilhelm Leibniz Universität Hannover

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

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

Physical Computing. und Arduino. Jürgen Plate. 3. März 2012

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

LED Skalenbeleuchtung mit einem Arduino

Installation der Entwicklungsumgebung

Arduino Nano. Hello World per LED On-Board LED (Pin D13) Beispiel: Arduino IDE / Beispiele / Basics / Blink 5 / 20

Arduino und Amateurfunk (1)

Arbeitsblatt Nr.19: RFID Kit

C / C++ für das Internet der Dinge und Hausautomatisierung Einführung

Benutzer Handbuch. Front-Panel I/O BOX mit dazugehörigen Verbindungskabeln.

SIOSLAB. Technische Daten:

analoge Ein- und Ausgänge

Anleitung zur Installation von Treiber (zwei) und Datenlesesoftware (ToolBox) Misst Radioaktivität einfach und zuverlässig.

Einführung in die Arduino Programmierung am Beispiel eines Roboters.

edition Make: Arduino Ein schneller Einstieg in die Microcontroller-Entwicklung von Maik Schmidt 2., akt. u. erw. Aufl. dpunkt.

Praktikum Komponenten & Programmierung von Automatisierungssystemen

WBelectronics. Infinity USB Phoenix - Benutzerhandbuch

Microcomputer be-greifbare Informatik

ONE Technologies AluDISC 3.0

Überblick zum ESP32 mit Arduino. Helmut Tschemernjak Arduino-Hannover

Start mit dem Computer

Die Technik hinter IoT: Arduino, Raspberry Pi & Co.

Zur Einarbeitung in die Arduino Welt reichen die Folgenden Komponenten aus.

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

Der Arduino im Physikunterricht Cheat-Sheet. Christopher Kommetter

Inhaltsverzeichnis Einleitung... 3

Bootloader FastBoot von Peter Dannegger

Arduino - Einfacher Teiler

am abspeichern übertragen. USB-Treiber bestätigen. Seite 1 von 9

Mikrocontroller. eine Einführung. Florian Schmitt / 34

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

S CONTROL BEDIENUNGSANLEITUNG SOFTWARE ZUR ANPASSUNG VON LAUTSPRECHERN DER S-SERIE FÜR MAC & PC

Arduino Kurs Timer und Interrupts. Stephan Laage-Witt FES Lörrach

RGBWW WLAN LED Dimmer mit H801 (ESP8266)

Folgen Sie diesen Anweisungen Schritt für Schritt, um das ZETA DLMS-Terminal 2011 zu installieren und in Betrieb zu nehmen.

Anleitung zur Datenübertragung via Datenexport

Arduino und die Physical Computing Revolution Playground AV Anton Bachmayr - Netzteil

Hardware & Kernel-Module

die Ausgabe von Steuerungen über einen PC geeignet sind. Eingangsgröße am Sensor dieser Steuerung auswirkt.

Microcontroller Selbststudium Semesterwoche 9

Einführung...2 Überblick über die Technologie... 2 Über den 7 Port DRU-H7 USB Hub 3 Leistungsmerkmale des Produktes...4

AustroModell. PROGRAMMIERUNG der USB - Servo Controller 6- bis 24-Fach

Arduino Kurs Bits und Bytes. Stephan Laage-Witt FES Lörrach

Der I²C-Bus. Vorstellung des Inter-Integrated Circuit -Bus. Aufbau und Funktionsweise. Beispiel PortExpander am Arduino

Arduino Mikrocontrolling

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega

ARDUINO Übung. Inhalt:

qfix ASCII-Protokoll

/ Rev. 2 / SERIE P40 Zusatzbeschreibung: Quick Guide für FDT Basic-Tool und Backup-Tool

easyident-mifare DESFire Einbaumodul

Infokarte: Snap4Arduino

LED board EB

Grundlagen der Anwendung und Programmierung des ESP8266. Dennis Hoffmann Mittwoch, :30 Uhr Schulungsraum SW23/147

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

DMXface ACTIVE SEND mit RS232

Arduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach

Selbstschließende Hand (SsH)

4.2 Die Arduino-Hardware

Qelectronics GmbH Am Sandberg 7a Dresden

Praktikum Informationsverarbeitung

System-Programmierung 10: Weitere Arten von I/O. CC BY-SA, Thomas Amberg, FHNW (soweit nicht anders vermerkt)

Der Chaos Computer Club Trier präsentiert:

Aufgaben zur Attiny-Platine

Dieses Tutorial ist für absolute Einsteiger gedacht und zeigt die Installation der notwendigen Software und aller Einstellungen von Anfang an.

LAN-Schaltinterface LAN-R01

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

Kurzanleitung LTT 186 bzw. LTT182 Stand-Alone-Betrieb. 1. Anschluss des LTT Rekorders an den Computer

Bedienungsanleitung DME-Tester V1.0

TaT-Maker Steuerung. Selbstbauanleitung. von. Kurt Sepke

MDP-III USB-Remote Setup Tool

Transkript:

4.12 Externe Schnittstellen / Controller Board Arduino 4.12.1 USB, serielle Schnittstelle Universal Serial Bus (USB): serielles Bussystem zur Verbindung eines Computers mit externen Geräten. Vor USB gab es recht unterschiedliche Computer-Schnittstellen, fast alle diese Schnittstellenvarianten wurden durch USB ersetzt 1996 eingeführt, vom Hersteller Intel entwickelt 2000 Version USB 2.0 spezifiziert 2008 Version 3.0, Brutto-Datentransferrate bis zu 500 MBytes/s. serieller Bus: die einzelnen Bits eines Datenpaketes werden nacheinander übertragen. Geräteklassen: Audio (Lautsprecher, Mikro), Human Interface Device (Maus, Tastatur),... damit nicht jedes Gerät einen eigenen Treiber benötigt, definiert der USB-Standard verschiedene Geräteklassen -> generische Treiber 4.12.2 Controller Board Arduino Arduino: kleines Mikrocontroller Board, hier Uno USB-Anschluss, ext. Stromversorgung Prozessor: Microcontroller ATmega328 14 Digital I/O Pins (0 bzw. 5 V) 6 PWM Digital I/O Pins (Pulse-width modulation, var. U) 6 Analog Input Pins Flash Memory, SRAM, EEPROM Schwingquarz: Clock Speed 16 MHz 1 LED auf dem Board zu Testzwecken Preis für Arduino Uno: ca. 25 EURO Hardware-Spezifikation und Software ist Open Source (Quell-offen) An die Pins von Arduino können Daten-Ein- und Ausgänge angeschlossen werden, z.b. zum Schalten von LEDs, Relais, Motoren oder zum Einlesen von Signalen. Informatik 1

4.12.3 Arduino Sketches (C-Programme im IDE) integr. Entwicklungsumgebung (IDE) von Arduino-Seite herunterladen und installieren (Treiber) plattformunabhängige gg Java-Anwendung, basierend auf der IDE von Processing Programme heißen bei Arduino Sketch, Programmierung in C und C++ Für ein Programm genügt es, zwei Methoden zu definieren: setup() beim Start des Programms einmalig aufgerufen loop() wird immer wieder durchlaufen, solange das Board eingeschaltet ist. int ledpin = 13; // LED an Pin 13 angeschlossen void setup() { pinmode(ledpin, OUTPUT); // LED-Pin als Ausgang festlegen } void loop() { digitalwrite(ledpin, HIGH); // LED anschalten delay(1000); // 1 Sekunde (=1000 ms) warten digitalwrite(ledpin, LOW); // LED ausschalten delay(1000); // 1 Sekunde warten } Abschluss: Sketch im IDE kompilieren und auf das Board hochladen Arduino-IDE: Programmier-Tools, etc. Sketch Blink im Arduino-IDE, geladen unter Datei / Beispiele Kompilieren mit dem Icon ganz links (Häkchen) Hochladen mit dem Icon rechts daneben (Pfeil rechts) Serial Monitor mit dem Icon ganz rechts (Lupe), für Debug-Ausgaben mit der Klasse Serial durch die Methoden begin und println Informatik 2

4.12.4 Ansteuerung über MATLAB MATLAB-Umgebung für Arduino von der Mathworks-Seite herunterladen und installieren Wichtigstes Programm (Sketch):./ArduinoIO/pde/adioes/adioes.pde adioes.pde in die Ardino-IDE laden, kompilieren und auf das Board übertragen, ist der "Analog and Digital Input and Output Server for MATLAB" Jetzt läuft auf dem Board der Sketch adioes.pde und das Board ist in dem Zustand, Befehle von MATLAB zu empfangen und zu interpretieren Im MATLAB-Verzeichnis gibt es auch den M-File arduino.m, der ziemlich automatisch MATLAB mit dem Board verbindet - wir werden hier die Funktionalität von arduino.m NICHT verwenden, sondern die Verbindung Schritt für Schritt per Hand durchführen Es gibt außerdem M-Files für die MATLAB-Toolbox Simulink, die den Zugriff auf das Board über eine grafische Oberfläche noch viel komfortabler macht - verwenden wir hier aber auch nicht. Wir verwenden nur absolute Basis-Befehle von MATLAB zum Datenaustausch. MATLAB-Befehle zum Kontakt mit Arduino (1. Board an USB-Port anschließen) >> comport='com6'; % COM-Port für Arduino, siehe Systemsteuerung % keine serielle Schnittstelle angemeldet >> instrser = instrfind( 'Type', 'serial' ) instrser = [] % seriellen Port 'COM6' erzeugen >> a.aser = serial( comport,'baudrate',115200 ); % serielle Schnittstellen anzeigen >> instrser = instrfind( 'Type', 'serial' ) Serial Port Object : Serial-COM6 Communication Settings Port: COM6 BaudRate: 115200 Terminator: 'LF' Communication State Status: closed RecordStatus: off... Informatik 3

MATLAB-Befehle zum Kontakt mit Arduino (2. Port öffnen) % Port öffnen, vgl. Öffnen von binären Dateien mittels fopen >> fopen( a.aser ); % serielle Schnittstellen anzeigen >> instrser = instrfind( 'Type', 'serial' ) Serial Port Object : Serial-COM6 Communication Settings Port: COM6 BaudRate: 115200 Terminator: 'LF' Communication State Status: open RecordStatus: off Read/Write State TransferStatus: idle BytesAvailable: 0 ValuesReceived: 0 ValuesSent: 0 MATLAB-Befehle zum Kontakt mit Arduino (3. Erster Befehl an das Board) % Befehl mittels fwrite an Arduino senden: mehrere Bytes als Text (uchar) >> char( [57 57] ) ans = 99 % Befehl '99': Typ des Sketches bestimmen, der auf dem Board läuft >> fwrite( a.aser, [57 57], 'uchar' ); % Antwort vom Board mittels fscanf abholen, als Integer interpretieren: >> a.sktc = fscanf( a.aser, '%d' ) a = aser: [1x1 serial] sktc: 2 % 'Analog & Digital I/O + Encoders + Servos (adioes.pde) sketch detected!' Befehle an einen Port entsprechen den Befehlen zum Lesen und Schreiben in eine binäre Datei auf der Festplatte: fopen, fwrite, fscanf,... Der erste Parameter, hier a.aser, gibt an, wohin der Daten-Stream geht bzw. woher er kommt. Informatik 4

MATLAB-Befehle zum Kontakt mit Arduino (4. Onboard-LED an Pin 13 schalten) % Befehl 48: Pin 13 als Output definieren: % Befehl '0n1' = char( [48 97+13 49] ) >> pin = 13; >> val=1; % 'output' => 48 + val = '1' >> fwrite( a.aser, [48 97+pin 48+val], 'uchar' ); % Befehl 50: Pin 13 auf HIGH (Strom durch LED) % Befehl '2n1' = char( [50 97+13 49] ) >> dv = 1; >> fwrite( a.aser, [50 97+pin 48+dv], 'uchar' ); % Pin 13 auf LOW (LED ausschalten) % Befehl '2n0' = char( [50 97+13 48] ) >> fwrite( a.aser, [50 97+pin 48+0], 'uchar' ); MATLAB-Befehle zum Kontakt mit Arduino (5. Status von Pin 13 auslesen) % Befehl 49: Status von Pin 13 auslesen % Befehl '1n' = [49 97+pin]: reads digital pin #13 ('n') >> fwrite( a.aser, [49 97+pin], 'uchar' ); % Board sendet auf Befehl 49 Daten an MATLAB zurück % Wert von der Schnittstelle mittels fscanf lesen: >> val = fscanf( a.aser, '%d ') val = 0 % da LED ausgeschaltet wurde Kommunikation beenden: % COM-Port schließen >> fclose( a.aser ) % serielle Schnittstelle freigeben >> delete( a.aser ); Informatik 5

4.12.5 Literatur Arduino: http://arduino.cc/ http://arduino.cc/de/guide/homepage MATLAB: Arduino Support from MATLAB http://www.mathworks.de/hardware-support/arduino-matlab.html/ weitere Dokus: http://de.wikipedia.org/wiki/arduino-plattform/ Wikipedia http://www.freeduino.de/books/arduino-tutorial-lady-ada Lady Ada http://www.arduino-tutorial.de/ t t i d / Stefan Hermann http://de.wikipedia.org/wiki/processing Wikipedia Processing http://de.wikipedia.org/wiki/universal_serial_bus Wikipedia USB Informatik 6