Powerprojekte mit Arduino und C - Friedrich Plötzeneder - E-Book

Powerprojekte mit Arduino und C E-Book

Friedrich Plötzeneder

0,0
19,99 €

oder
-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Vielen ist mit Arduino der Einstieg in die Mikrocontrollertechnik gelungen - dieses Buch richtet sich an alle, die "Hello World" hinter sich haben und in die Mikrocontroller-Programmierung mit C einsteigen möchten. Aber auch wer schon mit einem AVR gearbeitet hat, findet hier viele interessante Anregungen - die Programme sind universell geschrieben und laufen z.B. auch auf einem ATmega8. Neue Probleme lösen Powerprojekte bestehen in der Regel aus kleinen Komponenten. Daher werden viele kleine Problemlösungen definiert, erläutert und vollständig in C gelöst. Diese Komponenten kann der Anwender später in eigene Programme einbauen und anpassen. Schluss mit dem frustrierenden Ausprobieren von Code-Schnipseln! Endlich ist systematisches Programmieren möglich. Hardware für jeden Fall und spannende Projekte Die im Buch vorgestellte Hardware wurde so ausgewählt und entworfen, dass der Arbeitsaufwand bei einem Nachbau minimal ist. Zu allen Bauelementen und Komponenten finden sich auch die Bezugsquellen. Mit Hilfe der in diesem Buch beschriebenen Beispiele lassen sich auch innovative Lösungen für eigene Projekte entwickeln. Aus dem Buch "Powerprojekte mit Arduino und C" Inhalt: *C-Perfektionskurs *Timer im Normal-, CTC- und PWM-Modus *Endlicher Automat *Serielle Schnittstelle mit printf und scanf im Atmel-Studio *Entprellen von Kontakten mit einem Interruptprogramm *Flankenauswertung *Siebensegmentanzeige im Multiplexbetrieb *Siebensegmentanzeige über Schieberegister ansteuern *12 LEDs mit nur 4 Leitungen ansteuern: Tetraederschaltung *12 Tasten mit 4 Portleitungen einlesen *Matrixfeld mit 4x4 Tasten einlesen *Einlesen eines Drehgebers *Sourcecode eines Terminalprogramms in C# und LabVIEW *Schrittmotorsteuerung - auch mit Mikroschritt *Distanzmessung mit einem Ultraschallsensor *Schwebende Kugel

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Vorwort

Standardisierte Hardware hat dem PC zu seinem Erfolg verholfen. In der Mikrocontrollertechnik ist dem Arduino ein vergleichbarer Erfolg gelungen. Mit aufsteckbarer Hardware, die als Shield bezeichnet wird, stehen Schaltungen wie Motorbrücken oder EKG, Ethernet oder XBEE-Karten und vieles mehr zur Verfügung. Da ist es naheliegend, diese Hardware auch in C zu programmieren. Aus diesem Blickwinkel ist dieses Buch geschrieben. Es wendet sich an Mikroelektroniker, die bereits »Hello world« hinter sich haben und auch mit einem Steckbrett umgehen können. Es wird gezeigt, dass nicht nur der Arduino infrage kommt, sondern auch mit älteren Prozessoren wie dem ATmega8 und mit verschiedensten Programmiergeräten gearbeitet werden kann. Geordnet nach Preisklassen, wird die Hardware vorgestellt.

Wer Mikrocontroller in C programmieren will, findet in diesem Buch einen entsprechenden Kurs, bei dem zumindest einfache C-Kenntnisse vorausgesetzt werden. Inhalt ist die Grundlage für die Programmierung von Mikroprozessoren.

Auch die serielle Schnittstelle wird besprochen. Die Programme sind so geschrieben, dass sie für den ATmega8 und ATmega328P verwendet werden können. In Kapitel 6.3 wird die Standardein- und -ausgabe, wie scanf und printf, festgelegt. Die Methoden, um die serielle Schnittstelle mit dem Atmel Studio anzusprechen, werden in den Projekten angewandt.

Programmentwicklung mit Zustandsdiagrammen und Automatentabellen wird ebenfalls behandelt. Die damit gelösten Probleme sind vollständig in C-Programme umgesetzt. Lesern, die Zustandsdiagramme noch nicht in der Praxis eingesetzt haben, sei dieser Abschnitt besonders ans Herz gelegt.

Zur Behandlung abgeschlossener und vollständig gelöster Probleme werden Physik, Elektronik, Regelungstechnik und Programmierung besprochen. Die Projektbeschreibungen beschränken sich nicht auf eine Anleitung, um die Projekte nachbauen zu können, sondern behandeln auch die wesentlichen theoretischen Grundlagen zur Problemlösung. Nach der Lektüre dieses Buchs wird der Leser dank der diskutierten Grundlagen neue Probleme lösen können.

Weitere Informationen zu diesem Buch finden Sie im Internet unter www.avr-ploetzeneder.com.

Inhaltsverzeichnis

1Zahlendarstellung

1.1Zehner- oder Dezimalsystem

1.2Binärsystem

1.2.1Positive Binärzahlen

1.2.2Positive und negative Zahlen im Binärsystem

1.2.3Rechnen im Binärsystem

1.3Oktalsystem

1.4Hexadezimalsystem

2Hardware

2.1Richtlinien zur Auswahl der Hardware

2.2Hardware-Auswahl bei einer Investition von 100 Euro

2.2.1STK500

2.2.2Dragon mit Arduino

2.3Hardware-Auswahl bei einer Investition von 50 Euro

2.3.1STK500-kompatibler Programmieradapter mit Arduino

2.4Hardware-Auswahl bei einer Investition von deutlich unter 50 Euro

2.4.1Arduino mit Bootloader

2.5Alternative Entwicklungs-Boards

2.6Alternative Programmiergeräte

2.7Empfehlung

3Softwaretools zur Programmierung

3.1Entwicklungsumgebung

3.2Blinklicht mit dem Atmel Studio 6

3.3Blinklicht mit CodeVisionAVR

4Perfektionskurs in C

4.1Variablen und Konstanten

4.1.1Character

4.1.2Integer

4.1.3Long

4.1.4Float und Double

4.2Entscheidungsstrukturen

4.2.1If

4.2.2If-else

4.2.3If-else-Kette

4.2.4Kurzform für die Kontrollstruktur mit ternärem Operator

4.2.5Switch

4.3Modulooperator

4.3.1Zerlegen einer Zahl in Einer- und Zehnerstelle

4.3.2Umwandlung einer dreistelligen Zahl in einen String

4.3.3Modulo in einer Schleife mit dem Schleifenindex

4.4Bitweiser Zugriff auf ein Byte

4.4.1Setzen von Bits mit dem Oder-Operator

4.4.2Löschen von Bits mit dem Und-Operator

4.4.3Toggeln von Bits mit dem Exklusiv-Oder-Operator

4.5Unterprogramme

4.5.1Definition, Deklaration und externe Vereinbarung

4.6Zeiger

4.6.1Zeiger auf Integer

4.7Schleifen

4.7.1For-Schleife

4.7.2While-Schleife

4.7.3Do-while-Schleife

4.7.4Schleifen aussetzen

4.8String

4.8.1Aufbau von Strings

4.8.2String-Funktionen mit Format-String

4.9Ausgabe mit Formatangabe

4.10Eingabe mit Formatangabe

4.11Arrays und Zeiger

4.11.1Zeiger und Adressen

4.11.2Funktion String-Länge mit Zeiger

4.11.3Funktion strlen() mit Zeigerarithmetik

4.11.4Zeichenketten und Character-Zeiger

4.11.5Array von Zeigern

5Die serielle Schnittstelle

5.1Die serielle Schnittstelle am PC

5.2Elektrisches Signal der seriellen Schnittstelle

5.3Verdrahtung der RS-232-Schnittstelle

5.4Verfügbares Terminal-Programm

5.4.1Hyperterminal

5.4.2HTerm

5.4.3Terminal der Entwicklungsumgebung CodeVisionAVR

5.5Terminal-Programme im Sourcecode

5.5.1Terminal-Programm mit LabVIEW

5.5.2Terminal-Programm mit C#

5.6Terminal-Programm testen

6Programmierung der seriellen Schnittstelle des AVR

6.1Programmierung mit CodeVisionAVR

6.2Programmierung im Atmel Studio

6.3Programmierung der seriellen Schnittstelle mit formatierter Ein- und Ausgabe

6.4Interruptgesteuerte Programmierung mit verfügbarer Bibliothek

7Grundfunktionen der Timer

7.1Timerinterrupt mit CodeVisionAVR

7.2Timerinterrupt mit Atmel Studio

7.3CTC-Modus des Timers ohne Interrupt

7.4CTC-Modus des Timers mit Interrupt

7.5Pulsweitenmodulation (PWM) mit Timer 1

7.5.1Ein PWM-Signal mit Timer 1 erzeugen

7.5.2PWM-Signal erzeugen und Interrupt auflösen

7.5.3Gleichzeitig zwei PWM-Signale mit dem Timer 1 erzeugen

8Digitale Ein- und Ausgabe ohne externe integrierte Schaltkreise (ICs)

8.1Einlesen von digitalen Signalen

8.1.1Direktes Einlesen eines einzelnen digitalen Signals

8.1.2Einlesen eines Tasters

8.1.3Taster einlesen und entprellen mit nachfolgender Auswertung einer Flanke

8.1.4Einlesen einer 4x4-Tastatur

8.1.5Einlesen einer 3x4-Tastatur mit Diodenlogik

8.2Ausgabe digitaler Signale

8.2.1Ansteuerung einer einzelnen Siebensegmentanzeige

8.2.2Ansteuerung von zwei Siebensegmentanzeigen nach dem Multiplexprinzip

8.2.3Ansteuerung eines Siebensegmentdisplays mit 2½ Stellen nach dem Multiplexprinzip

8.2.4Ansteuerung von Leuchtdiode mit möglichst wenigen Leitungen

9Ein- und Ausgabe mit ICs zur Verminderung der Port-Leitungen

9.1Tastatur mit Demultiplexer und Prioritätsencoder

9.2Siebensegmentanzeige mit Schieberegister

10Endlicher Automat

10.1Allgemeine Einführung

10.2Vor-Rück-Zähler mit endlichen Automaten und Zustandsdiagramm

10.3Codeschloss

10.4Entprellen von Kontakten

10.5Auswertung von Schaltflanken

10.6Auswertung eines Inkrementalgebers (Drehgeber)

11Schrittmotor

11.1Allgemeine Informationen

11.2Prinzipielle Arbeitsweise

11.3Aufbau und Ansteuerung von Elektromagneten

11.4Endstufe für bipolare und unipolare Schrittmotoren

11.5Wicklungsarten

11.6Programme zur Ansteuerung

11.6.1Einfaches Programm

11.6.2Schrittmotoransteuerung im Interrupt

11.6.3Schrittmotoransteuerung über die RS-232-Schnittstelle

11.7Mikroschrittansteuerung

12Distanzmessungen mit Ultraschallsensoren

12.1Funktionsweise

12.2Ultraschallsensor SRF02

12.3Ultraschall-Eigenbausensor

13Transistorkennlinie aufnehmen und grafisch darstellen

13.1Arbeitsweise des Kennlinienschreibers

13.2Darstellung der Daten in Excel

13.3Darstellung der Daten mit einem grafischen LCD

14Schwebende Kugel

14.1Prinzip und Versuchsaufbau

14.2Regelungstechnisches Modell

14.3Schaltplan

14.4Programm für die schwebende Kugel

14.5Aufbau und Inbetriebnahme

15EKG

15.1Grundlegendes zum Elektrokardiogramm

15.2Sicherheitshinweis

15.3Einfache EKG-Schaltung

15.4EKG-Shield von Olimex

15.5Darstellung der Daten in Excel

15.6Darstellung der Daten in einem grafischen LC-Display

Anhang

Stichwortverzeichnis

2Hardware

2.1Richtlinien zur Auswahl der Hardware

Beim Auswählen einer optimalen Hardware sind der finanzielle Rahmen und das Ziel der Anwendung zu berücksichtigen. Nachfolgend wird davon ausgegangen, dass ein Anfänger mit AVRs selbstständig kleine Projekte realisieren will. Die folgenden Vorschläge sind nach dem Investitionsaufwand geordnet. Die Einteilung nach Investitionskosten sollte nicht mit dem Nutzen gleichgesetzt werden.

2.2Hardware-Auswahl bei einer Investition von 100 Euro

2.2.1STK500

Dieses Board ist von Atmel. Auf der PC-Seite gibt es dazu eine gute Software-Unterstützung. Alle Funktionen des STK500 können mit dem Atmel Studio angesprochen werden. Auch in CodeVison werden die Funktionen des STK500 gut unterstützt.

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!