Arduino Interrupt-Handling (Teil 1) Seite 2
|
|
|
- Elmar Kaiser
- vor 9 Jahren
- Abrufe
Transkript
1
2 Scope Interrupt-Handling (Teil 1) Version 1.1 Created Autor Erik Bartmann Internet Updates Volatile Erklärung erweitert Arduino Interrupt-Handling (Teil 1) Seite 2
3 Inhalt Interrupt-Handling (Teil 1)... 4 Interrupt-Nummer... 9 Interrupt-Funktion... 9 Interrupt-Modus Unberechenbare Variablen Anwendungsbeispiel Arduino Interrupt-Handling (Teil 1) Seite 3
4 Interrupt-Handling (Teil 1) Liebe Freunde, ich möchte in diesem Arduino-AddOn ein paar Worte über eine Technik verlieren, die einen wichtigen Stellenwert in der Mikrocontrollerprogrammierung einnimmt. Meistens wird dieser Themenbereich für Anfänger ausgespart und ich habe ihn einfach aus Platzgründen nicht in mein Buch mit aufnehmen können. Die meisten anfänglichen Projekte kommen ohne eine Interrupt-Steuerung aus. Aber ich hatte euch ja angedroht, dass ich mit einigen Zusatzkapiteln um die Ecke kommen werde, die sicherlich sehr interessant sind. In diesem AddOn möchte ich etwas über Interrupts erzählen. Dieser Begriff bedeutet übersetzt Unterbrechung. Wir unterscheiden zwischen Externen Interrupts Internen Interrupts Teil 1 beschäftigt sich ausschließlich mit externen Interrupts. Warum aber sollte an irgendeiner Stelle in einem Programm bzw. Sketch eine Unterbrechung erfolgen? Das macht ja auf den ersten Blick vielleicht überhaupt keinen Sinn. Ein Sketch soll arbeiten, bis der Arzt kommt und sich nicht zur Ruhe begeben. Die Abarbeitung erfolgt in einer Endlosschleife, die loop-funktion genannt wird und nach dem einmaligen Ausführen der setup-funktion immer und immer durchlaufen wird (Siehe Seite 153 im Arduino Buch). In der loop-funktion werden jetzt z.b. alle zu überwachenden Sensoren berücksichtigt, die es auszuwerten gilt. Je mehr dieser Aufgaben die loop-funktion belasten, desto langsamer wird die Ausführung erfolgen. Dieses Verfahren wird Polling genannt und beschreibt eine programmtechnische Methode, den Status eines bzw. mehrerer Sensoren zyklisch abzufragen. Das birgt jedoch einen großen Nachteil in sich. Ich hatte es gerade erwähnt, dass diese rollierende Abfrage u.u. recht zeitkritisch sein kann. Sollen aber z.b. die abgegebenen Impulse eines Sensors gezählt werden, dann kann der ein oder andere Impuls schon mal unter den Tisch fallen, wenn das Polling gerade mit einem anderen Sensor beschäftigt ist. Nehmen wir z.b. eine angeschlossene Tastatur an einem PC. Die Ausführung der Programme erfolgt in ähnlicher Weise, wobei das Windows Betriebssystem in einer gigantischen Endlosschleife alle Programme ausführt und auch z.b. auf Maus- bzw. Tastatureingaben entsprechend reagieren muss. Da sind wir schon beim Thema. Die Abfrage der Tastatur würde bei einer fortlaufenden Überprüfung aller Tasten schon einige Zeit in Anspruch nehmen. Diese Vorgehensweise ist aber nicht notwendig, denn der User sitzt nicht vor seinem Rechner und hackt pausenlos in einer wahnsinnigen Geschwindigkeit Texte ein. Man hat sich für eine andere Strategie entschieden. Die Tastatur wird nicht ununterbrochen abgefragt! Arduino Interrupt-Handling (Teil 1) Seite 4
5 Stopp mal kurz! Wie soll dann der Rechner meine Tastendrücke registrieren, wenn er nicht ständig auf die Tastatur schaut? Das Ganze ist Unterbrechungsgesteuert. Wird keine Taste auf der Tastatur gedrückt, dann wird die besagte Endlosschleife schön regelmäßig durchlaufen. Drückt jetzt irgendjemand auch nur eine Taste, dann wird ein externer Interrupt ausgelöst. Dieser veranlasst die reguläre Ausführung der Schleife zu einer Unterbrechung und sagt quasi: Hey Betriebssystem, da wurde eine Taste gedrückt. Schau mal nach, welche das ist und reagiere entsprechend darauf. Anschließend kannst Du ja mit Deinem Kram weitermachen. In der folgenden Grafik habe ich das einmal darzustellen versucht. Arduino Interrupt-Handling (Teil 1) Seite 5
6 Auf der linken Seite seht Ihr den Hauptprogramm (Haupt-Thread) mit seiner Endlosschleife. Wird jetzt eine Taste gedrückt, wird sofort eine Unterbrechung ausgelöst und zu einer Unterbrechungsroutine (Neben-Thread) verzweigt. Sie erledigt alles Notwendige und springt nach ihrer Abarbeitung zum Haupt-Thread zurück. In diesem Beispiel ist der Haupt-Thread mit der Abarbeitung des Steps 2 beschäftigt, als der Interrupt um die Ecke kommt. Bevor jetzt zum Neben-Thread verzweigt wird, muss noch die Ausführungsadresse des Haupt-Threads gesichert werden. Sie wird auf dem Stack (Stapel-Speicher) abgelegt, der ein spezieller Speicherbereich im RAM ist und nach dem LIFO-Prinzip (Last-In-First-Out) arbeitet. Das zuletzt auf den Stapel gelegte Element, wird auch zuerst wieder entnommen. Erst jetzt werden die Steps a bis c der Interruptverarbeitung in Angriff genommen und nach Beendigung zum Haupt-Thread zurückgekehrt, in dem die zuvor auf den Stack gelegte Adresse wieder entnommen wird und an der Stelle weiter gemacht wird, bevor der Interrupt auftrat. Ganz so, als wäre nichts Außergewöhnliches passiert. Bei einem Thread handelt es sich um einen Ausführungsstrang, der eine Abarbeitungsreihenfolge mehrerer Befehle repräsentiert. Kommen wir jetzt jedoch wieder zurück zu unserem Arduino. Als Beispiel sehen wir uns den folgenden Sketch an. int ledpin[5] = {8, 9, 10, 11, 12; // LED-Array int tasterpin = 2; // Taster int tasterled = 6; // Taster-LED void setup(){ for(int i = 0; i < 5; i++){ pinmode(ledpin[i], OUTPUT); pinmode(tasterled, OUTPUT); pinmode(tasterpin, INPUT); void loop(){ for(int i = 0; i < 5; i++){ digitalwrite(ledpin[i], HIGH); delay(500); digitalwrite(ledpin[i], LOW); delay(500); digitalwrite(tasterled, digitalread(tasterpin)); // Erst jetzt wird der Sensor überprüft Der Sketch steuert 5 LED s der Reihe nach an, die in einer Art Lauflicht nacheinander kurz leuchten sollen. Des Weiteren soll aber noch auf einen Tastendruck zeitnah reagiert werden, der zur optischen Kontrolle eine separate LED ansteuert. Der Schaltungsaufbau in Fritzing dazu schaut wie folgt aus: Arduino Interrupt-Handling (Teil 1) Seite 6
7 Bauteile: - LED rot 5x - LED grün 1x Ω 6x - 10 KΩ 1x - Mikrotaster 1x - Breadboard 1x - Steckbrücken Das Problem, was sich uns darstellt, ist folgendes. Wir wollen ja eigentlich, dass die Taster-LED unmittelbar dann aufleuchtet, wenn der Taster gedrückt wird. Das ist aber mit dem vorliegenden Sketch nicht realisierbar. Warum? Ganz einfach. Der folgende Sketchabschnitt for(int i = 0; i < 5; i++){ digitalwrite(ledpin[i], HIGH); delay(500); digitalwrite(ledpin[i], LOW); delay(500); nimmt für die Abarbeitung schon eine ganze Zeit in Anspruch. Es sind mehrere delay-aufrufe hintereinander platziert, so dass die Abfrage des Tasters digitalwrite(tasterled, digitalread(tasterpin)); bzw. die Ansteuerung der LED nur ganz kurz nach Beendigung der for-schleife erfolgt. Das ist jedoch nicht das gewünschte Verhalten der Schaltung bzw. des Codes. Arduino Interrupt-Handling (Teil 1) Seite 7
8 Ok, dann wenden wir uns dem folgenden Sketch-Code zu. Der Verdacht liegt nahe, dass es sich damit wohl anders verhält und jetzt das gewünschte Verhalten erfolgt. int ledpin[5] = {8, 9, 10, 11, 12; // LED-Array int tasterpin = 2; // Taster int tasterled = 6; // Taster-LED int interruptnumber = 0; // Interrupt-Nummer void setup(){ for(int i = 0; i < 5; i++){ pinmode(ledpin[i], OUTPUT); pinmode(tasterled, OUTPUT); pinmode(tasterpin, INPUT); attachinterrupt(interruptnumber, interruptroutine, CHANGE); void loop(){ for(int i = 0; i < 5; i++){ digitalwrite(ledpin[i], HIGH); delay(500); digitalwrite(ledpin[i], LOW); delay(500); void interruptroutine(){ digitalwrite(tasterled, digitalread(tasterpin)); Wir können erkennen, dass in der loop-funktion lediglich die Ansteuerung der besagten 5 LED s erfolgt und in keinster Weise der Taster abgefragt wird. Du könntest Dich jetzt natürlich fragen, wann die Sketch-Verarbeitung an einen Punkt gerät, dass der Taster doch irgendwann einmal abgefragt wird. Nun ja, da gibt es eine vielversprechende Funktion, die sich interruptroutine nennt. In ihr wird der Taster hinsichtlich des Status berücksichtigt, der dann unmittelbar die Taster-LED ansteuert. void interruptroutine(){ digitalwrite(tasterled, digitalread(tasterpin)); Die Frage ist nur, wann und wie wird diese Funktion aufgerufen? Eigentlich sollte sie ja kontinuierlich aufgerufen werden, so dass der Taster die grüne LED mit seinem Status versorgt. Doch das ist wie wir das ja schon besprochen haben in diesem Fall nicht gewünscht. Innerhalb der setup-funktion wird ein Interrupt vorbereitet bzw. scharf geschaltet, der ein paar Argumente besitzt, die der genaueren Betrachtung bedürfen. Um den besagten Interrupt zu aktivieren, wird die attachinterrupt-funktion verwendet. Interrupt-Nummer Funktion Modus attachinterrupt(interruptnumber, interruptroutine, CHANGE); Arduino Interrupt-Handling (Teil 1) Seite 8
9 Was bedeuten aber die 3 Argumente, die der Funktion übergeben werden? Interrupt-Nummer Da ein Mikrocontroller über mehrere Interrupts verfügt, müssen diese unterscheidbar sein. Deswegen bekommt jeder Interrupt eine eigene Nummer zugewiesen. Betrachten wir doch einfach einmal die beiden verfügbaren externen Interrupts an den digitalen Pins 2 und 3. INT 1 INT 0 Was Du hier auf keinen Fall verwechseln solltest, sind die Pin-Nummer bzw. Interrupt-Nummer. Auf unser Beispiel bezogen, bei dem der Taster über einen Pulldown-Widerstand an Pin 2 angeschlossen ist, nutzen wir natürlich Interrupt INT 0. Deswegen lautet der Sketch-Code:... int interruptnumber = 0; // Interrupt-Nummer attachinterrupt(interruptnumber, interruptroutine, CHANGE);... Andere Arduino-Boards haben ggf. abweichende oder verfügen über zusätzliche Interrupts. Das spielt aber in diesem Fall keine Rolle, denn es geht um das Prinzip bzw. die Funktionsweise. Interrupt-Funktion Wird ein externer Interrupt ausgelöst, dann hat das ja einen Grund bzw. es steckt eine Absicht dahinter, was denn dann passieren soll. Zu diesem Zweck wird der attachinterrupt-funktion ein weiteres Argument übergeben. Es handelt sich dabei um den Funktionsnamen der Funktion, die aufgerufen werden soll, wenn der Interrupt feuert. Arduino Interrupt-Handling (Teil 1) Seite 9
10 void setup(){... attachinterrupt(interruptnumber, interruptroutine, CHANGE); void loop(){... void interruptroutine(){ digitalwrite(tasterled, digitalread(tasterpin)); Beachte, dass die Angabe des Funktionsnamens ohne das runde Klammerpaar erfolgt! Interrupt-Modus Der Interrupt-Modus legt fest, wann der Interrupt ausgelöst werden soll. Hast Du nicht eben gesagt, der Interrupt wird ausgelöst, wenn der Taster gedrückt wird, also +5V an Pin 2 anliegen? Zu diesem Zeitpunkt sollte der Interrupt doch feuern oder!? Das ist natürlich richtig, doch wir haben noch eine weitere Möglichkeit die Sache etwas zu differenzieren. So ein digitaler Pegel kann ein zeitliches Verhalten haben. stetig den gleichen Pegel (LOW oder HIGH) Pegelwechsel (von LOW nach HIGH bzw. von HIGH nach LOW) Durch die Angabe des dritten Argumentes teilen wir dem Interrupt mit, wann er zu reagieren hat. Aus diesem Grund sind 4 Konstanten vordefiniert, derer wir uns bedienen können. Arduino Interrupt-Handling (Teil 1) Seite 10
11 Konstante Pegelwechsel Erklärung LOW Der Interrupt wird ausgelöst, wenn der Pegel am Interrupt-Pin LOW ist. CHANGE Der Interrupt wird ausgelöst, wenn der Pegel am Interrupt-Pin seinen Pegel wechselt. LOW HIGH HIGH LOW RISING Der Interrupt wird ausgelöst, wenn der Pegel am Interrupt-Pin seinen Pegel von LOW HIGH wechselt. FALLING Der Interrupt wird ausgelöst, wenn der Pegel am Interrupt-Pin seinen Pegel von HIGH LOW wechselt. Für unser Sketch-Beispiel lautet der Code: attachinterrupt(interruptnumber, interruptroutine, CHANGE); was bedeutet, dass bei jedem Drücken, bzw. Loslassen des Tasters der Interrupt ausgelöst wird, da ich den CHANGE-Modus gewählt habe. Die grüne LED leuchtet natürlich nur dann, wenn der Taster gedrückt wird. Unberechenbare Variablen Ein weiterer wichtiger Aspekt muss bei der Verwendung von Variablen innerhalb einer Interrupt-Routine angesprochen werden. Aber warum ist das so? Wir deklarieren z.b. eine Variable als global am Anfang des Sketches, die dann in allen Funktionen sichtbar ist und darauf zugegriffen werden kann. Soweit so gut. Das stellt kein Problem dar, solange der Haupt-Thread, also der eigentliche Sketch mit dieser Variablen arbeitet. Innerhalb einer Interrupt-Routine, die ihren eignen Thread besitzt, sieht die Sache schon ganz anders aus. Theoretisch gesehen könnte der Inhalt dieser Variablen quasi gleichzeitig im Haupt- als auch Neben-Thread modifiziert werden. Arduino Interrupt-Handling (Teil 1) Seite 11
12 Arbeitet der Mikrocontroller mit temporären Variablen, wie z.b. lokalen Variablen, werden diese in der Regel in internen Speicherzellen, auch Register genannt, bearbeitet bzw. verwaltet. Sie werden auch aus dem SRAM-Hauptspeicher geladen. Das funktioniert jedoch nur reibungslos, wenn der Haupt-Thread die alleinige Kontrolle hat. Kommt jetzt noch ein Neben- Thread wie z.b. in einer Interrupt-Routine dazu, kann das u.u. nicht mehr funktionieren. Es kommt ggf. zu falschen Ergebnissen. Um dieses Problem zu beheben, gibt es einen Modifizierer bei der Variablendeklaration, der dem Compiler mitteilt, dass die zu deklarierende Variable außerhalb des Haupt-Threads modifiziert werden kann und er jegliche Art von Optimierung vergessen soll. Mit Hilfe des Modifizierers wird sie also immer aus dem SRAM-Hauptspeicher gelesen und wandert nicht zur Zwischenspeicherung in ein Register des Mikrocontrollers. Das Schlüsselwort lautet volatile, was übersetzt unberechenbar bedeutet. Wir werden unseren Sketch ein wenig modifizieren und den Zustand der anzusteuernden LED in eine Variable auslagern, die dann später in der Interrupt-Routine modifiziert wird. Doch werfen wir zuvor einen kurzen Blick auf dieses Szenario: Neulich auf dem Arduino-Board... Gib mir mal sofort den Wert an der Speicherstelle 0815 Kommt sofort... Hier ist die Nummer 5! Arduino Interrupt-Handling (Teil 1) Seite 12
13 Ok, danke! Ich muss den Wert verdauen und neu erschaffen... Moment... Hab s gleich... Gnnn. Ahhhhh... Hey hey hey. Ich komme vom Interrupt 0. Der braucht den Wert an der Speicherstelle 0815 Kommt sofort... Hier ist die Nummer 5! Arduino Interrupt-Handling (Teil 1) Seite 13
14 So Kollege, hier ist der neue Wert für Speicherstelle 0815 Bestens. Ich lege ihn sofort ab! Ach wie gut das ist, immer mit den aktuellsten Daten versorgt zu werden! Arduino Interrupt-Handling (Teil 1) Seite 14
15 Doch nun zum versprochenen Sketch, der das geschilderte Szenario verhindert. int ledpin[5] = {8, 9, 10, 11, 12; // LED-Array int tasterpin = 2; // Taster int tasterled = 6; // Taster-LED int interruptnumber = 0; // Interrupt-Nummer volatile int statusled = LOW; // LED-Status void setup(){ for(int i = 0; i < 5; i++){ pinmode(ledpin[i], OUTPUT); pinmode(tasterled, OUTPUT); pinmode(tasterpin, INPUT); attachinterrupt(interruptnumber, interruptroutine, RISING); void loop(){ for(int i = 0; i < 5; i++){ digitalwrite(ledpin[i], HIGH); delay(500); digitalwrite(ledpin[i], LOW); delay(500); void interruptroutine(){ statusled =!statusled; digitalwrite(tasterled, statusled); Der Interrupt-Modus steht jetzt auf RISING, was bedeutet, dass nur auf die ansteigende Flanke des Tasters reagiert wird. Die rot umrandete Zeile zeigt Dir die Variable statusled, die nun mit dem Zusatz volatile versehen wurde, so dass sie sich, wie schon besprochen verhält. Bei jedem Tastendruck wird jetzt der Status der Variablen getoggelt, so dass die LED an- bzw. ausgeht. Du wirst sicherlich feststellen, dass die LED sich manchmal recht merkwürdig verhält, was mit dem Prellen des Tasters in Verbindung steht. Schaue Dir dazu das Projekt 4 in meinem Buch an. Dort wird das merkwürdige Tasterverhalten genauestens beschrieben. Experimentire doch ein wenig mit den unterschiedlichen Interrupt-Modi und analysiere das Verhalten der LED. Arduino Interrupt-Handling (Teil 1) Seite 15
16 Anwendungsbeispiel Ein interessantes Anwendungsbeispiel ist die Modifikation meines im Buch beschriebenen ArduBots. Die Motorsteuerung erfolgt im Moment nur auf Grundlage einer Zeitsteuerung und nicht, wie es sicherlich besser wäre, anhand einer Ermittlung der erfolgten Umdrehungen der Räder. Wie ich das schon im Buch beschrieben habe, gibt es Probleme mit der Genauigkeit, wenn die angeschlossene Batterie ihre volle Ladung verliert und die Drehung der Räder langsamer erfolgt. Über angeschlossene Sensoren, die die Impulse der einzelnen Räder registrieren, kann eine genauere Positionierung des ArduBots erfolgen. Die Impulse werden natürlich über eine Interrupt-Steuerung ausgewertet, so dass kein einziger Impuls eventuell unter den Tisch fällt, weil die loop-schleife vielleicht gerade mit anderen Dingen beschäftigt ist und im wahrsten Sinne des Wortes keine Zeit hatte. Doch dazu später mehr. Viel Spaß beim Frickeln Arduino Interrupt-Handling (Teil 1) Seite 16
Abbildung 4-4-1: Ein prellender Taster
HACK 4-4: Der störrische Taster 4 4 4 In diesem Hack wirst du erkennen, dass sich ein Taster oder ein Schalter nicht immer so verhält, wie du es dir wünschst. Nehmen wir für dienen Hack einen Taster, der
Was so passieren wird:
Arduino Einführung Arduino Einführung Was so passieren wird: Was so passieren wird: Arduino Überblick Was so passieren wird: Arduino Überblick Die Taschenlampe Was so passieren wird: Arduino Überblick
Abbildung 4-9-1: Die Sound-Machine-Tastatur und der Arduino
Projekt 4-9: Sound-Machine 4 9 Was hältst du davon, wenn wir Scratch in diesem Kapitel dazu bewegen, etwas Musik zu spielen? Natürlich nicht von alleine, sondern über eine kleine selbstgebaute Tastatur.
AVR-Mikrocontroller in BASCOM programmieren, Teil 2
[email protected] 1 AVR-Mikrocontroller in BASCOM programmieren, Teil 2 13. Interrupts 13.1 Externe Interrupts durch Taster Wenn Taster mittels Polling abgefragt werden, wie in Teil 1 beschrieben,
Erste Gehversuche mit ARDUINO (Teil 3) (DL6OAA) Die 7-Segmentanzeige (1-stellig)
Erste Gehversuche mit ARDUINO (Teil 3) (DL6OAA) Die 7-Segmentanzeige (1-stellig) Im Zusammenhang mit dem Ansteuern diverser LED zum Beispiel die Projekte Lauflicht etc. kann man auch die im 4duino-kit
Eingaben. Themen heute. Taster. Eingaben Zuweisungen Zeitmessung. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes
Eingaben Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Themen heute Eingaben Zuweisungen Zeitmessung Taster Wikipedia Ziel Wenn Taste gedrückt, soll LED leuchten Wir
Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert?
1 Übersicht Für die Programmierung steht ein Programm zur Verfügung. Hier kann der Quelltext geschrieben, überprüft, kompiliert und anschließend auf den Arduino geladen werden. Wenn ihr das Programm startet,
Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt:
Tasten abfragen Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt: pinmode(pinnummer, OUTPUT) digitalwrite(pinnummer, HIGH) oder digitalwrite(pinnummer, LOW) Zum Abfragen
Das Bluetooth-Shield von ITead-Studio konfigurieren Seite 2
Scope Das Bluetooth-Shield von ITead-Studio konfigurieren Version 1.0 Created 22.03.2012 Autor Erik Bartmann Internet http://www.erik-bartmann.de Email [email protected] Das Bluetooth-Shield von
Eine tastergesteuerte LED
D3kjd3Di38lk323nnm Projekt 1 Eine tastergesteuerte LED In diesem Projekt verwenden Sie einen Taster, um zu steuern, wann die LED leuchtet. Mark Geddes, Arduino-Projekte, dpunkt.verlag, ISBN 978-3-86490-415-8
Einführung Arduino - Aufbau
Einführung Arduino Einführung Arduino - Aufbau Einführung Arduino - Breadboard (http://www.circuit-help.com.ph/wpcontent/uploads/2014/02/imgp5507-600x600.jpg) Einführung Arduino - Breadboard (https://images.duckduckgo.com/iu/?u=http%3a%2f
Selbstschließende Hand (SsH)
Selbstschließende Hand (SsH) Niklas Keischgens Aaron Philipzen Henri Kühn Jugend forscht 2017 Kurzfassung: Wir kamen auf die Idee eine selbst schließende Roboterhand zu planen und zu bauen. Der Gedanke
Arduino Kurs Timer und Interrupts. Stephan Laage-Witt FES Lörrach
Arduino Kurs Timer und Interrupts Stephan Laage-Witt FES Lörrach - 2018 Themen Timer Interrupts Regelmäßige Aufgaben ausführen Exakte Zeitintervalle messen FES Lörrach Juni 2018 2 Exakte Zeiten sind gar
Wunderst du dich auch manchmal, wo die ganzen Kekse hin sind? Mit diesem Projekt kommst du dem Dieb schnell auf die Schliche.
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
Die Sonne spielt Musik
Die Sonne spielt Musik Magst du Musik? Spielst du ein Instrument? Wie wäre es, wenn du dein eigenes Instrument bauen könntest. Ein Fotowiderstand reagiert auf Licht. Je mehr Licht auf ihn trifft, je besser
Projektworkshop Digitales Haustier. Digitales Haustier. Bau dir ein Digitales Haustier, das schnurrt, wenn du es streichelst. 1/8
Digitales Haustier Bau dir ein Digitales Haustier, das schnurrt, wenn du es streichelst. /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
Einführung in das Programmieren in der Sekundarstufe 1. mit einem Arduino und der Physical-Computing-Plattform
Einführung in das Programmieren in der Sekundarstufe 1 mit einem Arduino und der Physical-Computing-Plattform 1 Arduino mit Breadboard (Steckbrett) und LED mit Vorwiderstand Arduino-Board Uno R3 mit Mikrocontroller
LED Skalenbeleuchtung mit einem Arduino
Projektteil: LED Skalenbeleuchtung mit einem Arduino Aufgaben: - Ein Taster schaltet die LED-Beleuchtung ein - Nach Ablauf einer im Programm hinterlegten Zeit schaltet sich die Beleuchtung von selbst wieder
Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein:
Blinken Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein: // Projekt 1 - LED Blinker int ledpin = 13; void setup() pinmode(ledpin, OUTPUT); void loop() digitalwrite(ledpin, HIGH);
2
TINF Interrupts EDT-Referat Jürgen Schwarzbauer 2ANB 1995/96 Inhalt : Was ist ein Interrupt? Zweck von Interrupts Maskierbare und nicht maskierbare Interrupts Aufruf eines Interrupts Anwendung von Interrupts
myavr Programmierung in C
myavr Programmierung in C Stefan Goebel Februar 2017 Stefan Goebel myavr Programmierung in C Februar 2017 1 / 12 Grundgerüst... braucht man immer! #include // Register- und Konstantendefinitionen
ESP32 Pico-Board. ADC mit MCP ESP32 Addon. ADC- mit dem MCP3008. Vers. 1.0
ESP32 Pico-Board ADC mit MCP3008 https://erik-bartmann.de/ ESP32 Addon ADC- mit dem MCP3008 Vers. 1.0 by Erik Bartmann, Juli 2018 ADC mit MCP3008 D er ESP32 bring von Hause aus schon eine Analog/Digital-
ARDUINO KENNENLERNEN WAS IST EIN ARDUINO?
ARDUINO KENNENLERNEN WAS IST EIN ARDUINO? Der Arduino ist eine Platine mit einem Microcontroller und sogenannten Pins (Anschlüssen), die mit elektronischen Bauteilen einfach verbunden werden können. Das
Arbeitsblatt Nr.19: RFID Kit
Aufgabe: Mit Hilfe eines Arduino-Mikrocontrollers soll ein RFID-TAG ausgelesen werden. Sofern es sich um den richtigen TAG handelt, soll eine Leuchtdiode für 5 Sekunden leuchten. Material: Arduino-Board
Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET
Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET Stack, Stackpointer, UP Stack (Stapel, FIFO) wird benötigt UP-Ruf:
Tag 2 Eingabe und Interrupts
Tag 2 Eingabe und Interrupts 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Taster Direkt an Portpin angeschlossen (etwa PINB0, PIND3) Pull-Up-Widerstände einschalten!
Arduino LC-Display-Ansteuerung Seite 2
Scope Die LCD-Ansteuerung eines HD4478 mit dem Arduino Version. Created.2.22 Autor Erik Bartmann Internet http://www.erik-bartmann.de Email [email protected] Arduino LC-Display-Ansteuerung Seite
Universelle Bestimmung der Zählimpulsrate von Sensoren für Radioaktivität mit dem Arduino Bernd Laquai , Update
Universelle Bestimmung der Zählimpulsrate von Sensoren für Radioaktivität mit dem Arduino Bernd Laquai 8.9.2014, Update 28.10.18 Ob ein Pin-Dioden Sensormodul oder ein Geigermüller-Zählrohr als Sensor
Kurzanleitung: 1. Anschüsse. MWCLightRGB by VoBo & HaDi-RC HW-Version 1.80 SW-Version >1.28
Kurzanleitung: 1. Anschüsse Input: 3,8 bis 5 Volt! (nicht 5,5 V oder 6 V!) Output: Anschlüsse für WS2812 LED-Bänder (6/9 LED s / Arm) RC1: RC-Kanal - Auswahl der Funktion/Lichtmuster RC2: RC-Kanal - Auswahl
Erste Gehversuche mit ARDUINO (DL6OAA)
Erste Gehversuche mit ARDUINO (DL6OAA) Zuerst die Software und Treiber installieren, siehe Anleitung auf der CD. Testen des Boards Arduino-Programm starten. Gehe zum Menüpunkt WERKZEUGE. Wenn die Installation
Erste Schritte. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes
Erste Schritte Programmieren für Ingenieure Sommer 2014 Andreas Zeller, Universität des Saarlandes Das Galileo-Board Anschluss 1. Netzteil 2. USB-Kabel Programmierumgebung Download über Vorlesungs-Webseite
Digitalelektronik 1 Digitale Ausgabe. Stefan Rothe
Digitalelektronik 1 Digitale Ausgabe Stefan Rothe 2015 02 14 Rechtliche Hinweise Dieses Werk von Thomas Jampen und Stefan Rothe steht unter einer Creative Commons Attribution-Non- Commercial-ShareAlike-Lizenz.
Projektarbeit in DVT auf dem Entwicklerboard
Projektarbeit in DVT auf dem Entwicklerboard OUMEX AVR-USB-162 von Michael Eggl, Markus Vogl 1 FROM 8 Version 1.0 Seite 1 von 7 Inhaltsverzeichnis: Aufgabenstellung Seite 3 Planung Seite 3 Quellcode Seite
Arduino - Einfacher Teiler
Einen Teiler z.b. zur Reduzierung von Stromzählerimpulsen, wie er hier benötigt wird kann man alternativ zu fertigen Lösungen (z.b. industrieller Vorwahlzähler) sehr leicht und kostengünstig auf einem
Girls Day 2017 Programmierung
Girls Day 2017 Programmierung Anke Brocker Quality Management Würselen, 27. April 2017 www.lancom-systems.de Programmierung 27.04.2017 - Übersicht Programmieren mit der Arduino IDE Die Arduino IDE Der
Informatik Enlightened. Station 0 - Einstieg
Informatik Enlightened Herzlich Willkommen zum Workshop rund um das Thema Licht! Ihr wollt heute also eine Einparkhilfe selbst konstruieren, Geschwindigkeiten messen, eine Blume mit der Sonne wandern lassen
Nutzung von MIDI-Geräten unter DMXControl 2.8 Dokument-Version 1.0
Daniel Miertz Mai 2004 Nutzung von MIDI-Geräten unter DMXControl 2.8 Dokument-Version 1.0 Einleitung DMXControl stellt die Möglichkeit bereit, die Lichtshow teilweise oder vollständig über ein MIDI-Interface
Mikrocomputertechnik
Mikrocomputertechnik Thema: CPU Timing XC888 und Interrupt System des XC888 und Timer/Counter 0 und 1 -Im InterruptBetrieb - CPU Timing XC888 CPU Timing XC888 Befehl Befehl Befehl Befehlszyklus Befehlszyklus
Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave
Fachhochschule Südwestfalen Wir geben Impulse Kontrollstrukturen und Schleifen in Octave Einführung Inhalt m-files Script-Files Function-Files Ein- Ausgabe von Variablen oder Ergebnissen For-Schleife While-Schleife
foexlab-materialien Arduino-Schaltungen First Steps Gottfried Wilhelm Leibniz Universität Hannover
foexlab-materialien Arduino-Schaltungen First Steps Gottfried Wilhelm Leibniz Universität Hannover Inhaltsverzeichnis 1 Das Board... 3 2 Programmierung: Grundstruktur... 3 3 Versuche... 4 3.1 Eine LED
Felder und Schleifen. Themen heute. Felder Schleifen Heartbleed. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes
Felder und Schleifen Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Sensor abfragen int ledpin = 13; // Die LED int buttonpin = 8; // Der Taster! pinmode(ledpin, OUTPUT);
Eine tastengesteuerte Ampelanlage
Eine tastengesteuerte Ampelanlage Stellt euch vor, ihr gehörtet zum Verkehrssauschuss einer ländlichen Gemeinde, der ein Problem mit einer schmalen Straße in einem unübersichtlichen Gelände hat: Dort kommt
TaT-Maker Steuerung. Selbstbauanleitung. von. Kurt Sepke
TaT-Maker Steuerung Selbstbauanleitung von Kurt Sepke Inhaltsverzeichnis Einleitung... Aufbauen des Entwicklungsboards...4 Sketch...6 Ventil Anschluss...7 BD7 Anschlüsse...8 Kamera mit Autofokus:...9 Pinbelegung
saarland Prof. Dr. Andreas Zeller Verantw. Tutor: Florian Groß Übungsblatt 6
Abgabe Dieses Übungsblatt ist bis Freitag, 13.06. um 12:00 Uhr per Email an den eigenen Tutoren abzugeben. Benennen Sie die Abgabe bitte eindeutig: Matrikelnummer _Abgabe_Blattnummer.Format. 1 Theremin
Kurzanleitung: 1. Anschüsse. MWCLightRGB by VoBo & HaDi-RC
Kurzanleitung: 1. Anschüsse Input: 3,8 bis 5 Volt!(nicht 5,5 V oder 6 V!) Output: Anschlüsse für WS2812 LED-Bänder (6/9 LED s / Arm) RC1: RC-Kanal -> Auswahl der Funktion/Lichtmuster RC2: RC-Kanal -> Auswahl
Einen eigenen Arduino bauen Version 1.0 Created Erik Bartmann Internet
Scope Einen eigenen Arduino bauen Version 1.0 Created 14.02.2012 Autor Erik Bartmann Internet http://www.erik-bartmann.de Email [email protected] Einen eigenen Arduino bauen Seite 2 Inhaltsverzeichnis
Arduino für FunkAmateure
Arduino für FunkAmateure Arduino Einführung Teil 9 Taster-Platine 4x4 Wie gehe ich am besten vor? 1. Was will ich machen? 2. Bauteile 3. Überlegungen zur Schaltung und Algorithmus 4. Zuordnung Arduino-Pins
Programmierübungen in Assembler
Programmierübungen in Assembler 1. LED Ein-/Ausschalten Verwendet: Ports An Portpin P3.0 ist eine LED angeschlossen. An Portpin P1.0 ist ein Taster angeschlossen. a) Schreiben Sie ein Programm, welches
WS 2017/18 Viel Erfolg!!
Seite 1 von 12 Hochschule München FK03 Komponenten und Programmierung, 90 Minuten Prof. Dr.-Ing. T. Küpper Zugelassene Hilfsmittel: alle eigenen, Taschenrechner WS 2017/18 Viel Erfolg!! Matr.-Nr.: Hörsaal:
Einen eigenen Arduino-Bootloader brennen Version 1.0 Created 19.03.2012 Erik Bartmann Internet
Scope Einen eigenen Arduino-Bootloader brennen Version 1.0 Created 19.03.2012 Autor Erik Bartmann Internet http://www.erik-bartmann.de Email [email protected] Einen eigenen Arduino-Bootloader brennen
analoge Ein- und Ausgänge
2016/07/17 13:39 1/5 analoge Ein- und Ausgänge analoge Ein- und Ausgänge Neben den digitalen Leitungen bietet der Arduino mehrere analoge Ein- und Ausgänge. analoge Ausgänge Die Ausgänge sind mit PWM bezeichnet.
Kurzanleitung: 1. Anschüsse. MWCLightRGB 2013 by VoBo & HaDi-RC. HW-Version SW-Version 1.2x
Kurzanleitung: 1. Anschüsse IN: 3,8 bis 5 Volt!(nicht 5,5 V oder 6 V!) OUT: Anschlüsse für WS2812 LED-Bänder (6/9 LED s / Arm) RC1: RC-Kanal -> Auswahl der Funktion/Lichtmuster RC2: RC-Kanal -> Auswahl
Ausarbeitung eines Praktikumsversuches zum Design eines 1-Wire-Master-Controllers Falk Niederlein
Großer Beleg Ausarbeitung eines Praktikumsversuches zum Design eines 1-Wire-Master-Controllers Falk Niederlein Folie 1 Gliederung 1 Allgemein 2 Architektur 3 1-Wire-Protokoll 4 Praktikumsversuch 5 Zusammenfassung
Einen elektronischen Würfel programmieren
Einen elektronischen Würfel programmieren In einer ersten Annäherung soll eine von sechs LEDs nach dem Zufallsprinzip zum Leuchten gebracht werden. Dazu muss eine Zahl zwischen 1 und 6 erzeugt und die
Übersicht. Speichertypen. Speicherverwaltung und -nutzung. Programmieren in C
Übersicht Speichertypen Speicherverwaltung und -nutzung Speichertypen Beim Laden eines Programms in den Speicher (Programmausführung) kommen 3 verschiedene Speicherbereiche zum Einsatz: Text Segment (Code
Programmiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 2: Prof. Dr. Unser erstes C-Programm int main (int argc, char *argv[]) int i; int sum = 0; for (i = 0; i
Arduino Kurs Bits und Bytes. Stephan Laage-Witt FES Lörrach
Arduino Kurs Bits und Bytes Stephan Laage-Witt FES Lörrach - 2018 Themen Digitale Eingabe Bit, Byte und Wort Reaktionszeittester FES Lörrach Juli 2017 2 Was ist ein Bit? Ein Bit ist die kleinste Informationseinheit
Arduino Uno Bastelecke
Angeregt durch den Artikel im DSLR-Forum Bastelanleitung: Arduino-basierter Lichtschranken-Trigger von Niggoh habe ich zuerst die beschriebene Lichtschranke nachgebaut und war von den Möglichkeiten des
Arduino und Amateurfunk (1)
Arduino und Amateurfunk (1) Vortrag OV-Meeting H08 am 10.01.2012 / 01.09.2012 Historie Der Kern Entwicklungsumgebung Hardware Software Massimo Banzi Und wozu das Ganze? Historie (1) Arduino ist ein Open-Source-Prototypen-System,
11. Die PC-Schnittstelle
PC-Schnittstelle Funktion -1. Die PC-Schnittstelle.1. Funktion Die folgenden Angaben gelten ohne Einschränkung für den PC, PC-XT, PC-AT, AT-386, AT-486 und kompatible Rechner. Sie sind nur für jene interessant,
Was ist Arduino? Historie Der Kern Entwicklungsumgebung Hardware Software Und wozu das Ganze? Workshop Mikrorechner 2012 A.
Was ist Arduino? Historie Der Kern Entwicklungsumgebung Hardware Software Und wozu das Ganze? Workshop Mikrorechner 2012 A.Schultze, DK4AQ 1 Das Arduino-Projekt Arduino ist ein Open-Source-Prototypen-System,
Installation der Entwicklungsumgebung
Installation der Entwicklungsumgebung bi:e zunächst das Online- Dokument Ge#ng Started with Arduino durcharbeiten h:p://arduino.cc/en/guide/homepage download der Arduino- SoHware h:p://arduino.cc/en/main/sohware
Um überhaupt produktiv arbeiten zu können, sind eine Reihe grundlegender Vorbereitungen notwendig:
Abgabe Dieses Übungsblatt ist bis Freitag, 02.05. um 12:00 per E-Mail an den eigenen Tutoren abzugeben. Bennennung beispielsweise $Matrikelnummer_Abgabe_$Blattnummer.$Format. 1 Erste Schritte mit dem Arduino
Girls Day 2018 Programmiereinführung
Girls Day 2018 Programmiereinführung Gregor Groß-Weege Hardware Hochfrequenztechnik Würselen, 26.04.2018 www.lancom-systems.de Mikrocontroller Hä? Was ist ein Mikrocontroller? Programmierbarer Baustein
Grundlagen der Informatik 2 Modul Systemnahe Programmierung in C (SPiC) Klausur am 25. Juli 2008
Grundlagen der Informatik 2 Modul Systemnahe Programmierung in C (SPiC) SS 2008 Dr.-Ing. Jürgen Kleinöder Friedrich-Alexander-Universität Erlangen-Nürnberg Informatik 4 (Verteilte Systeme und Betriebssysteme)
MSP-EXP430F5529LP. LaunchPad Entwicklungskit MSP-EXP430F5529LP. Schnellstart mit dem Texas Instruments. LaunchPad Entwicklungskit
10166-0 U1+U4 14.01.15 12:49 Seite 1 Christian Immler Schnellstart mit dem Texas Instruments MSP-EXP430F5529LP LaunchPad Entwicklungskit Der schnelle und praxisbezogene Einstieg in die Programmierung des
SINNsorik Wahrnehmen durch Sensoren NAME, KLASSE:
SINNsorik Wahrnehmen durch Sensoren NAME, KLASSE: ARBEITEN MIT DEM ARDUINO KURZBESCHREIBUNG UND ZIELSETZUNG: In diesem optionalen Modul lernen die Schüler das Arbeiten mit Microcontrollern kennen. Das
8.3 Taster am µcontroller
8.3 Taster am µcontroller AVR-KOMPENDIUM Nachdem im vorigen Beispiel das Port als Ausgang verwendet wurde erweitern wir dieses Beispiel um einen Taster - um auch das Einlesen von digitalen Signalen zu
saarland Prof. Dr. Andreas Zeller Verantw. Tutor: Florian Groß Übungsblatt 4
Programmieren für Ingenieure Abgabe Dieses Übungsblatt ist bis Freitag, 23.05. um 12:00 Uhr per Email an den eigenen Tutoren abzugeben. Benennen Sie die Abgabe bitte eindeutig: Matrikelnummer _Abgabe_Blattnummer.Format.
b) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch};
Aufgabe 1: (19 Punkte) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort
Atmega Interrupts. Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös
Atmega Interrupts Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös Inhaltsverzeichnis Vorbereitung Was Sind Interrupts Interruptvektoren Software Interrupts Hardware Interrupts Quellen 2 Vorbereitung Rechner
Praktikum Analog- und Digitaltechnik. Versuch D3 Bluetooth-steuerung mit Arduino
Praktikum Analog- und Digitaltechnik Versuch D3 Bluetooth-steuerung mit Arduino Inhalt dieses Versuches: Installation und Konfiguration von Software Arduino IDE Ansteuerung einer LED über Bluetooth Vorarbeiten:
Bei jedem Arduino-Projekt muss man ein Grundgerüst "bauen". Das sieht dann so aus:
Arduino 1/5 Was ist die Syntax? Die Syntax ist die Rechtschreibung. Ganz wichtig ist, dass (fast) jeder Befehl mit einem Semikolon (;) beendet wird. Bei Codeblöcken müssen immer geschweifte Klamern ({)
Girls Day. Einführung Mikrocontroller,
Girls Day Einführung Mikrocontroller, 23.04.2015 2015 www.lancom.de Kommentare Kommentare ermöglichen eine Strukturierung und gute Dokumentierung deines Programms void setup() { // Initialisierung der
Tutorial Vivado/Verilog Teil 5 Zyklisches Schieberegister
Tutorial Vivado/Verilog Teil 5 Zyklisches Schieberegister Prof. Dr.-Ing. Michael Karagounis Dipl.-Ing. Rolf Paulus 1. Motivation Das Ziel dieses Laborversuchs ist es, den Entwurf von taktsensitiven always
Der Zusammenbau des ESP32 Pico- Discoveryboards
ZUSAMMENBAU Das ESP32 Pico- Discoveryboard Der Zusammenbau des ESP32 Pico- Discoveryboards Im Folgenden wollen wir uns dem Zusammenbau des ESP32 Pico-Discoveryboards widmen. Das Board habe ich in meinem
Gamecontroller Der Bewegungssensor - Links-Rechts-Steuerung
Gamecontroller Materialien: 8 1x ADXL 335 Sensor 8 1x Arduino 8 1x USB-Kabel 8 Breadboard mit der Tasterschaltung aus der letzten Runde 8 versch. Verbindungskabel Abb. 2 : Der ADXL335-Bewegungssensor Eine
Mehrdimensionale Arrays
Mehrdimensionale Arrays Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Eindimensionale Arrays haben wir bereits kennen gelernt. Es gibt aber auch mehrdimensionale Arrays. Die sind auch sehr notwendig, denken
A ProgrAmmer s Guide to KIM Programming
A ProgrAmmer s Guide to KIM Programming by Erik Bartmann - Vers. 0.1 2 - Erste Befehle Erste Befehle Nun wird es aber Zeit, dass wir unser erstes Programm schreiben und wir werden hier einiges über die
Arduino für FunkAmateure
Arduino für FunkAmateure Arduino Einführung Teil 10 7-Segment LED mit Schieberegister Wie gehe ich am besten vor? 1. Was will ich machen? 2. Bauteile 3. Aufbau 7-Segment Anzeige I und II 4. Aufbau Schieberegister
1 pulsierender Speicher
1 pulsierender Speicher 1.1 Aufgabentyp Gegeben sei das folgende C-Programm: [...] (a) Geben Sie den Gültigkeitsbereich jedes Objektes des Programms an. (b) Stellen Sie die Rechnung des Programms für die
Erste Schritte. Das Arduino-Board. Ihr Fundino-Board. Programmieren für Ingenieure Sommer 2015. Andreas Zeller, Universität des Saarlandes
Erste Schritte Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Das Arduino-Board Ihr Fundino-Board Anschluss über USB Anschluss über USB Programmierumgebung Download
LED Skalenbeleuchtung mit einem Arduino
Projektteil: LED Skalenbeleuchtung mit einem Arduino Aufgaben: - Ein Taster schaltet die LED-Beleuchtung ein - Nach Ablauf einer im Programm hinterlegten Zeit schaltet sich die Beleuchtung von selbst wieder
Raspberry Pi meets Pocket Code. Tutorial: Ampelschaltung
Raspberry Pi meets Pocket Code Tutorial: Ampelschaltung Dieses Material steht unter der Creative-Commons-Lizenz Namensnennung 4.0 International. Um eine Kopie dieser Lizenz zu sehen, besuchen sie http://creativecommons.org/licenses/by/4.0/.
TCS3200 Farbsensor. Schritt 1 Anschließen des Sensors. Bild 1: TCS3200 Farbsensor
TCS3200 Farbsensor Sehr geehrter Kunde, vielen Dank, dass Sie sich für unser Produktentschieden haben. Im Folgenden haben wir aufgelistet, was bei der Inbetriebnahme zu beachten ist: Schritt 1 Anschließen
Arduino für FunkAmateure
Arduino für FunkAmateure Arduino & graphische Programmiersprachen Workshop Sensoren aus ALLNET 4Arduino Set (ArdDevKIT1) Schaltung 1: Analoge Pins Schaltung 2: Digitale Pins Schaltung 3: Blinkende LED
Zur Einarbeitung in die Arduino Welt reichen die Folgenden Komponenten aus.
Arduino in der Praxis Einleitung Bei Arduino handelt es sich um eine open-source Prototypen Plattform, welches das Ziel verfolgt, einen einfachen und schnellen einstieg in die Welt der Mikroprozessoren
Grundlagen der Informatik 2 Modul Systemnahe Programmierung in C (SPiC) Klausur am 9. April 2008
Grundlagen der Informatik 2 Modul Systemnahe Programmierung in C (SPiC) WS 2007/2008 Dr.-Ing. Jürgen Kleinöder Friedrich-Alexander-Universität Erlangen-Nürnberg Informatik 4 (Verteilte Systeme und Betriebssysteme)
Forth-Vokabular. Vokabular für Attiny2313-Forth Stand: A: Assembler-Wort F: Forth-Wort C: Compiler-Wort
Vokabular für Attiny2313-Forth - 1 - Forth.voc Forth-Vokabular Stand: 01.11.2012 A: Assembler-Wort F: Forth-Wort C: Compiler-Wort. A gibt TOS auf Port B aus; (Datenrichtungsbits von Port B werden alle
Projektlabor. LCD Ansteuerung
Projektlabor LCD Ansteuerung Contents 1 LCD 3 2 Hardware des Displays 3 2.1 Hardware............................... 3 2.2 Verbindung.............................. 4 3 Softwareansteuerung 6 4 Quellen 10
ESP32 Pico-Board. und Node-RED GUI ESP32 Addon. ESP32 und Node-RED Datenversand. Vers. 1.0
ESP32 Pico-Board und Node-RED GUI https://erik-bartmann.de/ ESP32 Addon ESP32 und Node-RED Datenversand Vers. 1.0 by Erik Bartmann, Juli 2018 ESP32 und Node-Daten D ieses ESP32-Addon baut auf das vorangegangene
