Manuel di Cerbo - Android mit Arduino™ Due

Здесь есть возможность читать онлайн «Manuel di Cerbo - Android mit Arduino™ Due» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. ISBN: , Жанр: Математика, на немецком языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Android mit Arduino™ Due: краткое содержание, описание и аннотация

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

Mit Android und Arduino™ treffen die zwei Platzhirsche in ihrem jeweiligen Segment aufeinander. Android ist in den letzten Jahren zur Nummer eins unter den Smartphone-Betriebssystemen aufgestiegen. Arduino™ zählt zu den wichtigsten Plattformen für eigene Hardwareprojekte und wird weit über die Elektronik hinaus eingesetzt, z. B. auch von Künstlern. Android und Arduino™ haben eines gemeinsam: beide sind Open Source. Aufgrund dieser Eigenschaft haben sich hinter beiden Systemen riesige Communitys gebildet. Eine Kombination der beiden Systeme ist deswegen die perfekte Symbiose.Mit Android und Arduino™ treffen die zwei Platzhirsche in ihrem jeweiligen Segment aufeinander. Android ist in den letzten Jahren zur Nummer eins unter den Smartphone-Betriebssystemen aufgestiegen. Arduino™ zählt zu den wichtigsten Plattformen für eigene Hardwareprojekte und wird weit über die Elektronik hinaus eingesetzt, z. B. auch von Künstlern. Android und Arduino™ haben eines gemeinsam: beide sind Open Source. Aufgrund dieser Eigenschaft haben sich hinter beiden Systemen riesige Communitys gebildet. Eine Kombination der beiden Systeme ist deswegen die perfekte Symbiose. Bei Android handelt es sich um ein Betriebssystem auf der Basis von Linux. Nach einer Vorstellung der wichtigsten Eigenheiten von Android wird die Installation der Entwicklungsumgebung (IDE) erläutert. Als IDE kommt dabei Eclipse zum Einsatz. Anhand einer ersten Android-App wird schrittweise die Nutzung der IDE gezeigt. Praxis-Tipps für Eclipse erleichtern den Umgang mit der IDE im Alltag. Mit vier Projektbeispielen, z. B. der Ansteuerung eines Servomotors, wird die Verbindung zwischen Android und Arduino™ Due anhand von Quellcode ausführlich aufgezeigt. Der Quellcode dieser Projekte ist natürlich als Download-Material verfügbar.

Android mit Arduino™ Due — читать онлайн ознакомительный отрывок

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

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

Интервал:

Закладка:

Сделать

delay(3000); // wait for three seconds

}

Nachdem der Mikrocontroller neu beschrieben wurde, blinkt die LED nun deutlich langsamer als zuvor.

2.4 Die Arduino-Programmiersprache

Arduino besitzt eigentlich keine eigene Programmiersprache. Vielmehr versteht man unter der Arduino-Programmiersprache ein Framework, das eine Sammlung von Funktionen und Bibliotheken zur Verfügung stellt. Die Programmierung erfolgt in C und/oder C++, wobei die Arduino-spezifischen Funktionen verwendet werden können. Eine Übersicht der Arduino-Programmiersprache findet man auf der offiziellen Arduino-Webseite unter dem Reiter Reference ( http://arduino.cc/en/Reference/HomePage ). Erwähnenswert ist insbesondere auch, dass es sich um eine »Cross-Plattform«-Programmiersprache handelt. Ein Programm, welches für ein spezifisches Board mit dazugehörigem Mikrocontroller geschrieben wurde, kann also grundsätzlich auch für einen anderen Mikrocontroller verwendet werden. Der Source-Code muss dabei nicht verändert werden.

Nachdem wir nun unseren ersten Sketch, das Blink-Beispiel aus Abschnitt 2.2, auf den Arduino Due geladen haben, wollen wir dessen Source-Code studieren.

Bei den ersten Zeilen handelt es sich um Kommentarzeilen Wie in CC üblich - фото 1

Bei den ersten Zeilen handelt es sich um Kommentarzeilen. Wie in C/C++ üblich, sind mehrzeilige Kommentare durch die Zeichen /* (zu Beginn) bzw. */ (am Ende) und einzeilige Kommentare durch // gekennzeichnet. Im Kommentar der ersten Zeilen wird die Funktion des Programms kurz erläutert.

Die erste für das Programm entscheidende Zeile

int led = 13;

wird verwendet, um den Mikrocontroller-Pin mit der On-board-LED zu definieren. Die LED ist in unserem Fall verbunden mit dem Arduino-Pin Nummer 13. Diese Information entnehmen wir zum Beispiel der Produktwebseite ( http://arduino.cc/en/Main/ArduinoBoardDue ). Dort finden wir unter Input und Output die folgende Beschreibung:

»L« LED: 13

There is a built-in LED connected to digital pin 13. When the pin is HIGH, the LED is on, when the pin is LOW, it's off. It is also possible to dim the LED because the digital pin 13 is also a PWM output.

Hinweis

Bitte beachten Sie: Als Arduino-Pin Nummer 13 wird derjenige Mikrocontroller-Pin bezeichnet, welcher oben auf dem Board mit der Nummer 13 angeschrieben ist. Es handelt sich nicht etwa um den 13ten Pin des SAM3X-Mikrocontrollers. Die Zuordnung zwischen Arduino und SAM3X-Pins findet man ebenfalls auf der Produktwebseite ( http://arduino.cc/en/Hacking/PinMappingSAM3X ). Aus der Tabelle entnehmen wir, dass der Arduino-Due-Pin 13 dem SAM3X-Pin PB27 entspricht. Im Datenblatt des SAM3X steht außerdem, dass sich der Pin PB27 am physikalischen Mikrocontroller-Pin mit Nummer 68 befindet. Mit dieser Begebenheit müssen wir uns nicht weiter beschäftigen. Es sollte bloß im Hinterkopf behalten werden, dass es Unterschiede bei der Nummerierung von Arduino-Pins und physikalischen Mikrocontroller-Pins gibt. Insbesondere wenn bereits bestehender C-Code mit Arduino-Source-Code vermischt wird (oder umgekehrt), kann dies eine Stolperfalle darstellen.

Als Nächstes betrachten wir die Funktionen setup() und loop(). Wie die Namen schon vermuten lassen, werden alle Anweisungen innerhalb von loop() in einer Endlos-Schleife ausgeführt. Der Inhalt von setup() hingegen wird nur ein einziges Mal ausgeführt, und zwar ganz zu Beginn des Programmablaufs, noch bevor loop() das erste Mal ausgeführt wird. Bei den Funktionen setup() und loop() handelt es sich um eine Besonderheit von Arduino. Falls Sie schon Erfahrungen mit C-Programmierung haben, fragen Sie sich bestimmt, wo die main()-Funktion geblieben ist. Da Arduino unter der Haube auch nur C/C++ verwendet, gibt es intern natürlich auch eine main()-Funktion. Darin werden dann unsere Methoden setup() und loop() an den entsprechenden Stellen aufgerufen, gemäß folgendem Muster:

int main(void){

setup();

// loop forever

for(;;){

loop();

}

return 0; // never reached

}

Die genaue Implementierung der main()-Funktion für den Arduino Due finden Sie übrigens im Arduino-Ordner unter ./hardware/arduino/sam/cores/arduino/main.cpphttp://arduino.cc/en/Reference/HomePage .

Falls Sie noch keine Erfahrungen mit C/C++ haben, merken Sie sich einfach, dass die Funktion setup() nur ein einziges Mal zu Programmbeginn ausgeführt wird. Die Funktion loop() hingegen wird endlos und periodisch aufgerufen. Die Funktionen setup() und loop() sind auch in der offiziellen Language Reference ( http://arduino.cc/en/Reference/HomePage) beschrieben.

Innerhalb von setup() sollten also im Idealfall alle Initialisierungen stattfinden, wie zum Beispiel Pin-Konfigurationen. Die Pins eines Mikrocontrollers können grundsätzlich als Eingänge oder Ausgänge konfiguriert werden. Intern speichert ein Mikrocontroller diese Konfiguration in speziellen Registern ab. Das Ändern einer Pin-Konfiguration erfordert also das Schreiben von Registern, und dies wiederum verbraucht kostbare Rechenzeit. Um ehrlich zu sein, in den meisten Fällen würde man kaum eine Performance-Einbuße feststellen können. Dennoch lohnt es sich, dieses Pattern korrekt anzuwenden.

Im Blink-Sketch wird der LED-Pin (Arduino-Pin Nummer 13) als Ausgang konfiguriert. Dies geschieht mit der Funktion pinMode().

void setup() {

// initialize the digital pin as an output.

pinMode(led, OUTPUT);

}

Bei pinMode() handelt es sich ebenfalls um eine spezifische Arduino-Funktion. Der erste Parameter bestimmt die Arduino-Pin-Nummer (vorher wurde led gleich 13 gesetzt). Der zweite Parameter legt fest, ob es sich um einen Eingang oder einen Ausgang handelt. Anstatt OUTPUT könnte zum Beispiel auch INPUT verwendet werden. Wie bereits erwähnt, ist die Arduino-Programmiersprache eine »Cross-Plattform«-Programmiersprache. Die Funktion pinMode() kann für unterschiedliche Arduino-Boards bzw. Mikrocontroller verwendet werden. Je nach Mikrocontroller braucht es dann natürlich eine andere Implementation der pinMode()-Funktion. Bei Interesse findet man die Implementation für den SAM3X des Arduino Due im Arduino-Ordner unter ./hardware/arduino/sam/cores/arduino/wiring_digital.c

Nun betrachten wir die Anweisungen innerhalb der loop()-Funktion.

Die Funktionen sind grundsätzlich selbsterklärend Mit digitalWrite wird ein - фото 2

Die Funktionen sind grundsätzlich selbsterklärend. Mit digitalWrite() wird ein Ausgang gesetzt (HIGH) oder gelöscht (LOW). Mit delay(1000) wird 1000 Millisekunden, also 1 Sekunde, gewartet.

2.5 Serielle Verbindung: Host-Computer und Arduino

In einem ersten Schritt stellen wir eine serielle Verbindung zwischen unserem Host-Computer und dem Arduino Due her. Unser Host-Computer dient dabei als USB-Host, der Arduino ist das USB-Device. Später können wir dann anstatt unseres Computers ein USB-Host-fähiges Android-Gerät verwenden.

Die serielle Verbindung wird aufgrund ihrer Einfachheit sehr häufig zur Kommunikation mit Mikrocontrollern verwendet. Dazu muss der Mikrocontroller mindestens zwei dedizierte Pins RX und TX zur Verfügung stellen. Der RX-Pin (»Receive«) dient dem Mikrocontroller zum Empfangen von Daten; der TX-Pin (»Transmit«) zum Versenden von Daten. Diese Struktur wird je nach Ausführung auch UART (Universal Asynchronous Receiver Transmitter) oder USART (Universal Synchronous Asynchronous Receiver Transmitter) genannt. Der Mikrocontroller des Arduino Due verfügt sogar über vier serielle Schnittstellen. Sie sind auf der Oberseite jeweils mit TX0/RX0, TX1/RX1, TX2/RX2 und TX3/RX3 beschriftet. Die Anschlüsse CANRX/CANTX ermöglichen übrigens eine Kommunikation über den sogenannten CAN(Controller Area Network)-Bus. Die Anschlüsse SDA und SCL werden ihrerseits für das Two-wire Interface (TWI) beziehungsweise I²C verwendet.

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

Интервал:

Закладка:

Сделать

Похожие книги на «Android mit Arduino™ Due»

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


Отзывы о книге «Android mit Arduino™ Due»

Обсуждение, отзывы о книге «Android mit Arduino™ Due» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x