Erik Bartmann - Mit Arduino die elektronische Welt entdecken

Здесь есть возможность читать онлайн «Erik Bartmann - Mit Arduino die elektronische Welt entdecken» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: unrecognised, на немецком языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Mit Arduino die elektronische Welt entdecken: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Mit Arduino die elektronische Welt entdecken»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Der Arduino-Mikrocontroller ist aus der Elektronikwelt nicht mehr wegzudenken, er hat sich zu einem Standard im Hobbybereich entwickelt. In unzähligen Projekten kommt das Arduino-Board zum Einsatz, Hunderttausende von ausgereiften Softwarelösungen stehen für jeden zugänglich und unter freier Lizenz zur Verfügung. Der Arduino ist leicht zu programmieren. Preiswerte elektronische Bauteile wie LCDs, Sensoren und Motoren können an das Arduino-Board angeschlossen und damit gesteuert werden.
Mit «Arduino die elektronische Welt entdecken» führt den Leser in die faszinierende Welt der Elektronik und Programmierung ein. Die Hardware wird leicht verständlich dargestellt und die Programmierung des Mikrocontrollers Schritt für Schritt grundsätzlich erklärt. Herzstück des Buches sind 48 detailliert beschriebene Arduino-Bastelprojekte, wobei sich die Komplexität von Projekt zu Projekt steigert. In jedem Bastelprojekt wird ein neues Grundlagenthema behandelt, neue Hardware wird eingeführt und neue Programmierkniffe
und –werkzeuge werden vorgestellt.
Jedes Bastelprojekt ist mit zahlreichen Fotos und Abbildungen illustriert und kann Schritt für Schritt nachgebaut werden. Alle verwendeten Bauteile werden genau erklärt und in ihrer prinzipiellen Funktionsweise vorgestellt. Die Bastelprojekte können beliebig erweitert und für andere Zwecke angepasst werden.
Generationen von Hobbybastlern haben mit Erik Bartmanns Bestsellerbuch bereits die Arduino-Programmierung gelernt. In der komplett überarbeiteten 4. Neuauflage des Arduino-Standardwerkes wurden neue Bauteile wie der ESP32 oder LoRaWAN aufgenommen und neue Entwicklerwerkzeuge wie Node-RED, KiCad und MQTT behandelt.

Mit Arduino die elektronische Welt entdecken — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Mit Arduino die elektronische Welt entdecken», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Bastelprojekt 4:

Blinken mit Intervallsteuerung

Im Bastelprojekt 1zur Ansteuerung einer LED hast du gesehen, wie wir über die Verzögerungsfunktion delay eine Unterbrechung in der Ausführung des Sketches an der betreffenden Stelle hervorgerufen haben. Die angeschlossene LED an dem digitalen Pin blinkte in regelmäßigen Abständen. Eine solche Schaltung und Programmierung hat jedoch einen entscheidenden Nachteil, den wir zuerst erkennen und dann beheben wollen. Wir müssen die Blinkschaltung dazu ein wenig modifizieren und erweitern.

Drücke den Taster – und er reagiert

Was geschähe wohl, wenn du an einem anderen digitalen Eingang zusätzlich einen Taster anschließen würdest, um dann seinen Zustand kontinuierlich abzufragen? Wenn du diesen Taster drückst, soll zeitgleich eine weitere LED leuchten. Vielleicht ahnst du schon, worauf ich hinausmöchte. Solange die Sketch-Ausführung in der delay -Funktion gefangen ist, wird die Abarbeitung des Codes unterbrochen und der digitale Eingang kann demnach nicht abgefragt werden. Du drückst also den Taster und es passiert einfach nichts.

Was wir brauchen

Für dieses Bastelprojekt benötigen wir die folgenden Bauteile:

Tabelle 1: Bauteilliste
Bauteil Bild
LED rot 1x LED gelb 1x Mikrotaster 1x - фото 203
LED gelb 1x Mikrotaster 1x Widerstand 330Ω 1x - фото 204
Mikrotaster 1x Widerstand 330Ω 1x Widerstand 10KΩ 1x - фото 205
Widerstand 330Ω 1x Widerstand 10KΩ 1x Der Schaltplan Der Schaltplan zeigt uns zur - фото 206
Widerstand 10KΩ 1x Der Schaltplan Der Schaltplan zeigt uns zur Gewährleistung eines sicheren - фото 207

Der Schaltplan

Der Schaltplan zeigt uns zur Gewährleistung eines sicheren Eingangspegels einen externen Pulldown-Widerstand am digitalen Pin 8:

Abb 1Der Schaltplan zur Abfrage des Tasters und Ansteuerung der LEDs Der - фото 208

Abb. 1:Der Schaltplan zur Abfrage des Tasters und Ansteuerung der LEDs

Der Schaltungsaufbau

Auf dem Arduino Discoveryboard werden in diesem Bastelprojekt ein paar Bauteile mehr zum Einsatz kommen:

Abb 2Der Schaltungsaufbau zur Tasterabfrage Mit diesem Schaltungsaufbau - фото 209

Abb. 2:Der Schaltungsaufbau zur Tasterabfrage

Mit diesem Schaltungsaufbau wenden wir uns dem Sketch zu.

Der Arduino-Sketch

Vorwarnung: Der folgende Sketch funktioniert nicht so, wie wir es vielleicht erwarten.

// Der Sketch funktioniert nicht wie erhofft int ledPinBlink = 13; // Rote Blink-LED Pin 13 int ledPinTaster = 10; // Gelbe Taster-LED Pin 10 int tasterPin = 8; // Taster Pin 8 int tasterStatus; // Variable für Tasterstatus void setup() { pinMode(ledPinBlink, OUTPUT); // Blink-LED Pin als Ausgang pinMode(ledPinTaster, OUTPUT); // Taster-LED Pin als Ausgang pinMode(tasterPin, INPUT); // Taster-Pin als Eingang } void loop() { // Blink-LED blinken lassen digitalWrite(ledPinBlink, HIGH); // Rote LED HIGH-Pegel delay(1000); // 1 Sek. warten digitalWrite(ledPinBlink, LOW); // Rote LED LOW-Pegel delay(1000); // 1 Sek. warten // Abfrage des Taster-Status tasterStatus = digitalRead(tasterPin); if(tasterStatus == HIGH) digitalWrite(ledPinTaster, HIGH); // Gelbe LED HIGH-Pegel else digitalWrite(ledPinTaster, LOW); // Gelbe LED LOW-Pegel }

Warum funktioniert der Sketch denn nicht wie erwartet? Die Ausführung in der Endlosschleife kommt doch irgendwann einmal an der Zeile für die Tasterabfrage vorbei. Dann wird der Status doch korrekt abgefragt. Das entscheidende Wörtchen, das hier verwendet wird, ist irgendwann ! Du möchtest aber sicherlich einen Sketch so programmieren, dass zu jedem Zeitpunkt der Verarbeitung auf einen Tastendruck reagiert wird und nicht nur irgendwann einmal, wenn die Ausführung des Codes gerade die betreffende Stelle erreicht. Die delay -Funktion behindert uns bei der Fortführung des Codes und kann hier nicht die erste Wahl sein. Ich zeige dir das Verhalten am besten anhand eines Impulsdiagramms, bei dem die relevanten Signale wie Pin 13 (Blink-LED), Pin 8 (Taster) und Pin 10 (Taster-LED) untereinander zu sehen sind:

Abb 3Das Impulsdiagramm der Signale an Pin 13 Pin 8 und Pin 10 Das oberste - фото 210

Abb. 3:Das Impulsdiagramm der Signale an Pin 13, Pin 8 und Pin 10

Das oberste Signal (hier blau) zeigt den Status der blinkenden LED an Pin 13, der unermüdlich im Sekundentakt zwischen HIGH - und LOW -Pegel wechselt. Das darunter liegende Signal (hier lila) zeigt den Pegel am Taster an Pin 8, der nun versucht, die Taster-LED an Pin 10 zu steuern. Das unterste Signal sollte also zeitgleich mit dem Signal am Taster den Pegel wechseln, was aber nicht der Fall ist. Ich habe vier markante rote Punkte in diesem Diagramm platziert. An Punkt картинка 211halte ich den Taster so lange gedrückt, dass ich die abfallende Flanke des Blink-Signals erwische. Warum reagiert die Taster-LED an Pin 10 hier nicht? Das ist ganz einfach, denn wir haben es mit zwei delay -Aufrufen zu tun. Bei einem Wechsel von HIGH zu LOW wird die erste delay -Funktion abgearbeitet und wir stecken quasi noch in der zweiten delay -Funktion fest. Ein Tastendruck wird also hier nicht abgefragt. Das geschieht erst an Punkt картинка 212, wo ich die Taste beim Pegelwechsel von LOW zu HIGH gedrückt halte. Bevor es zum weiteren Pegelwechsel‌ geht, erfolgt die Abfrage des digitalen Pins 8, an dem sich der Taster befindet. Jetzt kann der Status des Tasters ausgewertet werden und die Taster-LED an Pin 10 leuchtet. Das ist so lange der Fall, bis bei der ansteigenden Flanke der Blink-LED der Taster ein LOW -Signal hat, was erst bei Punkt картинка 213der Fall ist und nicht schon bei Punkt картинка 214. Aus diesem Grund müssen wir auf die Verwendung der delay -Funktion verzichten und einen anderen Weg wählen.

Sehen wir uns den folgenden Sketch an und lassen uns nicht durch die Anzahl der Codezeilen irritieren, denn wir gehen alles Schritt für Schritt durch:

// Der Sketch funktioniert wie erhofft int ledPinBlink = 13; // Rote Blink-LED Pin 13 int ledPinTaster = 10; // Gelbe Taster-LED Pin 10 int tasterPin = 8; // Taster Pin 8 int tasterStatus; // Variable für Tasterstatus int interval = 2000; // Intervalzeit (2 Sekunden) unsigned long prev; // Zeit-Variable int ledStatus = LOW; // Statusvariable für die Blink-LED void setup() { pinMode(ledPinBlink, OUTPUT); // Blink-LED-Pin als Ausgang pinMode(ledPinTaster, OUTPUT); // Taster-LED-Pin als Ausgang pinMode(tasterPin, INPUT); // Taster-Pin als Eingang prev = millis(); // Jetzigen Zeitstempel merken } void loop() { // Blink-LED über Intervalsteuerung blinken lassen if((millis() - prev) > interval) { prev = millis(); ledStatus = !ledStatus; // Toggeln des LED-Status digitalWrite(ledPinBlink, ledStatus); // Toggeln der roten LED } // Abfrage des Tasterstatus tasterStatus = digitalRead(tasterPin); if(tasterStatus == HIGH) digitalWrite(ledPinTaster, HIGH); // Gelbe LED HIGH-Pegel else digitalWrite(ledPinTaster, LOW); // Gelbe LED auf LOW-Pegel }

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Mit Arduino die elektronische Welt entdecken»

Представляем Вашему вниманию похожие книги на «Mit Arduino die elektronische Welt entdecken» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Mit Arduino die elektronische Welt entdecken»

Обсуждение, отзывы о книге «Mit Arduino die elektronische Welt entdecken» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x