100% fanden dieses Dokument nützlich (1 Abstimmung)
51 Ansichten150 Seiten

Tutorials (DE)

Das Dokument enthält eine Anleitung für verschiedene Lektionen zum Programmieren des Arduino Uno R3. Es werden Bibliotheken installiert und grundlegende Konzepte wie Blinken einer LED erklärt. Weitere Lektionen behandeln Sensoren, Displays und andere Module.

Hochgeladen von

marcorinco
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
100% fanden dieses Dokument nützlich (1 Abstimmung)
51 Ansichten150 Seiten

Tutorials (DE)

Das Dokument enthält eine Anleitung für verschiedene Lektionen zum Programmieren des Arduino Uno R3. Es werden Bibliotheken installiert und grundlegende Konzepte wie Blinken einer LED erklärt. Weitere Lektionen behandeln Sensoren, Displays und andere Module.

Hochgeladen von

marcorinco
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

Unser Tutorial for Arduino Uno R3

1
2
3
lektion Listing

Lektion 0 lnstalling IDE


Lektion 1 Bibliotheken hinzufügen
4
Lektion 2 Blinzeln
Lektion 3 LED
Lektion 4 Druckknopf
Lektion 5 Feueralarm Test
Lektion 6 8x8 dot matrix - experiment
Lektion 7 aktive Summer modul
Lektion 8 passive Summer
Lektion 9 1602 liquid crystal - Experiment
Lektion 10 74HC595 Experiment
Lektion 11 digital Tube Displayexperiment
Lektion 12 vier bit digital -Tube
Lektion 13 Hit - Modul
Lektion 14 Tilt - Schalter
Lektion15 die Entfernungen von Modul durch Ultraschallwelle
Lesson16 thermische Widerstand
Lesson17 Schrittmotor Test
Lektion18 das Kontrolleexperiment der Ruderanlage
Lektion 19 das Experiment der lichtempfindlichen Lampe
Lektion 20 LM35 Temperaturefühler
Lektion 21 die Funkelnprüfung des LED
Lektion 22 Infraroter - empfänger
Lektion 23 elektrisches Potential

5
Lektion 24 analoge Temperaturfühler
Lektion 25 Touch - modul
Lektion 26 3 - farben und farbige LED - Modul
Lektion 0 lnstalling
Einleitung:

wenn wir die Arduino notwendig lernen und nutzen wollen, sollen wir den Fahrer

manuell installieren, die Auslieferung der Arduino IDE - paket ist kostenfrei.

hier führen wir die Methode der installation:


1:wir können die Arduino - website ([Link]. cc) herunterladen

klicken Sie auf "download"

klicken Sie auf den Pfeil nach,

6
laden Sie es hier..

nach dem Download ist eine komprimierte Paket, und dann extrahieren

2:verbinden Sie das Motherboard und Computer, überprüfen Sie die "Geräte - Manager"
klicken Sie mit der rechten Maustaste auf den "unbekannten Gerät" und klicken sie dann auf
"neuen Fahrer.

7
klicken Sie weiter, wenn das Treiber - installation abgeschlossen ist.
dann schauen Wir "Geräte - Manager".
Wenn Sie "Arduino" (com3) " sehen, ist es einen Beweis, eine erfolgreiche installation zu fahren.
:Bretter und Häfen
Sie sind jetzt bereit für die Arduino - Software ,dann öffnen Sie den Ordner und die Arduino - Anwendung

8
. danach beginnen Wir die Arduino IDE.

Bevor Sie beginnen können, sagen sie dem Arduino - software,welche Art der Arduino - board Sie

benutzen ,dann wählen Sie den Hafen, an dem Sie sich verbinden.

Arduino - Uno "oder" Leonardo " erzählt die Arduino IDE die Art von Bord, die Sie jetzt [Link] die

Werkzeuge - Menü, wählen Sie Vorstand und als Mittel

9
Über die Werkzeuge - Menü finden sie den seriellen Port ".wählen Sie diese Option.

wenn Sie Windows verwenden, wird es wahrscheinlich nur eine Option gibt, die endweder COM3 oder

COM4 ist,dann wählen Sie eine davon.

10
Lektion1 Add Libraries
wenn sie mit dem Arduino – Softwaresehr und die eingebauten Funktionen vertraut sind ,
können Sie die Funktionalität mit zusätzlichen Bibliotheken erweitern.
was sind Bibliotheken?
Bibliotheken sind eine Sammlung von Code,.die Code machen es leicht, eine Verbindung zu einem Sensor,

Display und Module zu [Link] Beispiel, die eingebaute liquidcrystal Bibliothek kann sich mit

charakter LCD – Displays [Link] gibt hunderte zusätzlichen Bibliotheken im Internet zum

[Link] den eingebauten Bibliotheken und einige zusätzlichen Bibliotheken zu nutzen, müssen Sie

sie installieren.

wie installieren Sie eine Bibliothek

um eine neuen Bibliothek in ihren Arduino IDE zu installation, können sie die Bibliothekmanager (erhältlich

bei IDE version 1.6.2).öffnen Sie die IDE und klicken Sie auf Bild > > Library > Verwaltung der Bibliotheken ..

11
die Bibliothek manager wird geöffnet .Eine Liste der Bibliotheken sind vorhanden oder bereit für die

[Link] diesem beispiel wird die Brücke - Bibliothek [Link] Sie die Liste ,wählen Sie die

Version der Bibliothek, die Sie installieren [Link] gibt es nur eine Version der Bibliothek zur

Verfügung

. wenn das bei der Version ausgwählte Menü nicht erscheint,machen Sie keine sorge, das ist normal.

12
Danach klicken Sie auf Installation und warten darauf, die IDE die neuen Bibliothek zu [Link]

Geschwindigkeit des Herunterladens ist von ihrer Verbindung abhä[Link] es fertig ist, werden Sie eine

installierte Tag neben der Brückebibliothek [Link] können die Bibliothekmanager schließen.
die neue Bibliothek sind Ihnen zur Verfügung, Wenn Sie ihre eigene Bibliothek hinzufügen wollen, öffnen
sie ein neues Thema auf Github.
importieren einer zip - Bibliothek.
Bibliotheken werden oft als Zip - Dateien oder Ordner [Link] Namen des Ordners ist auch den

Name der [Link] den Ordner gibt es :.cpp datei. h - datei, oft ein [Link]

und andere Dateien werden von der Bibliothek finden. Wenn Sie mit der Version 1.0.5beginnen, installieren

Sie externen Bibliotheken in derIDE. Entpacken sie die heruntergeladene Bibliothek nicht; lassen Sie es

in der ArduinoIDE, navigieren Sie bis Sketch , Bibliothek gehören dazu > hinzufü[Link] - Bibliothek.

Sie werden aufgefordert, die Bibliothek zu wählen,dann hinzufügen Sie [Link] Bibliothek und öffnen

Sie es.

Jetzt rückkehren Sie zu den Sketch > Importieren - Menü. Sie können die Bibliothek auf dem Grund des Drop

- Down – Menü [Link] ist angeraucht, in ihrem Sketch zu [Link] Zip - Datei wird in ihrem Arduino

Skizzen der Bibliotheken Ordner erweitern.

NB: die Bibliothek werden im Skizzen zur verfügung gestellt , aber das Beispiel für die Bibliothek wird in
der Datei nicht gezeigt

13
manuelle Installation
um die bibliothek zu installieren,sollen Sie den Arduino – Anwendung zuerst kü[Link] entpacken Sie

die Zip - Datei und die [Link] Beispiel, wenn Sie eine Bibliothek ,die "Arduinoparty" heißt,

installieren,heißt sie nach dem Entpackung [Link] .Es enthält ein Ordner, das Arduinoparty

heiß[Link] Dateien wie [Link] und Arduinoparty. h sind in dem Ordner.(wenn die Cpp und. H –

Dateien nicht in einem ordner sind, brauchen Sie einen neuen zu [Link] diesem Fall sollen Sie ein

Ordner schaffen,es "Arduinoparty" heißt. und gehen Sie alle Dateien auf diesem Ordner hinein, wie

[Link] und Arduinoparty. h.)

Ziehen sie die Arduinoparty Ordner in diesem Ordner (ihre Bibliotheken Ordner).Unter Windows wird es

wahrscheinlich "meine Dateien \ Arduino \ Bibliotheken" genannt.Für Mac - Benutzer wird es wahrscheinlich

"Dokumente / Arduino / Libraries" [Link] Linux wird es in ihrem Skizzenbuch [Link] Arduino -

Bibliothek Ordner sollten jetzt so aussehen (unter Windows).


My Documents\Arduino\libraries\ArduinoParty\[Link]

My Documents\Arduino\libraries\ArduinoParty\ArduinoParty.h

My Documents\Arduino\libraries\ArduinoParty\examples

oder wie diese (für Mac und Linux):

Documents/Arduino/libraries/ArduinoParty/[Link]

Documents/Arduino/libraries/ArduinoParty/ArduinoParty.h
Documents/Arduino/libraries/ArduinoParty/example
Es könnten noch mehr Dateien als nur [Link] und. h Dateien, so stellen Sie sicher, dass sie alle da
[Link] Bibliothek wird nicht funktionieren, wenn Sie [Link] und h - Dateien direkt in die
Bibliotheken Ordner führen oder [Link] und h - Dateien in ein extra Ordner eingebettet
werden .zum Beispiel wie Dokumente \ \ \ [Link] Arduino - Bibliotheken und Dokumente
\ \ \ \ Arduinoparty Arduino - Bibliotheken Arduinoparty \ [Link]
Sie starten die Arduino – Anwendung und stellen sicher, dass die neue Bibliothek in der Sketch - >

importieren – Menü [Link] [Link] Sie eine Bibliothek installiert haben .

Zusammenfassung
In dieser Lektion werden wir alle Bibliotheken installieren,die wir in der Anleitung verwenden

werden.Öffnen Sie die Bibliotheken Ordner

14
Installieren Sie die Zip - Dateien und verbinden Sie die Komponente der Schematische und laden Sie

den Code,dann die KIT wird funktioniert

Lesson2 blinzeln
Überblick
In dieser Lektion werden Sie lernen, wie man die UNO R3 programmieren kann, um in der Arduino - Board

R3 eingebauten LED zu leuchten.

komponente erforderlich
(1) x Arduino Uno R3

Principle

die UNO R3 Board zeilen Anschlüsse auf beiden Seiten, die verwendet werden, um eine Verbindung zu

mehreren elektronischen Geräte und plug - ins "shields"zu bleiben.

Die UNO R3 hat auch einen einheitlichen LED,dadurch kann man aus ihrer Skizzen [Link]

wird auf der UNO R3 Board gebaut und wird häufig als "L ' genannt.

15
Sie können feststellen, dass die LED am UNO R3 Board blinkt, wenn Sie eine verbindung an ein
USB-stecker [Link] die Platten wurde in der Regel mit der 'Blinzeln' nach dem Sketch
vorinstalliert
in dieser Lektion werden wir den UNO R3- board mit unseren eigenen blinzeln Sketch programmieren und

die geschwindigkeit des Blinks ändern.

in lektion 1 stellen Sie ihren Arduino IDE auf und sorgen Sie sich dafür, dass Sie die serielle Schnittstelle für

die Verbindung zu ihrem UNO- R3 – Vorstand finden kö[Link] ist die Zeit gekommen, den Test und das

Programm ihre UNO R3 – Vorstand zu verbinden.

der Arduino IDE enthält eine umfangreiche Sammlung von Zeichnungen, so können Sie laden und benutzen.

zum Beispiel gehört ein Skizze der"l 'led – Blinken auch dazu.

Zuerst laden Sie die "Blink" - Sketch, dann finden Sie in des IDE- Menü System unter Datei > Beispiele > 01.

Grundlagen

wenn man die Sketch - Fenster öffnet und vergrößert, können Sie den ganzen Sketch im Fenster
sehen

16
die beispielgebende Skizzen sind der Arduino IDE"read - only".das bedeutend, Sie können sie auf einer

NUO- R3 Board hochladen, aber wenn Sie sie ändern, können sie die Datei nicht zusammenspeichern.
Wenn wir das Phantombild ändern möchten, retten Sie zuerst Ihre eigene Kopie.
aus Arduino IDE wählen sie SAVE as... Und dann ist den Name vom Sketch als myblink zu retten

Sie haben Ihr Exemplar von "Blink" in Ihr Skizzenbuch [Link] bedeutet, wenn Sie
es finden wollen, können Sie es einfach durch die Datei > Skizzenbuch menü finden

fügen Sie die Arduino - Board auf Ihren Computer mit USB- Kabel und überprüfen Sie, ob der Vorstand Art
"und" serial Port " richtig gesetzt [Link] Sie Fragen haben,müssen sie lektion 0 genau lesen
der Arduino IDE wird ihnen die Einstellungen der Elektrizität für den Vorstand zeigen,die am unteren Rand
des Fensters ist.
Klicken Sie auf den Button Upload, der auf zweiten Knopf von der linken auf die Symbolleiste liegt.

17
wenn Sie auf die Statuszeile der IDE sehen,finden Sie ein Fenster und eine Reihe von [Link] sagt

es ;Compiling Sketch... ".

das setzt die Skizze in einem Format um ,das für das Uploading auf dem board geeignet ist

Der Status ändert sich in "Hochladen".An diesem punkt sind die LEDS glitzert ,die auf der Arduino
[Link] ist die Skizze übertragen.

der Zustand wird zu Done geändert ".

Durch die andere Infromation wissen wir, dass der Sketch mit 1084 bytes von der 32256 verfügbarer bytes
benutzt. Nach dem Phase der Erstellung des Sketchs... " könnten Sie die folgende falsche Information
bekommen.

Das bedeutet, dass der Vorstand nicht angeschlossen oder der Treiber nicht installiert oder der falsche

serielle Schnittstelle aktiviert ist.

18
wenn es so passiert, gehen Sie an die Lektion 0 zurück und überprüfen Sie ihre Installation
Nachdem Upload abgeschlossen ist, wird das Board wieder starten und [Link] Sie die code öffnen,

beachten sie darauf, dass ein großer Teil dieser Skizze aus Kommentaren [Link] sind keine wirklichen

Programm - Anweisungen, sondern nur ein Erklärung, wie das Programm funktioniert.
Alles, was zwischen / * und * / an der Spitze der Skizze ist, ist ein block Kommentar; Es erklärt, was der
Sketch [Link] Kommentare beginnen bei / / und bis zum Ende der Leine
die erste Zeile code ist
int LED = 13;
wie die vorstehende Anmerkung erläutert, das einen Namen zu geben, dass die LED die pin angeschlossen

[Link] ist 13. in den meisten Arduinos, einschließlich der UNO und Leonardo

wir haben die "setup" - Funktion. Genau wie die gesagte Kommnetar ,wenn der Vorstand wieder ausgeführt
wird, wird die Reset - Taste auf jedem Fall gedrückt wird.

void setup() {

// initialize the digital pin as an output.

pinMode(led, OUTPUT);
}
Jeder Arduino - Sketch muss ein "setup" – Funktion haben, wo Sie hinzufügen wollen ihres eigenen

Anweisungen zwischen der [und]] hinzufügen wollen

in diesem Fall gibt es nur einen Befehl , wie der Kommentar states die Arduino – Board gesagt hat, das

wir werden mit der LED- Pin als Output benutzen.

Es ist auch Verpflichtet, eine Skizze einem "Loop" – Funktion zu [Link] als die "setup" - Funktion
hat der "loop" – Funktion funktioniert nach einem Reset nur einmal, wenn es fertig ist, läuft die
Kommandos.

Sofort fangen wir wieder an


void loop()
{
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}
in der Loop – Funktion ist die Kommandos zunächst die LED- pin (hoch) und dann ist die "Verzögerung" für

19
1000 Millisekunden (1), danach schließen Sie die LED - pin ab und stellen Sie für eine Sekunde ein.
Jetzt sollen Sie ihre LED schneller [Link] Sie vorgestellt haben, wie man die Parameter () für die
"Verzögerung" kommando geändert hat.

Diese Verzögerung erfolgt in Millisekunden, wenn Sie die LED doppelt so schnell blinzeln wollen, ändern Sie

den Wert von 1000 auf [Link] die Pause ändert sich nicht nur eine ganze Second sondern für eine halbe

Sekunde

laden Sie die Zeichnung wieder up,die LED blinzeln mehr schneller

Lesson 3 LED
Überblick

in dieser Lektion würden Sie lernen , wie man die Helligkeit eines LED durch verschiedene Widerstandswert

ändern kann.

komponenten erforderlich
(1) x Ardino Uno R3

(1) x 5mm red LED

(1) x 220 ohm resistor

(1) x 1k ohm resistor

(1) x 10k ohm resistor

(2) x M-M wires


Einführung
BREADBOARD MB-102
Ein Breadboard können sie schnell schalten, ohne die Verbindungen zu lö[Link] ist ein Beispiel.

20
Die Breadboards haben verschiedenen Größen und [Link] einfachste Art davon ist ein Netz von
Löchern in einer Plastik - [Link] Inneren sind Streifen aus Metall,die liefert die elektrische Verbindung
zwischen Löcher in der kürzeren Zeilen. Man schiebt die Beine von zwei verschiedenen Komponenten in der
gleichen Zeile zusammen

Ein tiefen Kanal läuft in der mitte,es deutet darauf hin, dass es einen Bruch in der Verbindungen gibt, d. h.,
Sie können auf einen Chip mit den Beinen auf beiden Seiten des Kanals zusammen [Link]
Breadboards haben zwei Streifenlöcher,die entlangen den langen Kanten der Vorstand und sind vom Netz
[Link] Streifen liefen die Länge der Vorstand in eine Art der Verbindung eine gemeinsame
[Link] sind in der Regel im Paare + 5 Volt und [Link] Streifen sind so genannte Schienen und
ermöglichen sie eine Macht zu viele Komponenten oder punkte in den Vorstand.
LED:
Weil die meisten Breadboards für Prototyping geeignet sind, haben Sie einige Einschrä[Link] die
Verbindungen vorübergehende sind, sind sie nicht so zuverlässig wie verlötet [Link] man
zeitweise ein Probleme mit der Rennstrecke, könnte es eine schlechte Vrbindung auf einem Bett gibt
LEDS haben große Kontrollleuchten,sie verwendet sehr wenig Strom und dauert ziemlich lange.

in dieser Lektion werden sie die LEDS benutzen,die man häufig genannt hat: 5mm rot LED.5mm bezieht sich

auf den Durchmesser des LEDS. Die andere Größen sind 3mm und 10mm.

Man darf nicht direkt ein LED mit einer Batterie oder Spannungquelle verbinden, es liegt daran1) LED hat

eine positive und negative Folgen,wenn man falsch verbindet hat,werden die LED nicht glänzen 2) bevor

ein LED verwenden wird , soll man ein Widerstand beschränken ,sonst brennt LED aus!

21
wenn Sie ohne Widerstand eine LED benutzen, es kann sein, dasss viel Strom durch Erhitzen fließt und die
LED zerstört wird
Es gibt zwei Methode, wie man die positive und die negative Folgen unterscheiden kann .
Erstens sind die positive Folge länger.
Zweitens gibt es einen Flachen rand auf den Fall der LED,wo die negative Blei in die körper der LED

hineingeht
wenn Sie zufällig eine LED haben, die flache Seite liegt neben dem längeren Führen , können Sie davon
ausgehen, daß die längere Blei positiv ist.
Widerstände.
Widerstände bedeutet gegen den fließende Strom .Je höher der Wert der Widerstand, desto mehr

Widerstand und weniger Strom durchfließt .durch die Widerstand können wir darüber kontrollen, wie viel

Strom durch die LED fließen und wie hell es leuchten soll

Information über Widerstände


die Einheit des Widerstands ist "OHM, die normalerweise abgekürzt Ω ist den griechischen Buchstaben
[Link] ein OHMU ein niedriger Wert des Widerstands (nicht widerstehen viel) ist, die Werte der
Widerstände gibt es auch in k Ω (1000 Ω) und m Ω (1 000 000 Ω).das nennt Man KILO OHM und MEGA OHM.
in dieser Lektion werden wir drei verschiedene Widerstandwerte: 220 Ω, 1kΩ und 10kΩ benutzen.
Diese Widerstände haben gleich Aussehen und haben verschiedenfarbige Streifen ,durch diese Streifen

zeigen sie uns den Wert der Widerstand.


Auf einem Seite Des Widerstands hat drei farbigen Streifen .

22
Im gegensatz zu LEDS haben die Widerstände keine positiven und negativen Fü[Link] kann auf jede

Seite verbinden

verbindung
schematische

23
diagramm

die UNO ist eine bequeme Quelle von 5 Volt, die wir nutzen, um Strom für LED und den Widerstand zu
versorgen,
Sie brauchen gar nichts zu tun mit ihrem UNO ,außer dem Anschließen in einen USB – KABEL
Mit 220 Ω Widerstand sollte die LED ganz hell [Link] Sie die 220 Ω Widerstand für die 1k Ω Widerstand
tauschen, erscheint ein kleines Dimmer wenn die 10 k Ω Widerstand vor ort ist, wird die LED nur sichtbar
[Link] zieht die roten Pulliblei aus dem Brotbrett und berührt sie in das Loch , so dass es wie ein Schalter
[Link] sollten in den Unterschied bemerken.
Im Moment haben Sie 5v , der andere Teil der Widerstand werde die positive Seite des LED führen und die andere
seite des LED zu GND fü[Link] wir jedoch den Widerstand ziehen, wie unten gezeigt, so dass die LED noch
leuchtet werden.
sie werden wahrscheinlich die 220 Ω Widerstand zurück an ihren Platz ziehen wollen.
Es spielt keine Rolle, an welche seite der LED setzen wir den Widerstand..

Lesson 4 button
Einführung

24
bei diesem Experiment werden Sie erfahren, wie man durch einem I / O - Port und

ein Knopf einem LED ein / ausschalten [Link] "I /O -Hafen" bezieht sich auf den

Input- und Output- [Link] Input - Port des Kuman UNO Board können Sie die

Ausgabe von einem externen Gerät [Link] der Vorstand selbst hat eine LED

(mit pin - 13), so können Sie dieses Experiment machen.

komponenten
Components
- 1 * kuman Uno board
- 1 * USB cable
- 1 * Button
- 1 * Resistor (10k Ohm)
- Jumper wires
- 1 * Breadboard

prinzip
Button

Button sind die gemeinsame Komponente zur


Kontrolle von elektronischen Gerä[Link] sind in
der Regel als Schalter zur verbindung oder
Trennung .Obwohl Tasten verschiedenen Größen
und Formen haben, verwendet man hier ein
6mm MINI - KNOPF , wie man in der folgenden
Bilder gezeigt [Link] gleichen farbe der Pfeile
sollen zusammen verbunden werden.

25
wenn der Button gedrückt wird, hat der Nadeln der blauen Pfeile
mit dem Nadeln der rote Pfeile zusammenbindet.
Nomalerweise verbindet die Taste direkt mit einer LED ,um die LED an-oder

abschalten, diese Zusammenhang ist relativ [Link] manchmal leuchtet die LED

automatisch ohne den Knopf zu drücken, weil es den verschiedenen Störungen

[Link] es zu vermeiden, benutzt man ein PULL - DOWN - WIDERSTAND ,das ist eine

Verbindung zu einem 1k – 10.000 Ω Widerstand zwischen den Knopfhafen und

[Link] die Tasteschalter ausgeschaltet [Link] es den verschiedenen

Störungen konsumieren

Diese Schaltung- verbindung wird weit verbreitet in zahlreichen Schaltungen und

elektronischen Geräten [Link] Beispiel, wenn Sie einen Knopf auf ihrem Handy

drücken,wird die Hintergrundbeleuchtung leuchten.

Experimentelle verfahren

schritt 1: Aufbau der Schaltung

26
die schematische Darstellung:

27
schritt2:das Erstellen des Codes.
schritt 3: laden Sie die Skizze der Kuman UNO - VORSTAND
jetzt drücken Sie den Knopf, und die LED auf dem KUMAN UNO BOARD werden leuchten.
Code:

//Controlling Led By Button


//Turns on and off a LED ,when pressings button attach to pin12
//2015.5.7
/**********************************/
const int keyPin = 12; //the number of the key pin
const int ledPin = 13;//the number of the led pin
/**********************************/
void setup()
{
pinMode(keyPin,INPUT);//initialize the key pin as input
pinMode(ledPin,OUTPUT);//initialize the led pin as output
}
/**********************************/
void loop()
{
//read the state of the key value
//and check if the kye is pressed
//if it is,the state is HIGH
if(digitalRead(keyPin) ==HIGH )
{
digitalWrite(ledPin,HIGH);//turn on the led
}
else
{
digitalWrite(ledPin,LOW);//turn off the led
}
}
/************************************

Lektion 5 Feueralarm im Test

28
Die lange Beine des Flammesensoren verknüpfen mit A5,die kurze
Beine des Flammesensoren verknüpfen mit 5 V .Ein 10 k
Widerstand von A5 verbindet mit der GND, die positive Folge soll
mit der Summer d8 verbinden , die negative Folge soll mit GND
zusammenhangen, dann laden Sie den Code, Sie können das
Experiment durch die Feuer - quelle in der nähe der Sensor
testen

29
komponenten
- 1 * kuman Uno Board
- 1 * USB Kabel
- 1 * Mini Brotteller
- springer Drähte
- 1 * UNO Verlängerung
- 1 * Buzzer

-1 * Flame sensor

-1 * Widerstand 10 k

Code:

int flame=A5;//Define flame interface


int Beep=8;//Define buzzer interface
int val=0;//Define numeric variables

val void setup()


{ pinMode(Beep,OUTPUT);//Define Beep as output interface
pinMode(flame,INPUT);//Define flame as input interface
[Link](9600);//Set the baud rate is 9600
}

void loop()
{
val=analogRead(flame);//Simulated values of the flame sensor
[Link](val);//Output analog value, and print it out
if(val>=600)//When the analog value is greater than 600 when the buzzer sounds

30
{ digitalWrite(Beep,HIGH);
}
else { digitalWrite(Beep,LOW);

Lektion 6 8x8 dot matrix experiment

1.8*8 dot matrix diagram

2.8*8 dot matrix physische Karte


Abbildung 8 x 8 dot matrix LED und PIN – DIAGRAMM
Soweit die entsprechenden y, x - Achse vorwärts voreingenommen sind, können Sie Led -
[Link] Beispiel, wenn Sie die LED auf der linken oberen Ecke glimmern wollen,können
X0 = 0, y0 = 1 auf der x - oder y – Achse aufgenommen
3. 8 * 8 dot matrix scan – modus
Im Allgemeinen benutzt LED die Scanartdisplay , tatsächlich nutzen wir drei Möglichkeiten (1) um

31
platz zu scannen
(2)Spalte scannen
16 * 64 = 1024Hz Zeitraum ist weniger als 1ms. wenn Sie mit der zweiten und der dritten
Art,die häufig muß mehr als 16 * 8 = 128Hz Zeitraum und weniger als 7.8ms entsprechen
den Anforderungen des persistence of Vision [Link]ßerdem fahren eine Spalte oder Zeile (8
Leds) zu einer externen Strecke ,um die derzeitige Led - licht zu verbessern.
4. Beispiele von 8 * 8 punkt - matrix – Anwendungen

wenn interne Gitterstruktur und Form wie folgende Bild ist,besteht 8x8
dot Matrix aus 64 [Link] Leuchtdiode befindet sich im Zeilen
und Spaltekreuzung, wenn eine Spalte auf null gesetzt werden,ist die
entsprechenden Diode hell, wie beim ersten Licht 9. Ist high und level 13
ist niedrig, der erste Punkt ist [Link] die erste Zeile hell ist, sind der
neun meter hohe und 13,3,4,10,6,11,15,16 entspricht, diese Pins sind
niedrigen [Link] erste Zeile wird auf die erste leichte Spalte lichten
13 ist das niedrigen niveau und 9,14,8,12,1,7,2,5) sind auf hoher Ebene,
dann die erste Spalte wird beleuchtet.
Normalerweise verwenden wir die DOT MATRIX - DISPLAY um die
chinesischen Zeichen zu zeigen,die ist ein 16 * 16 dot matrix Font - Schrift,
die so genannte 16 *, 16 ist, ist jede chinesische Zeichen in der
längsrichtung durchqueren jede der 16 Punkte in der Region [Link]
heißt, mit vier 8 * 8 Punkt - matrix bildt man eine 16: 16 dot [Link]
aus der folgenden Abbildung, "sie" ist entsprechend Licht, weil unsere
Gitter in der Spalte gering ist, und die Zeilelinie aktiv ist hoch, so zeigen,
"du - wort", das Stückcode - angaben zu anti -, nämlich alle spalten (13 bis

32
16 meter), schick (1111011101111111,0xf7,0x7f) und die erste zeile (9
meter) ein Signal zu senden, dann [Link] zweite Linie, zeigen Daten
und senden (13 bis 16 meter) 1111011101111111,0xf7,0x7f zu schicken,
und die zweite Zeile (14 meter) senden Signal [Link], solange
jeder Datensatz zeigt, dass der zeitliche Abstand kurz genug ist, die
Aussetzung des vollzugs der nutzung der Vision, so schicken Sie 16 mal
Scan - daten nach 16, sehen Sie ein "du" - wort; die zweite Art von
Methode der Daten ist matrix Signal .an der Linie der Scan wird die Spalte
aus demselben Grund bilden.ähnlich wie das Wort "du" zu illustrieren, 16
(9,14,8,12, 1,7,2,5) senden (0000000000000000,0x00,0x00) und in der
ersten Spalte (13 meter) senden, "0".auch das Abtasten der zweiten
Spalte.
wenn die Zeile schickte 16 daten spalten scannen, wird s der 16 mal "du -
wort" angezeigt

● ● ●
● ●
● ●
● ●
● ●
● ●
● ● ●

Deshalb sind die Bildung der Spalte code 00H, 00 H, 3EH, 41h, 41h, 3EH, 00 H, 00H; solange
diese Codes jeweils an die oben entsprechende Spalte schicken können, können Sie eine "0" -

33
DIGITAL – display bekommen

Schaltplan des Experiments.

Komponenten
- 1 * KUMAN Uno board
- 1 * Breadboard
- springer Drähte
- 8x8 dot matrix
- 8 * Resistor (220R)
- 1 * USB Kable
Lit 8X8 dot matrix LED a LED as follows:

*******************************************************************************
Code - Beispiele:

34
//the pin to control ROW
const int row1 = 2; // the number of the row pin 9
const int row2 = 3; // the number of the row pin 14
const int row3 = 4; // the number of the row pin 8
const int row4 = 5; // the number of the row pin 12
const int row5 = 17; // the number of the row pin 1
const int row6 = 16; // the number of the row pin 7
const int row7 = 15; // the number of the row pin 2
const int row8 = 14; // the number of the row pin 5
//the pin to control COl
const int col1 = 6; // the number of the col pin 13
const int col2 = 7; // the number of the col pin 3
const int col3 = 8; // the number of the col pin 4
const int col4 = 9; // the number of the col pin 10
const int col5 = 10; // the number of the col pin 6
const int col6 = 11; // the number of the col pin 11
const int col7 = 12; // the number of the col pin 15
const int col8 = 13; // the number of the col pin 16
void setup(){
int i = 0 ;
for(i=2;i<18;i++)
{
pinMode(i, OUTPUT);
}
pinMode(row5, OUTPUT);
pinMode(row6, OUTPUT);
pinMode(row7, OUTPUT);
pinMode(row8, OUTPUT);
for(i=2;i<18;i++) {
digitalWrite(i, LOW);
}
digitalWrite(row5, LOW);
digitalWrite(row6, LOW);
digitalWrite(row7, LOW);
digitalWrite(row8, LOW);
}
void loop(){
int i;
//the row # 1 and col # 1 of the LEDs turn on
digitalWrite(row1, HIGH);
digitalWrite(row2, LOW);
digitalWrite(row3, LOW);
digitalWrite(row4, LOW);
digitalWrite(row5, LOW);

35
digitalWrite(row6, LOW);
digitalWrite(row7, LOW);
digitalWrite(row8, LOW);
digitalWrite(col1, LOW);
digitalWrite(col2, HIGH);
digitalWrite(col3, HIGH);
digitalWrite(col4, HIGH);
digitalWrite(col5, HIGH);
digitalWrite(col6, HIGH);
digitalWrite(col7, HIGH);
digitalWrite(col8, HIGH);
delay(1000);
//turn off all
for(i=2;i<18;i++) {
digitalWrite(i, LOW);
}
delay(1000);
}

***********************************************************************

zeigen wir diesen Brief, dann ist die Position in der DOT MATRIX 1 durch

Dynamische - display

code:

#define display_array_size 8
// ascii 8x8 dot font
#define data_null 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // null char

36
#define data_ascii_A 0x02,0x0C,0x18,0x68,0x68,0x18,0x0C,0x02 /*"A",0*/
/**
**"A"
#define A { //
{0, 0, 0, 0, 0, 0, 1, 0}, //0x02
{0, 0, 0, 0, 1, 1, 0, 0}, //0x0C
{0, 0, 0, 1, 1, 0, 0, 0}, //0x18
{0, 1, 1, 0, 1, 0, 0, 0}, //0x68
{0, 1, 1, 0, 1, 0, 0, 0}, //0x68
{0, 0, 0, 1, 1, 0, 0, 0}, //0x18
{0, 0, 0, 0, 1, 1, 0, 0}, //0x0C
{0, 0, 0, 0, 0, 0, 1, 0} //0x02
}
**/
#define data_ascii_B 0x00,0x7E,0x52,0x52,0x52,0x52,0x2C,0x00 /*"B",1*/
#define data_ascii_C 0x00,0x3C,0x66,0x42,0x42,0x42,0x2C,0x00 /*"C",2*/
#define data_ascii_D 0x00,0x7E,0x42,0x42,0x42,0x66,0x3C,0x00 /*"D",3*/
#define data_ascii_E 0x00,0x7E,0x52,0x52,0x52,0x52,0x52,0x42 /*"E",4*/
#define data_ascii_F 0x00,0x7E,0x50,0x50,0x50,0x50,0x50,0x40 /*"F",5*/
#define data_ascii_G 0x00,0x3C,0x66,0x42,0x42,0x52,0x16,0x1E /*"G",6*/
#define data_ascii_H 0x00,0x7E,0x10,0x10,0x10,0x10,0x7E,0x00 /*"H",7*/
#define data_ascii_I 0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00 /*"I",8*/
// display array
byte data_ascii[][display_array_size] = {
data_null,
data_ascii_A, data_ascii_B,
data_ascii_C,
data_ascii_D,
data_ascii_E,
data_ascii_F,
data_ascii_G,
data_ascii_H,
data_ascii_I,
};
//the pin to control ROW
const int row1 = 2; // the number of the row pin 24
const int row2 = 3; // the number of the row pin 23
const int row3 = 4; // the number of the row pin 22
const int row4 = 5; // the number of the row pin 21
const int row5 = 17; // the number of the row pin 4
const int row6 = 16; // the number of the row pin 3
const int row7 = 15; // the number of the row pin 2
const int row8 = 14; // the number of the row pin 1
//the pin to control COl

37
const int col1 = 6; // the number of the col pin 20
const int col2 = 7; // the number of the col pin 19
const int col3 = 8; // the number of the col pin 18
const int col4 = 9; // the number of the col pin 17
const int col5 = 10; // the number of the col pin 16
const int col6 = 11; // the number of the col pin 15
const int col7 = 12; // the number of the col pin 14
const int col8 = 13; // the number of the col pin 13

void displayNum(byte rowNum,int colNum)


{
int j;
byte temp = rowNum;
for(j=2;j<6;j++)
{
digitalWrite(j, LOW);
}
digitalWrite(row5, LOW);
digitalWrite(row6, LOW);
digitalWrite(row7, LOW);
digitalWrite(row8, LOW);
for(j=6;j<14;j++)
{
digitalWrite(j, HIGH); }
switch(colNum)
{
case 1: digitalWrite(col1, LOW); break;
case 2: digitalWrite(col2, LOW); break;
case 3: digitalWrite(col3, LOW); break;
case 4: digitalWrite(col4, LOW); break;
case 5: digitalWrite(col5, LOW); break;
case 6: digitalWrite(col6, LOW); break;
case 7: digitalWrite(col7, LOW); break;
case 8: digitalWrite(col8, LOW); break;
default: break;
}
for(j = 1 ;j < 9; j++)
{
temp = (0x80)&(temp) ;
if(temp==0)
{
temp = rowNum<<j;
continue;
}

38
switch(j)
{
case 1: digitalWrite(row1, HIGH); break;
case 2: digitalWrite(row2, HIGH); break;
case 3: digitalWrite(row3, HIGH); break;
case 4: digitalWrite(row4, HIGH); break;
case 5: digitalWrite(row5, HIGH); break;
case 6: digitalWrite(row6, HIGH); break;
case 7: digitalWrite(row7, HIGH); break;
case 8: digitalWrite(row8, HIGH); break;
default: break;
}
temp = rowNum<<j;
}
}

void setup(){
int i = 0 ;
for(i=2;i<18;i++)
{
pinMode(i, OUTPUT);
}

for(i=2;i<18;i++) {
digitalWrite(i, LOW);
}
}
void loop(){
int t1;
int l;
int arrage;
for(arrage=0;arrage<10;arrage++)
{
for(l=0;l<512;l++)
{
for(t1=0;t1<8;t1++)
{
displayNum(data_ascii[arrage][t1],(t1+1));
}
}
}
}

39
Lektion7 aktive Summer Modul

Arduino - summer - modul


Aktiven - sprecher
Kompatibel mit pc, drucker, car - audio - system
Spezifikationen:

Spannung: 5
Farbe: schwarz - silber - grau
Paket Dimension: 77x42x13mm
Gewicht: 5

Prüfungsanforderungen

40
Arduino Kontrolle * 1

USB - Kabel * 1

Summer - X 1

Die 10.000 Meter (10.000) * 1

Connection:

Die folgende Test benutzt das Analog des Summer Frequenz.

pin10 ist die Kontrolle der Summer

Pin3 ist die Analog kontrolle, und wir nutzen 10.K Potentiometer.

Funktion: nach der Anpassung des Potentiometer können wir die Ändernung der

Summerfrequenz hören.
int speakerPin = 8;//Control horn pin
int potPin = 4;//Pin for controlling the adjustable resistor
int value = 0;
void setup() {
pinMode(speakerPin, OUTPUT);

41
}
void loop() {

value = analogRead(potPin);Read the value of the resistor pin


digitalWrite(speakerPin, HIGH);
delay(value);Adjust the time of the horn;
digitalWrite(speakerPin, LOW);
delay(value);Adjust the duration of the horn;
}

wir können durch die Potentionmeter die Zeitlange ändern, danach


können wir die Frequenz des Summer ä[Link] setzen wir einen Knopf
– Kontrolle ein,um den Summer zu kontrollieren .Jetzt können wir eine
einfache Türklingeln simulieren, wenn der Button gedrückt wird, kann der
Redner ein Ton geben.

42
Code:

const int buttonPin = 4; // Push pin;


const int speakerPin = 8; //Buzzer pin;
// variables will change:
int buttonState = 0; // Read a value of the button pin
void setup()
{
//Set the button pin for the input mode, the buzzer pin for the output mode;
pinMode(speakerPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop(){
// Read the key to an initial value, here in the circuit, I was in the default high, so the initial value is high;
buttonState = digitalRead(buttonPin);
/*If the button is high, then the buzzer does not ring;
Because I just started in the hardware circuit in the initial value is high, so the if condition was established, the
buzzer does not ring
*/
if (buttonState == HIGH) {
digitalWrite(speakerPin,LOW);

}
else {
//The value of the button here is low (also when the button is pressed).
digitalWrite(speakerPin,HIGH);
}
}

Below is use PWM to control buzzer:


Code:

int speakerPin = 8;
byte song_table[] = { 30, 30, 30, 40, 50, 60, 70, 80, 90, 100,110, 120, 130, 140,
150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 250, 240, 230, 220, 210, 200, 190, 180,
170, 160, 150, 140, 130, 120, 110, 100, 90, 80, 70, 60, 50, 40, 30, 30, 30 };
int MAX = 50;
int count = 0;
void setup() {

43
pinMode(speakerPin, OUTPUT);
}
void loop() {
analogWrite(speakerPin,song_table[count]);
count ++;
if (count > MAX) {
count = 0;
}
delay(50);
}

Lektion8 Passive Summer


Einführung

ein Warnsignal ist ein großartiges Werkzeug in ihren Experimenten, wenn


Sie etwas klingt wollen.
komponenten
- 1 * kuman - uno - Vorstand
- 1 * Brotbrett
- 1 * usb - Datenkabel
- 1 * Summer (aktiv)
- springer Drähte
Experimentelle Prinzip

Die elektronische Summer hat eine integrierten Struktur und die DC bieten
die Summer den Strom. Die Klingel sind weit in Computern, Druckern
und Kopierern, Alarmanlagen, Elektronisches Spielzeug, automotive
electronic Devices, Telefone, Zeitschalter und andere elektronische
Produkte für voice - Geräte [Link] Klingel können sowie als aktive
und passive kategorisiert werden (siehe nachstehende Abbildung).Drehen

44
Sie die Pins von zwei Klingelgesicht, das grünen Board ist eine passive
Summer, während die andere geschlossene mit einem schwarzen Band
geschlossene ist, die eine aktive Summer ist

Der Unterschied zwischen einem aktiven und passiven Summer: eine


aktive Summer hat eine eingebaute oszillierenden Quelle, so wird es sich
anhört, wenn es Strom [Link] eine passive Summer hat diese Quelle
nicht, also wird es keine Tweet geben, wenn man DC - SIGNALEN genutzt
wird; stattdessen müssen sie Squarewellen benutzen, deren Frequenz ist
zwischen 2K und 5 k .die aktive Summer ist oft teurer als die passive,
weil es mehrere eingebaute schwingenden Leitungen gibt. bei diesem
Experiment benutzen wir eine aktive Summer.

experimentelle verfahren
schritt 1: aufbau der Schaltung

45
die schematische Darstellung:

schritt 2: der Code des Kompilieren.


schritt 3: laden Sie das Phantombild des KUMAN UNO - VORSTAND
Code
// Buzzer
// buzzer make sounds
//Email:350071174@[Link]
/***********************************/
int buzzer = 12;//the pin of the active buzzer
void setup()

46
{
pinMode(buzzer,OUTPUT);//initialize the buzzer pin as an output
}
void loop()
{
unsigned char i; //define a variable
while(1)
{
//output an frequency
for(i=0;i<80;i++)
{
digitalWrite(buzzer,HIGH);
delay(1);//wait for 1ms
digitalWrite(buzzer,LOW);
delay(1);//wait for 1ms
}
//output another frequency
for(i=0;i<100;i++)
{
digitalWrite(buzzer,HIGH);
delay(2);//wait for 2ms
digitalWrite(buzzer,LOW);
delay(2);//wait for 2ms
}
}
}
/****************************************/

Arduino hat viele interaktive Werke, LICHT - UND TON – SHOW wird
häufigstehäufigsten verwendet, oben versuch man schon mit LED -
LEUCHTEN , durch das Experiment soll man Circuit Ton kennen, der
Stimme der häufigsten Komponenten ist eine Gegensprechanlage und
einen Redner. Vergleich mit den beiden ist die Summer einfacher und
leichter , deshalb benutzen wir das Experiment mit Summer.
Summer und ihr Grundsatz

(一) Einführung von Summer

die Aktion von Summer ist eine integrierte Struktur des

47
elektronischen Summer, DC versorgt den Strom, man

verbreitete die Summer in Computer, Drucker, Kopierer,

Alarm, Elektronisches Spielzeug, automotive Electronics,

Telefon, Teilzeitbeschäftigte usw. elektronische Produkte für

Soundgeräte.

(二) Summer gliedert sich in zwei Arten von


piezoelektrischen Summer und elektromagnetischen
Summer.
(三) Summer - grafiken Symbol in der Schaltung mit dem
Buchstaben "H" oder "HA" (der alte Standard "FM",
"LB", "JD" usw.).
(二)Struktur der Grundsatz von Summer
(四) der piezoelektrische Summer besteht hauptsächlich
aus einem multi - harmonische Oszillator, ein gewisse
summen Stück, eine impedanzanpassung Gerät , eine
resonanz – Box und eine Muschel .
die multi - harmonischen Oszillators besteht aus einem

Transistor oder eine integrierte Schaltung, wenn der Strom

eingeschaltet ist, wird die 1,5 -15v DC [Link]

multi - harmonische Oszillator wird gespielt und das

Audiosignal des 1,5 - 2.5KHZ ist die Produktion und die

Impedanzanpassung des Gerät fährt der piezo - summer zu

48
klingen.

Das Material des piezoelektrischen Summen besteht aus

Bleibirkonium oder magnesium säure piezoelektrische

Keramik ,auf beiden Seiten der Keramik – blatt sind

Silber-elektrode, und dann wurde der Summer nach der

Polarisierung rostfrei­stalilwand und aging treatment

gemacht.

(五) Die elektromagnetische Summer besteht aus einem

Oszillator, ein Elektro - band, ein Magnet, eine vibrierende

Membran und eine äußere Hülle, usw. die Audio - signal der

Oszillator ist mit einem elektromagnetischen Spulen

verbundet, die elektromagnetische Spulen erzeugt ein

magnetisches Feld.

was ist der unterschied zwischen aktiven und passiven


summer

Die "Quelle" ist keine Energiequelle, die bezieht sich aber


auf die Quelle der Schock.D.h,die Quelle der aktiven
Summer hat nach innen noch einer Quelle, solange es ein
Strom gibt, wird die Quelle aufgerufen.
Die Quelle ist nicht die Quelle von innen Energie, also, wenn
Sie eine DC- Signal benutzen, kann der Summer nicht

49
[Link] müssen mit Hilfe der 2k - 5k - square -
Wave ,um den Summer zu twittern.
Aktive Summer ist oft teurer als die passive, weil es
mehrere Schock gibt -

Die Vorteile des passiven Summer: [Link], [Link] Stimme


kann kontrollierbar sein", ein telegramm geschickt raschig" -
[Link] einigen besonderen Fällen führte ein MUX aktive
Summer ,der Vorteile der Programmsteuerung ist
bequem.

Arduino referenzquelle Programm:


int buzzer=8;//Set the number of IO pins to control the buzzer
void setup()
{
pinMode(buzzer,OUTPUT);//Set the digital IO foot mode, OUTPUT for the output
}
void loop()
{
unsigned char i,j;// defined variable
while(1)
{
for(i=0;i<80;i++)//Output a frequency of sound
{
digitalWrite(buzzer,HIGH);//Hair sound
delay(1);//delay 1ms
digitalWrite(buzzer,LOW);//No sound
delay(1);//delay 1ms
}
for(i=0;i<100;i++)//Output another frequency of sound
{
digitalWrite(buzzer,HIGH);//Hair sound
delay(2);//delay 2ms
digitalWrite(buzzer,LOW);//No sound

50
delay(2);//delay 2ms
}
}
}
Laden Sie das Programm, der Summerexperiment ist beendet.

Lektion9 liquid crystal - experiment

Dieser Test nutzt Man die Arduino direktantrieb 1602 liquid crystal display Text

1602 liquid Crystal in der Anwendung ist sehr breit, Am Anfang benutzt man1602

liquid crystal mit HD44780 Kontroller. Jetzt wird die 1602 Module grundsätzlich

mit einem Mompatibel IC bei jeder Hersteller benutzt, also die Eigenschaften sind

im wesentlich identisch.

die wichtigsten technischen Parameter 1602LCD

display - Kapazität 16 x 2 ;

chip betriebsspannung 4,5 - 5,5v.

die strömung ist 2.0mA (5.0v);

die besten Betriebsspannung des Moduls ist 5.0v;

schriftgröße 2,95 x 4.35 (W* H) mm.

1602 LCD interface - Definition

51
:Schnittstellen - spezifikatio

1 ein Modul für die Stromversorgung ist eine Gruppe von Backlight .dei

Stromversorgung ist in der Regel [Link] diesem Test wird die

Hintergrundbeleuchtung mit 3,3v Stromversorgung funktionieren.

2 、 VL ist ein Regulator der Kontrast der Pin . die Serie ist nicht Größer als 5K

[Link] Experiment wird die 1K OHM Widerstände benutzt, um die

hohen Potenzial und geringen Potenzial zu verbinden, nach GND ist die mit

geringerem potenzial Verbindung reihe 1K OHM.

3 、 RS ist viel liquid Crystal auf der Pin,das ist der Befehl ,die Pin - niveau der

ausgewählte Pin ist hoch, wenn die Daten zeigen, werden die Daten durchgeführt .

4 、RW ist auch eine menge Liquidcrystal auf der Pin ,die ist die Wahl von Lesen und

Schreiben. die Pin - niveau ist hoch ist , dass die Operation für die geringe Zeit

schreiben .

5 、E hat auch viel liquid crystal Modul. dieser Pin ist in der Regel in den bus

Signal der Stabilität nach den Zeichen für einen positiven Impuls aufgefallen, in dieser
52
Pin hat die gelesenen Daten das hohe niveau, wenn der Bus nicht gestattet ist..

6 、 D7 – D0 8 hat zwei parallele Bus, um die Befehle und Daten zu übermitteln.

7 、BLA ist die lichtquelle Kathode,BLK ist hinten lichtquelle Kathode.

Die grundlegende Dunktionsweise des liquid Crystal von 1602 gliedert sich in

folgende vier Kategorien:


die Figur ist 1602 LCD- physische Karte

Die direkte Kommunikation von 1602 mit Arduino sind nach der Produkt –

beschreibung in acht Verbindungsmethode und 4 Verbindungsmethode aufgeteilt,


53
Zunächst machen wir mit dem 8 - Verbindung methode für das Experiment.

Code wie folgt

54
int DI = 12;
int RW = 11;
int DB[] = {3, 4, 5, 6, 7, 8, 9, 10};//Use an array to define the pins needed by the bus
int Enable = 2;

void LcdCommandWrite(int value) {


// Define all pins
int i = 0;
for (i=DB[0]; i <= DI; i++) //Bus assignment
{
digitalWrite(i,value & 01);//Because the 1602 liquid crystal signal recognition is D7-D0 (not D0-D7), here is used
to reverse the signal.
value >>= 1;
}
digitalWrite(Enable,LOW);
delayMicroseconds(1);
digitalWrite(Enable,HIGH);
delayMicroseconds(1); //delay 1ms
digitalWrite(Enable,LOW);
delayMicroseconds(1); // delay 1ms
}

void LcdDataWrite(int value) {


// Define all pins
int i = 0;
digitalWrite(DI, HIGH);
digitalWrite(RW, LOW);
for (i=DB[0]; i <= DB[7]; i++) {
digitalWrite(i,value & 01);
value >>= 1;
}
digitalWrite(Enable,LOW);
delayMicroseconds(1);
digitalWrite(Enable,HIGH);
delayMicroseconds(1);
digitalWrite(Enable,LOW);
delayMicroseconds(1); //Delay 1ms
}

void setup (void) {


int i = 0;
for (i=Enable; i <= DI; i++) {
pinMode(i,OUTPUT);
}

55
delay(100);
// After a short pause, LCD
// For LCD control needs
LcdCommandWrite(0x38); // Set to 8-bit interface, 2 line display, 5x7 text size
delay(64);
LcdCommandWrite(0x38); // Set to 8-bit interface, 2 line display, 5x7 text size
delay(50);
LcdCommandWrite(0x38); //Set to 8-bit interface, 2 line display, 5x7 text size
delay(20);
LcdCommandWrite(0x06); // Input mode setting
// Auto increment, no display shift
delay(20);
LcdCommandWrite(0x0E); // Display settings
// Turn on the display, the cursor shows, no flicker
delay(20);
LcdCommandWrite(0x01); // The screen is empty, the cursor position is zero
delay(100);
LcdCommandWrite(0x80); // Display settings
// Turn on the display, the cursor shows, no flicker
delay(20);
}

void loop (void) {


LcdCommandWrite(0x01); // The screen is empty, the cursor position is zero
delay(10);
LcdCommandWrite(0x80+3);
delay(10);

LcdDataWrite('W');
LcdDataWrite('e');
LcdDataWrite('l');
LcdDataWrite('c');
LcdDataWrite('o');
LcdDataWrite('m');
LcdDataWrite('e');
LcdDataWrite(' ');
LcdDataWrite('t');
LcdDataWrite('o');
delay(10);
LcdCommandWrite(0xc0+1); // Defines the cursor position as second rows and second positions
delay(10);
LcdDataWrite('g');
LcdDataWrite('e');
LcdDataWrite('e');

56
LcdDataWrite('k');
LcdDataWrite('-');
LcdDataWrite('w');
LcdDataWrite('o');
LcdDataWrite('r');
LcdDataWrite('k');
LcdDataWrite('s');
LcdDataWrite('h');
LcdDataWrite('o');
LcdDataWrite('p');
delay(5000);
LcdCommandWrite(0x01); // The screen is empty, the cursor position is zero
delay(10);
LcdDataWrite('I');
LcdDataWrite(' ');
LcdDataWrite('a');
LcdDataWrite('m');
LcdDataWrite(' ');
LcdDataWrite('h');
LcdDataWrite('o');
LcdDataWrite('n');
LcdDataWrite('g');
LcdDataWrite('y');
LcdDataWrite('i');
delay(3000);
LcdCommandWrite(0x02); //Set the pattern for the new text to replace the old text, no new text display the
same place
delay(10);
LcdCommandWrite(0x80+5); //Defines the cursor position as the first line of the sixth position
delay(10);
LcdDataWrite('t');
LcdDataWrite('h');
LcdDataWrite('e');
LcdDataWrite(' ');
LcdDataWrite('a');
LcdDataWrite('d');
LcdDataWrite('m');
LcdDataWrite('i');
LcdDataWrite('n');
delay(5000);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

57
////////
int DI = 12;
int RW = 11;
int DB[] = {3, 4, 5, 6, 7, 8, 9, 10};//Use an array to define the pins needed by the bus
int Enable = 2;

void LcdCommandWrite(int value) {


// Define all pins
int i = 0;
for (i=DB[0]; i <= DI; i++) //Bus assignment
{
digitalWrite(i,value & 01);//Because the 1602 liquid crystal signal recognition is D7-D0 (not D0-D7), here is
used to reverse the signal.
value >>= 1;
}
digitalWrite(Enable,LOW);
delayMicroseconds(1);
digitalWrite(Enable,HIGH);
delayMicroseconds(1); // delay1ms
digitalWrite(Enable,LOW);
delayMicroseconds(1); // delay 1ms
}

void LcdDataWrite(int value) {


// Define all pins
int i = 0;
digitalWrite(DI, HIGH);
digitalWrite(RW, LOW);
for (i=DB[0]; i <= DB[7]; i++) {
digitalWrite(i,value & 01);
value >>= 1;
}
digitalWrite(Enable,LOW);
delayMicroseconds(1);
digitalWrite(Enable,HIGH);
delayMicroseconds(1);
digitalWrite(Enable,LOW);
delayMicroseconds(1); //delay 1ms
}

void setup (void) {


int i = 0;
for (i=Enable; i <= DI; i++) {
pinMode(i,OUTPUT);

58
}
delay(100);
// After a short pause, LCD
// For LCD control needs
LcdCommandWrite(0x38); // Set to 8-bit interface, 2 line display, 5x7 text size
delay(64);
LcdCommandWrite(0x38); // Set to 8-bit interface, 2 line display, 5x7 text size
delay(50);
LcdCommandWrite(0x38); //Set to 8-bit interface, 2 line display, 5x7 text size
delay(20);
LcdCommandWrite(0x06); //Input mode setting
// Auto increment, no display shift
delay(20);
LcdCommandWrite(0x0E); // Display settings
// Turn on the display, the cursor shows, no flicker
delay(20);
LcdCommandWrite(0x01); //The screen is empty, the cursor position is zero
delay(100);
LcdCommandWrite(0x80); //Display settings
// Turn on the display, the cursor shows, no flicker
delay(20);
}

void loop (void) {


LcdCommandWrite(0x01); // The screen is empty, the cursor position is zero
delay(10);
LcdCommandWrite(0x80+3);
delay(10);
/ / write a welcome message
LcdDataWrite('W');
LcdDataWrite('e');
LcdDataWrite('l');
LcdDataWrite('c');
LcdDataWrite('o');
LcdDataWrite('m');
LcdDataWrite('e');
LcdDataWrite(' ');
LcdDataWrite('t');
LcdDataWrite('o');
delay(10);
LcdCommandWrite(0xc0+1); // Defines the cursor position as second rows and second positions.
delay(10);
LcdDataWrite('k');
LcdDataWrite('u');

59
LcdDataWrite('m');
LcdDataWrite('a');
LcdDataWrite('n');
LcdDataWrite('A');
LcdDataWrite('r');
LcdDataWrite('d');
LcdDataWrite('u');
LcdDataWrite('i');
LcdDataWrite('n');
LcdDataWrite('o');
LcdDataWrite('p');
delay(5000);
LcdCommandWrite(0x01); // The screen is empty, the cursor position is zero
delay(10);
LcdDataWrite('I');
LcdDataWrite(' ');
LcdDataWrite('a');
LcdDataWrite('m');
LcdDataWrite(' ');
LcdDataWrite('k');
LcdDataWrite('u');
LcdDataWrite('m');
LcdDataWrite('a');
LcdDataWrite('n');
delay(3000);
LcdCommandWrite(0x02); /*Set the pattern for the new text to replace the old text, no new text display the
same place*/
delay(10);
LcdCommandWrite(0x80+5); //Defines the cursor position as the first line of the sixth position
delay(10);
LcdDataWrite('t');
LcdDataWrite('h');
LcdDataWrite('e');
LcdDataWrite(' ');
LcdDataWrite('a');
LcdDataWrite('d');
LcdDataWrite('m');
LcdDataWrite('i');
LcdDataWrite('n');
delay(5000);
}

4 Stück verbindungsmethode

Normaleweise wenn die 8 - bit - Zugang zu den grundlegenden Arduino digital Hafen
60
voll ist, können wir die 4 bit Zugang Methode benutzen.

Die hardware Verbinden von 4 Stück Verbindungsmethode ist gezeigt wie unten

Nach der Hardware – verbindung laden wir den folgende Code hoch, um das

control Panel zu sehen.

int LCD1602_RS=12;
int LCD1602_RW=11;
int LCD1602_EN=10;
int DB[] = { 6, 7, 8, 9};
char str1[]="Welcome to";

61
char str2[]="geek-workshop";
char str3[]="this is the";
char str4[]="4-bit interface";

void LCD_Command_Write(int command)


{
int i,temp;
digitalWrite( LCD1602_RS,LOW);
digitalWrite( LCD1602_RW,LOW);
digitalWrite( LCD1602_EN,LOW);

temp=command & 0xf0;


for (i=DB[0]; i <= 9; i++)
{
digitalWrite(i,temp & 0x80);
temp <<= 1;
}

digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);

temp=(command & 0x0f)<<4;


for (i=DB[0]; i <= 10; i++)
{
digitalWrite(i,temp & 0x80);
temp <<= 1;
}

digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
}

void LCD_Data_Write(int dat)


{
int i=0,temp;
digitalWrite( LCD1602_RS,HIGH);
digitalWrite( LCD1602_RW,LOW);
digitalWrite( LCD1602_EN,LOW);

temp=dat & 0xf0;


for (i=DB[0]; i <= 9; i++)
{

62
digitalWrite(i,temp & 0x80);
temp <<= 1;
}

digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);

temp=(dat & 0x0f)<<4;


for (i=DB[0]; i <= 10; i++)
{
digitalWrite(i,temp & 0x80);
temp <<= 1;
}

digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
}

void LCD_SET_XY( int x, int y )


{
int address;
if (y ==0) address = 0x80 + x;
else address = 0xC0 + x;
LCD_Command_Write(address);
}

void LCD_Write_Char( int x,int y,int dat)


{
LCD_SET_XY( x, y );
LCD_Data_Write(dat);
}

void LCD_Write_String(int X,int Y,char *s)


{
LCD_SET_XY( X, Y ); //Set address
while (*s) //Write string
{
LCD_Data_Write(*s);
s ++;
}
}

63
void setup (void)
{
int i = 0;
for (i=6; i <= 12; i++)
{
pinMode(i,OUTPUT);
}
delay(100);
LCD_Command_Write(0x28);//4 lines and 2 lines 5x7
delay(50);
LCD_Command_Write(0x06);
delay(50);
LCD_Command_Write(0x0c);
delay(50);
LCD_Command_Write(0x80);
delay(50);
LCD_Command_Write(0x01);
delay(50);

void loop (void)


{
LCD_Command_Write(0x01);
delay(50);
LCD_Write_String(3,0,str1);/First lines, fourth addresses
delay(50);
LCD_Write_String(1,1,str2);/Second lines, second addresses
delay(5000);
LCD_Command_Write(0x01);
delay(50);
LCD_Write_String(0,0,str3);
delay(50);
LCD_Write_String(0,1,str4);
delay(5000);

}
Common view copy code to save code print code
int LCD1602_RS=12;
int LCD1602_RW=11;
int LCD1602_EN=10;
int DB[] = { 6, 7, 8, 9};
char str1[]="Welcome to";
char str2[]="KUMAN Arduino";

64
char str3[]="this is the";
char str4[]="4-bit interface";

void LCD_Command_Write(int command)


{
int i,temp;
digitalWrite( LCD1602_RS,LOW);
digitalWrite( LCD1602_RW,LOW);
digitalWrite( LCD1602_EN,LOW);

temp=command & 0xf0;


for (i=DB[0]; i <= 9; i++)
{
digitalWrite(i,temp & 0x80);
temp <<= 1;
}

digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);

temp=(command & 0x0f)<<4;


for (i=DB[0]; i <= 10; i++)
{
digitalWrite(i,temp & 0x80);
temp <<= 1;
}

digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
}

void LCD_Data_Write(int dat)


{
int i=0,temp;
digitalWrite( LCD1602_RS,HIGH);
digitalWrite( LCD1602_RW,LOW);
digitalWrite( LCD1602_EN,LOW);

temp=dat & 0xf0;


for (i=DB[0]; i <= 9; i++)
{
digitalWrite(i,temp & 0x80);

65
temp <<= 1;
}

digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);

temp=(dat & 0x0f)<<4;


for (i=DB[0]; i <= 10; i++)
{
digitalWrite(i,temp & 0x80);
temp <<= 1;
}

digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
}

void LCD_SET_XY( int x, int y )


{
int address;
if (y ==0) address = 0x80 + x;
else address = 0xC0 + x;
LCD_Command_Write(address);
}

void LCD_Write_Char( int x,int y,int dat)


{
LCD_SET_XY( x, y );
LCD_Data_Write(dat);
}

void LCD_Write_String(int X,int Y,char *s)


{
LCD_SET_XY( X, Y ); //Set address
while (*s) / /Write string
{
LCD_Data_Write(*s);
s ++;
}
}

void setup (void)

66
{
int i = 0;
for (i=6; i <= 12; i++)
{
pinMode(i,OUTPUT);
}
delay(100);
LCD_Command_Write(0x28);//4 lines and 2 lines 5x7
delay(50);
LCD_Command_Write(0x06);
delay(50);
LCD_Command_Write(0x0c);
delay(50);
LCD_Command_Write(0x80);
delay(50);
LCD_Command_Write(0x01);
delay(50);

void loop (void)


{
LCD_Command_Write(0x01);
delay(50);
LCD_Write_String(3,0,str1);//First lines, fourth addresses from
delay(50);
LCD_Write_String(1,1,str2);//Second lines, second addresses from
delay(5000);
LCD_Command_Write(0x01);
delay(50);
LCD_Write_String(0,0,str3);
delay(50);
LCD_Write_String(0,1,str4);
delay(5000);

67
Lektion 10 74HC595 Experiment
Einfach gesagt sind 74 HC595 die Vertreibung von 8 - bit - register , eine Erinnerung,

und drei staatliche Leistung .Wir benutzen es, um über 8 LED – leuchten zu

kontrollieren. Viele Freunde wollen die Frage stellen, Warum sollten wir durch

74HC595 das Licht zu kontrollieren?Wenn wir einfach ein 8 Licht kontrollen

wollen, benutzen wir ein Arduino durch die Anzahl derI/O?? Die Antwort ist acht,

aber unsere Arduino 168 haben mehrere I/O- port?? und analoges Interface ist 20.

die acht Lichter besetzten zu viele Ressourcen, durch 74HC595 werden wir die

Verwendung der zahl der I/O- hafen [Link] 74HC595 verwenden wir drei

digital – I/O- Port über 8 LED - leuchten.wäre es wundervoll, nicht wahr?

hier sind die Komponenten, die wir brauchen.


In 74HC595 chip *1

The red line M5 LED*4

The green line M5 LED*4

220 ohm line resistance *8

Bread board *1

Bread board jumper *1 tie

. wir sind bereit,nach dem unten Schema den Circut zu verbinden.

68
Anmerkung: Die Föße vonOE 74HC595 füße, die verbindet mit der GND.

69
Diese Schaltung ist scheinbar kompliziert, nach sorgfältiger Analyse können wir

sehr leicht eine Bezugnahme finden.

die folgenden sind die Quelle - programm:

int data = 2;//74HC595 14 pin data input pin SI

int clock = 5;//74HC595 11 pin clock line SCK

int latch = 4;//74hc595 12 pin output memory latch line RCK

int ledState = 0;

const int ON = HIGH;

const int OFF = LOW;

void setup()

pinMode(data, OUTPUT);
70
pinMode(clock, OUTPUT);

pinMode(latch, OUTPUT);

void loop()

for(int i = 0; i < 256; i++)

updateLEDs(i);

delay(500);

void updateLEDs(int value)

digitalWrite(latch, LOW);//

shiftOut(data, clock, MSBFIRST, ~value);//Serial data output, high priority

digitalWrite(latch, HIGH);//Latch

Sie sehen 8 Lampen schöne blinzen.

Die experimentelle Phänomen ist zu sehen, wie die acht bit LED - display acht bit

binärzahl, loop selbst plus 1

Lektion 11 digital - display - Experiment


71
Die Röhre ist eine gemeinsame digitale Darstellung am Alltag, zum Beispiel:

elektro - Ofen, Waschmaschine, Wasser temperatur – Anzeige durch Sonnenenergie,

die elektronische Uhr...und so [Link] digital – Display ist eine halbleiter - light -

emitting Geräte, die grundlegende Einheit ist die Leuchtdiode, Nach der Anzahl der

Segmente unterteilt die digital - Röhre sich in sieben segment digital- Tube und acht

digital – Tube. Vergleich mit sieben digital - Segment hat acht digital - Röhre eine

leuchtdiode Einheit (mehr als ein dezimalpunkt).Nach Angaben der leuchtdioden

Einheit ist Verbindung - modus in gemeinsamen Anode und kathode nixie Röhre

[Link] Yang - digital - röhre bezieht sich auf die leuchtdioden Anode ,die

zusammen eine gemeinsame Anode (KOM) digital - Anode in der Klageschrift

[Link] öffentlichen KOMerhielt + 5v. Wenn eine Leuchtdiode unter niedrigen

Strom ist, ist das entsprechende Feld nicht [Link] kathode digital -

führten zu einem gemeinsamen Kathode (KOM) digitale [Link]

kathode digitale Rohr sind in der Klageschrift zu KOM zu boden GND, wenn ein

Gebiet der leuchtdiode Anode eine hohe Leistung hat, wird das entsprechende Feld

angezündet .wenn ein Gebiet der Anode low power hat, wird das entsprechende Feld

nicht rosig sein.

72
Jede digitalen Tube besteht aus die Leuchtdioden, wenn man den gleichen

Leuchtdiode benutzt, soll man den aktuellen grenzwert Widerstand verbinden,

ansonsten wird die Leuchtdioden [Link] gemeinsame Kathode digitale Tube

wird im Experiment beuntzt, die gemeinsame Kathode digitale Rohr soll in der

klageschrift mit GND verbinden, wenn die Leuchtdiode von einem Gebiet niederige

Power zeigt , weist das entsprechende Feld

wir bereiten die experimentellen Komponenten vor.

acht segment Digitale) * 1

220 OHM Leitungswiderstand * 8.

Brot board * 1 Brot board springer * 1 unentschieden

wir verweisen auf die physische verbindung,um die Diagramm nach dem Shema zu

verbinden.

73
Digitale Kontrolle der insgesamt sieben Abschnitte zeigen die Anzahl der Segmente,

Wenn die digitale Anzeige zeigt , gibt es die entsprechenden zeitraum Licht .Zum

Beispiel: wenn die digital - display - digital 1 zeitgt , werden C;B abschnitt

beleuchtet .Im Hauptprogramm werden jeder 2S eine Reihe von 1 bis 8 digitalen

anzeigen.

eferenz - quellcode:

//Set pin control all digital IO

int a=7;//Definition of digital interface 7 connected a segment digital tube

int b=6;// Definition of digital interface 6 connected B segment digital tubeint c=5;//

Definition of digital interface 5 connected C segment digital tube


74
int d=10;// Definition of digital interface 10 connected D segment digital tube

int e=11;// Definition of digital interface 11 connected e segment digital tube

int f=8;// Definition of digital interface 8 connected f segment digital tube

int g=9;// Definition of digital interface 9 connected g segment digital tube

int dp=4;// Definition of digital interface 4 connected DP segment digital tube

void digital_0(void) //Display number 5

unsigned char j;

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

digitalWrite(e,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,LOW);

digitalWrite(dp,LOW);

void digital_1(void) //Display number 1

unsigned char j;

digitalWrite(c,HIGH);//Digital interface to the 5 pin high, lit C segment

digitalWrite(b,HIGH);//Light B segment

75
for(j=7;j<=11;j++)//Extinguish the rest

digitalWrite(j,LOW);

digitalWrite(dp,LOW);//Put out the DP segment of the decimal point

void digital_2(void) //Display number 2

unsigned char j;

digitalWrite(b,HIGH);

digitalWrite(a,HIGH);

for(j=9;j<=11;j++)

digitalWrite(j,HIGH);

digitalWrite(dp,LOW);

digitalWrite(c,LOW);

digitalWrite(f,LOW);

void digital_3(void) //Display number3

digitalWrite(g,HIGH);

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

76
digitalWrite(dp,LOW);

digitalWrite(f,LOW);

digitalWrite(e,LOW);

void digital_4(void) //Display number 4

digitalWrite(c,HIGH);

digitalWrite(b,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

digitalWrite(dp,LOW);

digitalWrite(a,LOW);

digitalWrite(e,LOW);

digitalWrite(d,LOW);

void digital_5(void) //Display number 5

unsigned char j;

digitalWrite(a,HIGH);

digitalWrite(b, LOW);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

77
digitalWrite(e, LOW);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

digitalWrite(dp,LOW);

void digital_6(void) //Display number 6

unsigned char j;

for(j=7;j<=11;j++)

digitalWrite(j,HIGH);

digitalWrite(c,HIGH);

digitalWrite(dp,LOW);

digitalWrite(b,LOW);

void digital_7(void) //Display number7

unsigned char j;

for(j=5;j<=7;j++)

digitalWrite(j,HIGH);

digitalWrite(dp,LOW);

for(j=8;j<=11;j++)

digitalWrite(j,LOW);

78
}

void digital_8(void) //Display number 8

unsigned char j;

for(j=5;j<=11;j++)

digitalWrite(j,HIGH);

digitalWrite(dp,LOW);

void digital_9(void) //Display number 5

unsigned char j;

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

digitalWrite(e, LOW);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

digitalWrite(dp,LOW);

void setup()

79
int i;//defined variable

for(i=4;i<=11;i++)

pinMode(i,OUTPUT);//Set the 11 to 4 pin for the output mode

void loop()

while(1)

digital_0();//Display number 1

delay(1000);//delay 1s

digital_1();//Display number 1

delay(1000);//delay 1s

digital_2();//Display number2

delay(1000); //delay 1s

digital_3();//Display number3

delay(1000); //delay 1s

digital_4();//Display number 4

delay(1000); //delay 1s

digital_5();//Display number 5

delay(1000); //delay 1s

digital_6();//Display number 6

delay(1000); //delay 1s

80
digital_7();//Display number7

delay(1000); //delay 1s

digital_8();//Display number 8

delay(1000); //delay 1s

digital_9();//Display number 9

delay(1000); //delay 1s

experimentelle Phänomen: digital - display - 0 - 9) anzeigen.

Lektion 12 vier bit digital -

Im diesen experiment wird Arduino insgesamt vier bit Digitalen fahren .um die digital

– Röhre zu fahren ist die Strömungswiderstand unerlässlich, die derzeitige obergrenze

Widerstand hat zwei Arten der Verbindung: 4 [Link] Verbindung braucht

wenigen Widerstand, aber die digitalen Helligkeit wird nicht gleiche sein, 8 ist der

81
[Link] Methode ist die 8 -PIN, die Helligkeit sind gleich, aber gibt es mehr

Widerstand 220 100 8 OHMwiderstände, also benutzen wir 220 statt 10. 0 OHM hat

relativ höcher Helligkeit.

4 digitale Tube haben insgesamt 12 Nadeln, die Nachkommastellen steht vor dem Ende,

Nummer 1 steht an der unteren rechten Ecke , die andere Pins steht gegen den

Uhrzeigersinn .Die Nummer 12 Pin steht an der oberen rechten Ecke .

die folgenden figuremanual digitaler Tube

82
das Folgende ist eine Hardware - schaltplan

83
Hier ist das programm.

//display 1234
//Set cathode interface
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 6;
int g = 7;
int dp = 8;
//Set anode interface
int d4 = 9;
int d3 = 10;
int d2 = 11;
int d1 = 12;
//Set variable
long n = 1230;
int x = 100;
int del = 55; //Here to fine tune the clock
void setup()
{
pinMode(d1, OUTPUT);
pinMode(d2, OUTPUT);
pinMode(d3, OUTPUT);

84
pinMode(d4, OUTPUT);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(dp, OUTPUT);
}
/////////////////////////////////////////////////////////////
void loop()
{
Display(1, 1);
Display(2, 2);
Display(3, 3);
Display(4, 4);

}
///////////////////////////////////////////////////////////////
void WeiXuan(unsigned char n)//
{
switch(n)
{
case 1:
digitalWrite(d1,LOW);
digitalWrite(d2, HIGH);
digitalWrite(d3, HIGH);
digitalWrite(d4, HIGH);
break;
case 2:
digitalWrite(d1, HIGH);
digitalWrite(d2, LOW);
digitalWrite(d3, HIGH);
digitalWrite(d4, HIGH);
break;
case 3:
digitalWrite(d1,HIGH);
digitalWrite(d2, HIGH);
digitalWrite(d3, LOW);
digitalWrite(d4, HIGH);
break;
case 4:
digitalWrite(d1, HIGH);

85
digitalWrite(d2, HIGH);
digitalWrite(d3, HIGH);
digitalWrite(d4, LOW);
break;
default :
digitalWrite(d1, HIGH);
digitalWrite(d2, HIGH);
digitalWrite(d3, HIGH);
digitalWrite(d4, HIGH);
break;
}
}
void Num_0()
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
digitalWrite(dp,LOW);
}
void Num_1()
{
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(dp,LOW);
}
void Num_2()
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
digitalWrite(dp,LOW);

86
}
void Num_3()
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
digitalWrite(dp,LOW);
}
void Num_4()
{
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp,LOW);
}
void Num_5()
{
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp,LOW);
}
void Num_6()
{
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp,LOW);

87
}
void Num_7()
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(dp,LOW);
}
void Num_8()
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp,LOW);
}
void Num_9()
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp,LOW);
}
void Clear() // Clear the screen
{
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(dp,LOW);

88
}
void pickNumber(unsigned char n)//Choose the number of
{
switch(n)
{
case 0:Num_0();
break;
case 1:Num_1();
break;
case 2:Num_2();
break;
case 3:Num_3();
break;
case 4:Num_4();
break;
case 5:Num_5();
break;
case 6:Num_6();
break;
case 7:Num_7();
break;
case 8:Num_8();
break;
case 9:Num_9();
break;
default:Clear();
break;
}
}
void Display(unsigned char x, unsigned char Number)//Show that x is the coordinate, Number is the number
{
WeiXuan(x);
pickNumber(Number);
delay(1);
Clear() ; //Vanishing
}

Kopieren Sie den folgenden Code zum Download der Systemsteuerung , um den Effekt

zu sehen.

89
Experimentelle Ergebnisse für Digital - display - 1234.

Hinweis: bei der Verbindung braucht man Geduld, Vorsichtigkeit und nicht einmal die

falsche [Link] Sie verstümmelt, überprüfen Sie zunächst die Leitung.

Lektion 13 hit - modul

90
Auf Temperatur - Modul können Sie UNO R3 PIN 13 verbinden.

Wenn man PIN- 13 führte, verbindet man HItModul die [Link] es auf Modul

test einen Treffen gibt, kann die LED hell geworden.

Diagram:

Komponenten
-1 * KUMAN Uno board
- 1 * USB data cable
- 1 * Tap on a module
- 1 * Jumper wires

91
Code:
int Led=13;//Define LED interface
int Shock=3//Define vibration sensor interface
int val;//Define numeric variable val
void setup()
{
pinMode(Led,OUTPUT);//Define LED as output interface
pinMode(Shock,INPUT);//Define vibration sensor as output interface
}
void loop()
{
val=digitalRead(Shock);//Read the value of the value of the digital interface 3 to val
if(val==HIGH)//When the vibration sensor detects the signal, the LED flashes
{
digitalWrite(Led,LOW);
}
else
{
digitalWrite(Led,HIGH);
}
}

Lektion 14 Tilt - schalter


Einführung

die verwendeten Kippen Tauschen ist ein Ball,der mit einem Metall - ball rein [Link]

wird den kleinen Neigungswinkel ermittelt.

Komponenten

- 1 * kuman - uno - vorstand

- 1 * usb - datenkabel

- 1 * tilt - schalter

- mehrere springer drähte

92
Experimental Principle

experimentelle Prinzip

Das Prinzip ist ganz [Link] der Schalter in einem bestimmten Winkel kippt,

kullert den Ball rein und berührt die zwei Kontakte, die mit der außerhalb Pins

verbindet sind, damit die Schaltungen geöffnet [Link] wird der

Ball fern von den Kontakten bleiben und die Schaltkreise passiert.

experimentelle Verfahren

schritt 1: Aufbau der Schaltung

93
schritt 2: Zusammenstellung der Code

schritt 3: Laden Sie die Skizze der Kuman uno - vorstand

Kippen Sie den Schalter und verbinden Sie den mit PIN- 13 auf Kuman UNO Board,und die LED
werden leuchten.

94
Code
//tilt switch
//tilt the switch, and the LED attached to pin 13 on SunFounder Uno board will light up.
//tilt switch attach to pin2
//Email: support@[Link]
//Website: [Link]
/*****************************************/
const int ledPin = 13;//the led attach to
void setup()
{
pinMode(ledPin,OUTPUT);//initialize the ledPin as an output
pinMode(2,INPUT);//set pin2 as INPUT
digitalWrite(2, HIGH);//set pin2 as HIGH
}
/******************************************/
void loop()
{
int digitalVal = digitalRead(2);//Read the value of pin2
if(HIGH == digitalVal)//if tilt switch is not breakover
{
digitalWrite(ledPin,LOW);//turn the led off
}
else ////if tilt switch breakover
{
digitalWrite(ledPin,HIGH);//turn the led on

95
}
}
/*****************/

lesktion15 ultraschall - entfernungen von modul


Dieses Modul hat eine stabile Leistung und hervorragende Messbereich . Verglich

mit den ausländischen SRF05, SRF02 und anderen ultraschall Modul hat dieses Modul

höher Präzision , der Blind - bereich (2 cm) ist extrem nahe und stabile .Deshalb

wird das Produkt erfolgreich auf den Markt gebracht.

Experimentelle bauteile

arduino control board * 1

usb - linie 1

Ultrasonic *1

Die wichtigsten technischen Parameter: der Einsatz von Spannung: DC5v, weniger

als 2mA statischen aktuellen Produktion, Hohe 5V, produktion: unten 0v, Induktion

winkel: nicht mehr als 15 Grad ,Prüfung- bereich: 2cm-450cm, die hohe Genauigkeit

bis zu 0.2cm

Zusammenhang Modus VCC, Trigonometrie (Kontrolle), Echo (Empfänger), GND

96
Note: 1 das Modul soll nicht berechnet verbinden, wenn Sie
zusammenhangen wollen ,soll das erste Modul des GND verbinden,
sonst wird es den normalen Betrieb des Moduls stören.

2. Die Fläche der gemessenen Objekt ist nicht weniger als 0,5
Quadratmeter und das Flugzeug so weit wie möglich fliegen, da das
Ergebnisse der Messung gestört wird.

programm - quellcode:
const int TrigPin = 2;
const int EchoPin = 3;
float cm;
void setup()
{
[Link](9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop()
{

97
digitalWrite(TrigPin, LOW); //Low high and low level to send a short pulse to TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);

cm = pulseIn(EchoPin, HIGH) / 58.0; //The echo time is converted into cm


cm = (int(cm * 100.0)) / 100.0; //Keep two decimal places
[Link](cm);
[Link]("cm");
[Link]();
delay(1000);
}

Einführung

Ultraschall modul HC - SR04 bietet 2 cm - 700cm berührungslose Messung ,


die bis zu 3mm Genauigkeit erreichen. Das stabilen Signal wird in 5m
gesichert, das allmähliche verblasste Signal wird von 5m bis 7m
verschwinden

Die Module sind die Sender, Empfänger und [Link] Grundprinzip:

(1) mit IO wird mindestens 10us high - level – Signal ausgelöst.

(2) das Modul wird automatisch an acht 40 khz senden und erkennen, ob
es ein Puls Signal zurückkommt.

(3) wenn das Signal zurückkommt, durch die hohe Zeit der hohen Output
schicken IO die zeit ist mit der von Ultraschall zurück geschickte Zeit
[Link] - entfernung = (hohe zeit × geschwindigkeit sound (340m / s) /
2.

98
die pin funktion:

Trigonometrie: auslöser der beitrag

ECHO - echo "produktion

GND: boden

VCC: 5v angebot

Merkmale

die Spannung DC5v

die aktuelle Leitung 16mA

die Häufigkeit 40HZ

max Reihe 700cm, in 5m ist das Signal sichergestellt, stabil, das


allmählich verblasst Signal wird von 5m bis auf 7m Position verschwindet.

min – reihe 2 cm

auslöser 10us TTL signale - puls

Echo ausgangssignal TTL input - Hebel signal und die Palette

Dimension 46x20.5x15 mm

Pricinple:

99
das timing Diagramm wird wie unten gezeigt .Sie müssen nur einen kurzen
Impuls 10us liefern um Abzug input zu beginnen, und dann wird das
Modul eine 8 – zyklus ultraschall senden und platzen bei 40 KHZ und
erhöhen dessen [Link] Echo ist ein Objekt für das Abstand und das
Pulsweite . Sie können es durch das Zeitintervall rechnen, die
zwischen Triggersignal und Echosignal [Link]: uS/ 58 = zentimeter
oder uS/ 148 = inch"; oder: der Bereich = hohe geschwindigkeit zeit *
(340M /S / 2; wir schlagen vor, dass wir in 60ms Mess – zyklus benutzen,
um auslöser Signal an das echosignal zu verhindern..

Test Code:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define Echo 11 //Echo connnect to pin11


#define Trig 12 //Trig connect to pin12
unsigned long rxTime; //define a variable
float distance;

100
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
// put your setup code here, to run once:
[Link](115200); //set the baud rate of serial monitor
pinMode(Echo,INPUT);
pinMode(Trig,OUTPUT);
[Link](); // initialize the lcd

// Print a message to the LCD.


[Link](); //turn o the backlight
[Link](0, 0); //set the cursor on 0 row,0 col
[Link]("Ping:"); //print the "Ping: "on the LCD
}

void loop()
{
// Generates a pulse
digitalWrite(Trig, HIGH);
delayMicroseconds(10);
digitalWrite(Trig, LOW);
rxTime = pulseIn(Echo, HIGH); //read the Receive time
// [Link]("rxTime:");
// [Link](rxTime);
distance = (float)rxTime * 34 / 2000.0; //Converted into a distance ,cm
if(distance < 800 ) //filter interference signal
{
[Link]("distance:");
[Link](distance); //print it the distance in serial monitor
[Link]("CM");
[Link](6, 0);
[Link](distance);//print it in LCD1602
[Link]("CM");
delay(100);
}
}

Lektion16 thermische widerstand


1: Einführung der thermistor
Thermistor Widerstand ist die temperaturempfindlichen Widerstand und

101
auch als halbleiter – thermistor [Link] können durch
Einkristall,Polykristall und Glas aus halbleitermaterialien bestehen, wie
[Link] Widerstand hat eine Reihe von besonderen elektrischen
Eigenschaften, der Widerstand ändert sich mit der Temperatur,das ist die
grundlegenden Merkmale und - volt - ampere - Kurve ist nicht lineart.
2: wichtigste Merkmale

Gegen die Temperatur hat es höhen Empfindlichkeit, die thermische Trägheit ist

kleinen, es hat lange Lebensdauer,kleine Band und einfache [Link] wird es

aus unterschiedlichen Form und Struktur [Link] der Entwicklung von

[Link] und Wissenschaft wurde dieses Element weit verbreitet,

wie Temperatur, Temperaturregelung, Temperatur ausgleich, Füllstand messung,

Druckmessung, Feueralarm, meteorologische Klingenden, der Schalter circuit nach

Schutz, Bekämpfung der Spannung Schwankungen, Zeitverzögerung, amplitude

Stabilität, automatische gewinn Anpassung, Laser und Mikrowellen leistungsmessung

und so weiter.

3: charakteristische Parameter

die wichtigsten charakteristischen Parameter der Thermistor sind der Widerstand der

Temperatur für die Spannung, aktuelle charakteristische und der thermischen zeit

Konstant.

4: verbindungsmethode

102
5:Test code
void setup() {
// initialize serial communication at 9600 bits per second:
[Link](9600);
}

// the loop routine runs over and over again forever:


void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
[Link](sensorValue);
delay(1); // delay in between reads for stability
}:

dieser Code laden Sie auf ihrem Board, auf den seriellen port - fenster
sehen sie die folgenden:

103
Lektion 17 Schritt - test

104
Der Schrittmotor ist eine art elektrischer Impuls in die kantige
Vertreibung : als der Fahrer einem Puls von Signal bekommt, treibt
den Schrittmotor nach die Drehrichtung einer festen Winkel .Man kann
den eckigen Vertreibung durch die Kontrolle der Zahl von Hülsenfrüchten
kontrollieren, die Motordrehzahl und die Beschleunigung kontrollieren
den Häufigkeit des Puls , um das Ziel zu erreichen.
die Folgenden ist die experimentelle Anwendung der Schrittmotor

Vor der Benutzung der Schrittmotor überprüfen Sie bitte sorgfältig die
Spezifikation, um die vier Phase oder zwei Phasen zu bestätigen, wie
man die verschiedenen Linien binden soll. Das Experiment der
Schrittmotor benutzt die vier [Link] unterschiedlichen Farben der
Linie ist wie folgt definiert

105
Bild:

langsam Schrittmotor

Durchmesser: 28 mm

Spannung: 5

Schritt winkel: 5.625 1 / 64 x

verringerung Verhältnis: 1 / 64

5. zeile 4 Phase kann mit einfachen ULN2003 chip - Fahrer und auch im

Zusammenhang mit dem Einsatz der 2. Phase verwendet werden

Wenn der Schrittmotor leerlauf ,wird der Energieverbrauch unter 50mA


sein, wenn der Schrittmotor mit der 64 - facher Geschwindigkeit reduziert,

106
ist sehr geeignet für die Entwicklung des [Link]: der Schrittmotor
mit der 64 - facher Geschwindigkeit verglichen mit den ohne Kürzung
der Schrittmotor ,ist die Geschwindigkeit langsamer und leicht für
Beobachtung,.die Ausgangswelle steckt ein stück Karton.

107
Schritt - motor (fünf Leitung vier Phase) fahren Board (UL2003) test - Vorstand

Schrittmotor fahren Board (UL2003) test - vorstand

108
external SIZE:31×35mm

109
die hardware Schaltplan ist wie folgende:

/* laden Sie den Code der Arduino - control panel, um die Ergebnisse zu sehen.
* Stepper motor with potentiometer rotation
* (or other sensors) using 0 analog inputs
* Use IDE Stepper.h comes with the Arduino library file
#include <Stepper.h>
// Here to set the stepper motor rotation is how many steps
#define STEPS 100
// attached toSet the step number and pin of the stepper motor
Stepper stepper(STEPS, 8, 9, 10, 11);
// Define variables used to store historical readings
int previous = 0;
void setup()
{
// Set the motor at a speed of 90 steps per minute
[Link](90);
}
void loop()
{

110
int val = analogRead(0); // Get sensor readings
[Link](val - previous);// Move the number of steps for the current readings less historical readings
previous = val;// Save historical readings }

Untersuchungsergebnisse: die langsame Rotation der Schrittmotor.

Lektion18 ruderanlage kontrolle experiment


Die Ruderanlage ist eine Position- servoantrieb, sie besteht hauptsächlich aus einem

Gehäuse, ein Bauteil, Non - core - motor, Getriebe und Position - [Link]

Arbeitsweise ist der Empfänger das Signale,das von dem SCM gesendet wird. Es

gibt internen eine Benchmark - zyklus, die für 20ms, breite 1.5ms [Link] der DC

- spannungs - und die Neigung zum Spannung riechten wir durch die IC - bauteil die

Drehrichtung. Dann wird das Fahr - kern - motor rotieren, durch den Abbau von

Ausrüstung wird die Macht dem Swing – arm übertragen. durch eine Position

detektor beurteilen wir das Signal, ob es bereits die Läger erreicht [Link] ist

geeignet für das Kontrollsystem, das geändert werden muss und eine gewisse

Gehalten bleiben werden kö[Link] die Geschwindigkeit des Motor sicher ist,

wird durch eine kaskade Geschwindigkeit reduziert .die Unterschied der Spannung

ist [Link] der Motor stehenbleibt, ist der Winkel der generalsteering gear -

rotation zwischen 0 grad auf 180 grad geliegt.

111
Es gibt viele Vorschriften, aber die Ruderanlage hat eine externe drei zeilen), braun,

rot, orangefarbe. Da der Marke der Ruderanlage anders ist, wird die Farbe anders

[Link] für die Boden - draht, Rot für die Positiven draht, Orange für das Signal.

Lenkeinschlag PWM (puls width modulation) signal arbeitszyklus zu erreichen,

Standard - PWM (puls width modulation) signal - zyklus liegt auf 20ms (50Hz), Puls

-breite sollte zwischen 1ms zu 2ms verteilen, in der Wirklichkeit kann aber Pulsweite

von 0.5ms zu 2.5ms erreichen. Pulse width und Lenkeinschlag liegen von 0 Grad auf

180 Grad .Weil der Marke von Ruderanlage und das Signal anders ist, wird der

Lenkeinschlag anders sein.

112
Nachdem wir die grundlegenden kenntnisse gehabt haben, können wir lernen, eine

Servomotor zu kontrollieren. Die erforderliche Komponenten bruanchen wir nur

Ruderanlage und ein Springer ...

RB - 412 Ruderanlage * 1

Brot board springer * 1 unentschieden

Die Ruderanlage mit Arduino - methode hat zwei arten, durch die Arduino -

gemeinsame digitale Sensor zu verschiedenen Einschaltdauer von fang BO – PWM

Signal einzuschlagen, die zweite ist die direkte Verwendung von Servo - arduino –

funktion. die Vorteile dieser Methode ist die Kontrolle der zwei Ruderanlage, weil der

Arduino nur mit Digitaler 9,10 Schnittstelle nutzen kann. Die Fahrfähigkeit des

Arduino begrenzt ist, müssen wir mehr als 1 der Ruderanlage der Quelle

kontrollieren.

eine methode

113
die Ruderanlage ist mit dem digitalen 9 – schnittstelle [Link] ein Programm

zu schreiben, soll man die benutzereingaben Zahl der Ruderanlage auf dem Grad der

Position einführen. der Print - anzeige zeigt auf dem Bildschirm.

Verweisen wir auf die Quelle - programm A: 、

entsprechend der zahl der grad der position, und die neigung der print - anzeige auf

dem bildschirm.

Int servopin=9; / / define digital interface 9 connected servo signal line

Int myangle; / / define the angle variable

114
Int pulsewidth; / / define variable pulse widthint val;

void servopulse(int servopin,int myangle)//Define a pulse function

pulsewidth=(myangle*11)+500;//The pulse width of 500-2480 is converted into the

pulse width.

digitalWrite(servopin,HIGH);//The rudder interface level is high

delayMicroseconds(pulsewidth);//Time delay pulse width

digitalWrite(servopin,LOW);//Servo interface level to low

delay(20-pulsewidth/1000);

void setup()

pinMode(servopin,OUTPUT);//Set steering interface for output interface

[Link](9600);//Connected to the serial port, the baud rate is 9600

[Link]("servo=o_seral_simple ready" ) ;

void loop()//The number of 0 to 0 is converted to a 9 - to 180 angle, and the number

of the corresponding number of LED flashes

val=[Link]();//Read the value of the serial port

if(val>'0'&&val<='9')

115
{

Val=val-'0'; / / the features into numerical variables

Val=val* (180/9); / / digital into perspective

[Link]("moving servo to ");

[Link](val,DEC);

[Link]();

for(int i=0;i<=50;i++) //Give the steering gear enough time to let it go to the specified

angle.

servopulse(servopin,val);//Reference pulse function

Methode zwei

Zuerste sollen wir den Arduino detailliert analysieren,der den Servo - funktion und

die Erklärungen hat. um den gemeinsamen Erklärungen der Ruder – funktion

einzuführen.

1 、 legen Sie (interface) die Ruderanlage interface, die nummer 9 oder 10 -

Interface können verwendet werden.

2write (winkel) - der Lenkwinkel der Ruderanlage kann zwischen 0 grad auf 180 grad

festlegen.

3read () - der Lenkwinkel der Ruderanlage kann als den Wert der letzten write ()

verstehen werden .

116
4attached() um festzustellen, ob das Parameter der Ruderanlage in die komponenten

Interface geschickt wurden.

5、detach()... wenn die Ruderanlage von seiner Oberfläche getrennt ist, können die

Schnittstelle (nummer 9 oder 10) wie ein PWM - schnittstelle weiter genutzt

werden .

Hinweis: die oben genannten Erklärung steht im Format der betätiger Variablen -

[Link] spezifische Erklärung (') zum beispiel: [Link] (9).

die Ruderanlage ist immer noch mit dem digitalen 9 Schnittstelle verbindet.

program B:

<Servo.h>// #include header files, there is a point to pay attention, you can directly

in the Arduino software menu bar click Sketch>Importlibrary>Servo, call the Servo

function, you can directly enter the <Servo.h> #include, but in the input should pay

attention to between #include and <Servo.h> to have a space, or compile time will be

reported to the wrong.

Servo myservo; / / define servo variable name

void setup()

[Link](9);//Definition of steering gear interface (9,10 can, shortcomings can

only control 2)

void loop()

117
[Link](90);//Set the steering angle of the steering gear.

Oben ist die zwei Methoden ,um den Ruderanlage zu kontrollieren . Jeder
hat seine eigenen Vorteile und Nachteile, man kann nach eigenen
Bedürfnissen selbst wählen.

Lektion 19 lichtempfindliche Lampe Experiment


Nach Abschluss der genannten Experimente sollten wir ein Verständnis der

Anwendung von Arduino haben. Wir sollen die grundlegenden digitalen

Input ,Output und analogein - und PWM - Generation [Link] können

wir einige der Anwendung des Sensors [Link] Widerstand

Photovaristor heißt auch " das Licht in der Wahrnehmung des Widerstand. Durch

den halbleiter photoelektrischen Effekt einer resistenz Wert mit dem vorfall

Lichtintensität ändern sie den Widerstand; wenn der Vorfall des licht stärker

geworden wird,wird der Widerstand reduziert, wenn der Vorfall des Licht schwächer

geworden ist, wächst der Widerstand .lichtempfindliche Widerstände sind allgemein

für optische Mess -, Kontroll - und photoelektrischen Umwandlung (das licht in

elektrische Veränderung ).

Der lichtempfindliche Widerstand kann umfassend in verschiedenen


optische Schaltung genutzt werden, wie Lichtsteuerung, Regulierung und
anderen Gelegenheiten.
In diesem Experiment haben wir zuerst mit einem relativ einfachen
lichtempfindlich Widerstand [Link] Widerstand kann

118
nach der Veränderungen der Lichtintensität änderen, deshalb brauch wir
das Simulieren,um den Hafen - wert zu [Link] Experiment kann nach
dem Hinweis des PWM – experiment. Wenn das Potentiometer ein
lichtempfindliche Widerstand ist, wird die Lichtintensität und die Helligkeit
des LED - leuchten entsprechend ändern.

Das Folgende ist der erforderlichen Komponenten:

lichtempfindliche Widerstand * 1

die rote linie M5LED * 1

10 K Leitungswiderstand * 1

220 ohm Leitungswiderstand * 1

Brot board * 1

Brot board springer * 1 unentschieden

Nach dem folgenden Schema verbinden wir Leitung.

119
120
Das experimentelle Programm und die PWM - test ist ähnlich wie der
PWM – wert, man kann mit dem Programm schreiben . Nach derzeitigen
Kreislauf kann mam leicht verändern (modified Teil sehen Sie Hinweis
auf die Quelle - programm).
Bezug: Programm
int potpin=0;//Define the analog interface 0 connect the photosensitive resistance

int ledpin=11;//Define digital interface 11 output PWM adjust LED brightness

int val=0;//Defined variable val

void setup()

pinMode(ledpin,OUTPUT);//Define digital interface 11 for output

[Link](9600);//Set the baud rate to 9600

121
}

void loop()

val=analogRead(potpin);//Read the sensor's analog values and assign to val

[Link](val);//Display Val variable value

analogWrite(ledpin,val);// Turn on the LED and set the brightness (the maximum

value of the PWM output is 255)

delay(10);//Delay 0.01 seconds

hier kommen wir den Sensor zurü[Link] grund liegt daran, dass die analogeingänge

Analogread () - funktion den Wert gibt,dessen Bereich 0 bis 1023 ist. und der

simulation-produktion analogwrite () liegt auf das Wertebereich 0 bis

[Link] Programm und die Intensität der Umgebung sehen wir die

entsprechende veränderte Lichter .Im täglichen Leben werden der lichtempfindlichen

Widerstand umfangreich angewendet, wir können nach dem experimentellen

Analogie die besten Interaktion besser funktionieren.

Lektion 20 LM35 Temperature Sensor


Einführung

Lm35 ist ein Temperatursensor und wird von national Semiconductor [Link]

hat sehr höher operative Genauigkeit und einer großen [Link] LM 35

kleinen, niedrigen kosten und zuverlässigkeit hat,ist LM35 weit verbreitet in der

[Link] es interne Kompensationen nutzt, können die Produktion mit 0 ℃

122
beginnen.LM35 hat verschiedene [Link] rahmen des normalen Temperatur

brauchen die LM35 keine zusätzliche Kalibrierung zu [Link] die Genauigkeit

von ± 1 / 4 ℃ zu [Link] Stromversorgung - modus können in einzelnen

Energiequelle,positiver und negativer doppelter Stromversorgung eigeteilt

[Link] Stifte ist wie unten gezeigt. Unter den positiven und negativen doppelte

Stromversorgung – modus können das negative temperatur [Link] Rahmen der

einheitlichen Netzteil - modus und 25 ℃ stellen die LM35 etwa 50U ein, und es gibt

eine große Operation -spannungsbereich zwischen 4 und 20v. dies spart den

Strom.

Components
- 1* KUMAN Uno board
- 1 * Breadboard
- 1 * USB data cable
- 1 * LM35 Temperature Sensor
- 1 * I2C LCD1602
- Several jumper wires

123
experimentelle Prinzip

die Ausgangsspannung des LM35 ist mit der Temperatur proportional .wenn es in

0 ℃ Raumtemperatur bleibt,wird es 0V produzieren. Die Ausgangsspannung wird

jedes mal um 10mv steigt, wenn die Temperatur um 1 ℃ [Link]

Berechnungsgrundlage ist wie Folgende:

experimentelle Verfahren

schritt 1: aufbau der Schaltung

Hinweis: Sie müssen noch eine Bibliothek [Link] die Datei liquidcrystal_i2C

124
schritt 2: Zusammenstellung der code

schritt 3: laden Sie die Skizze der Kuman UNO - vorstand

jetzt können Sie die auf der I2c - LCD1602 gezeite Temperatur sehen.

/*****************************************
* name:LM35 Temperature Sensor
* function:
* LM35 output voltage has a linear relation with the Celsius temperature, output of 0 v when
0 ℃,

* every increase 1 ℃, the output voltage increase 10 mv


*****************************************/
//lm35 attach to A0
/****************************************/
#define lmPin A0 //LM35 attach to
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
125
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
float tem = 0;
long lmVal = 0;
void setup()
{
[Link](); //initialize the lcd
[Link](); //open the backlight
}
void loop()
{
lmVal = analogRead(lmPin);//read the value of A0
tem = (lmVal * 0.0048828125 * 100);//5/1024=0.0048828125;1000/10=100
[Link](5,0);//place the cursor on 5 column,0 row
[Link]("LM35");//print"LM35"
[Link](0,1);//place the cursor on 0 column,1 row
[Link]("Tem= ");//print"Tem= "
[Link](5,1);//place the cursor on 5 column,1 row
[Link](tem);//print tem
[Link](char(223));//print the unit" ℃ "
[Link]("C");
delay(200);//delay 20

Lektion 21 LED Scintillation test


Das Led - lampen - experiment ist eine vergleichsgrundlage Experimente,
um die Arduino Led zu leuchten, haben wir mit anderen I / O - Hafen
benutzt. neben jedem Experiment brauchen wir die Arduino – controller
und Usb – kabel zu herunterladen.
die Liste der Komponenten im Experiment ist wie Folgende:

1. Red M5 LED 1 pcs

126
2. 220Ωline resistance*1

[Link] board*1

4. Bread board jump line*1tie

Jetzt übereinstimmen wir den folgenden Lichte nach dem Prinzip der physische

[Link] nutzen wir die Nummer 10 – schnittstelle und leuchtdiode (led), die im

Zusammenhang mit einem aktuellen begrenzten Widerstand verbindet, ein 220 OHM
127
Widerstände wird die aktuelle LED verbrannen.
The principle map lights:

Physicaldiagramconnectiondiagram:

Nach den obigen link Circuit können Sie Programme schreiben beginnen, gestatten
128
wir die Led - lampen , 1 sekunden zu lit .das Verfahren ist sehr einfach und die

Arduino kommt in der Blinzeln ähnliche nur 13 digitale schnittstelle zu10 digitale

schnittstelle.

-----------------------------------------------------------

Reference procedures are as follows:

int ledPin = 10; //Define number 10 interface

void setup()

pinMode(ledPin, OUTPUT);//The definition of small interface for output interface

void loop()

digitalWrite(ledPin, HIGH); //Light the lamp

delay(1000); //Delay 1 seconds

digitalWrite(ledPin, LOW); //Lights out

delay(1000); //Delay 1 seconds

---------------------------------------------------------

Nach dem Download - programm können Sie unsere 10 kleine lichter in den Mund

sehen, die LED blinken,das ist der experimentellen phänomen .

129
light flicker - experiment ist beendet.

Lektion 22 infrarot - Empfänger


Einführung

Ein Infrarot - empfänger ist eine Komponente, die erhalten Infrarot - signale und

unabhängig - ray . Ein Infrarot – empfänger kann mit TTL – ebene kompatibel

sein .die Größe ist ähnlich wie ein normale verpackte Transistor und geeignet sich

für alle Arten von Infrarot - fernbedienung und Infrarot - übertragung.

komponenten

130
- 1 * kuman - uno - vorstand

- 1 * usb - datenkabel

- 1 * infrarot - empfänger modul

- 1 * remote controller

- 1 * - pol - reverse - kabel

experimentelle Prinzip

Kontrollieren Sie eine bestimmte Taste (zum Beispiel macht schlüssel) durch ein

remote programmierte Kontroller .wenn Sie die Taste drücken, wird die Infrarot -

strahlen von den Infrarot – empfänger erhielt, und dieLed wird leuchten , die auf

dem Kuman UNO board [Link] Sie ein Led - mit 13 auf der kuman UNO vorstand

verbinden, können Sie sehen, ob die Power - taste gedrückt wird.

131
experimentelle Verfahren

Schritt 1: Aufbau der Schaltung

132
Hinweis: Sie brauchen noch eine [Link] die Beschreibung in der
Bibliothek

schritt 2: Zusammenstellung der Code

schritt 3: Laden Sie die Skizze der Kuman UNO - vorstand

Jetzt drücken Sie die Schlüssel einer Fernbedienung und verbinden mit der
LED ,wenn der Pin - 13 auf der kuman UNO Board [Link] drücken
Sie eine Taste, die LED werden leuchten.

133
1、 infrarot mit Kopf.

一、was ist der infrarot - empfänger Kopf?

die Infrarot - fernbedienung signal ist eine Reihe von Binären puls -
[Link] die Einmischung von anderen Infrarot - signal während der
drahtlose Übertragung zu vermeiden, benutzt man in der Regel die
Modulation der spezifischen Trägerfrequenz .durch die Infrarot - emitting
Diodes und die infrarot - Gerät filtern wir das Unordnungsignal. Sie
erhalten die spezifischen frequenz Signal und wieder auf die binäre puls -
code zurückführen,das ist die eigentliche Demodulation.
二、der Grundsatz

die eingebauten Empfänger übermitteln die Infrarot - emission - licht in


ein schwaches Signal, das Signal wird durch die IC - internen Verstärker
verstärkt, und dann durch die automatische Aussteuerung, band-pass
134
Filtern , Demodulation und Waveform wird der original -encoding zur
Wiederherstellung der ursprünglichen Ausgangssignal des Empfängers
output .das Ausgangssignal für die elektrische Geräte wird für die
Kodierung der Anerkennung circuit.
三、 Pin und die Verbindung von Infrarot mit Kopf

die Leiter hat drei pins wie Folgende:

bei Verwendung der VOUT der Analog - port, erhielt GND die Experimentierboard

GND, + 5v. die VCC erhielten die experimentelle Board

Infrarot - fernbedienung - Experiment

Experimentelle gerät

Für die Infrarot - fernbedienung: 1.

Der infrarot -, die den kopf: 1.

die LED - licht: 6

die 220 widerstand: 6


die farbenfrohen Linie: einige der Brot

[Link] Verbindung

Zuerst verbindet der Aufsichtsrat ; dann übereinstimmt die Infrarot - empfänger


135
Kopf mit dieser Methode, die mit der Digitalen 11 vout pin hat, durch den

Widerstand hat die Led - lampe mit dem Digitalen stift 2,3,4,5,6,7

[Link] wir zurück zur vervollständigung der schaltung zurück

3、experimental - prinzip

Die Entschlüsselung eines remoten Kontroller muss sich die [Link]

Produkt wird zur Kontrolle den Code des Wegs bunutzt: NEC- [Link] der

Einführung der NEC - Protokoll:

• NEC Protokoll beschreibung: merkmale: (1) 8 mit Bits, 8 - bit - Befehl

(2) für die 2 - mal um die Zuverlässigkeit und den Befehl


(3) der Position modulation
(4) die trägerfrequenz 38khz
(5) jeder zeit für die 1.125ms ring 2.25ms
• logik 0 und 1 wie folgde Definiert :

·Press the launch pulse at once:

Das Bild zeigt eine typische Pulsfolge [Link]: die ersten geschickte

LSB(der niedrigsten) [Link] allem überträgt der Puls die Adresse für die 0x59

befehl [Link] Nachricht ist ein Höhen 9ms , dann gibt es eine Geringe 4.5ms
136
Befehl code,die Adresse und den Befehl [Link] zweite mal wurden alle Stücke

sammen, kann für die Bestätigung der Nachricht verwenden. Jeder Punkt können Sie

ignorieren , wenn Sie nicht interessiert [Link] Theke können Sie auch die Adresse

und die Führung ausbauen, alle 16!

Tastendruck einen Zeitraum vor der Freigabe der start Puls:

Ein Kommando wird auf der Fernbedienung - taste gedrückt .wenn die Schaltfläche

eingedrückt wird, wird die erste 110ms der Puls und die Bilde nach jedem 110ms

wiederholen

• repetitive Puls

Hinweis: puls waveform der Integration in die mit kopf, weil die
Integration von Kopf -, Signal - und die Gestaltung sind. Pass auf: in
Abwesenheit von Infrarot - signal und die Produktion endet das Signal für
ein höhes Niveau . so dass die Produktion überträgt den Signalstärke nur
terminal .Durch die Puls ende können wir von den Oszilloskop die
Wellenform des programms sehen.

137
linie schaltplan.
Program code:
#include <IRremote.h>
int RECV_PIN = 11;
int LED1 = 2;
int LED2 = 3;
int LED3 = 4;
int LED4 = 5;
int LED5 = 6;
int LED6 = 7;
long on1 = 0x00FFA25D;
long off1 = 0x00FFE01F;
long on2 = 0x00FF629D;
long off2 = 0x00FFA857;
long on3 = 0x00FFE21D;
long off3 = 0x00FF906F;
long on4 = 0x00FF22DD;
long off4 = 0x00FF6897;
long on5 = 0x00FF02FD;
long off5 = 0x00FF9867;
long on6 = 0x00FFC23D;
long off6 = 0x00FFB047;
IRrecv irrecv(RECV_PIN);
decode_results results;
// Dumps out the decode_results structure.
// Call this after IRrecv::decode()
// void * to work around compiler issue
//void dump(void *v) {
// decode_results *results = (decode_results *)v
void dump(decode_results *results) {
int count = results->rawlen;
if (results->decode_type == UNKNOWN)
{
[Link]("Could not decode message");
}
else
{
if (results->decode_type == NEC)
{
[Link]("Decoded NEC: ");
}
else if (results->decode_type == SONY)
{
[Link]("Decoded SONY: ");

138
}
else if (results->decode_type == RC5)
{
[Link]("Decoded RC5: ");
}
else if (results->decode_type == RC6)
{
[Link]("Decoded RC6: ");
}
[Link](results->value, HEX);
[Link](" (");
[Link](results->bits, DEC);
[Link](" bits)");
}
[Link]("Raw (");
[Link](count, DEC);
[Link]("): ");

for (int i = 0; i < count; i++)


{
if ((i % 2) == 1) {
[Link](results->rawbuf[i]*USECPERTICK, DEC);
}
else
{
[Link](-(int)results->rawbuf[i]*USECPERTICK, DEC);
}
[Link](" ");
}
[Link]("");
}

void setup()
{
pinMode(RECV_PIN, INPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(13, OUTPUT);
[Link](9600);

139
[Link](); // Start the receiver
}
int on = 0;
unsigned long last = millis();

void loop()
{
if ([Link](&results))
{
// If it's been at least 1/4 second since the last
// IR received, toggle the relay
if (millis() - last > 250)
{
on = !on;
// digitalWrite(8, on ? HIGH : LOW);
digitalWrite(13, on ? HIGH : LOW);
dump(&results);
}
if ([Link] == on1 )
digitalWrite(LED1, HIGH);
if ([Link] == off1 )
digitalWrite(LED1, LOW);
if ([Link] == on2 )
digitalWrite(LED2, HIGH);
if ([Link] == off2 )
digitalWrite(LED2, LOW);
if ([Link] == on3 )
digitalWrite(LED3, HIGH);
if ([Link] == off3 )
digitalWrite(LED3, LOW);
if ([Link] == on4 )
digitalWrite(LED4, HIGH);
if ([Link] == off4 )
digitalWrite(LED4, LOW);
if ([Link] == on5 )
digitalWrite(LED5, HIGH);
if ([Link] == off5 )
digitalWrite(LED5, LOW);
if ([Link] == on6 )
digitalWrite(LED6, HIGH);
if ([Link] == off6 )
digitalWrite(LED6, LOW);
last = millis();
[Link](); // Receive the next value

140
}
}

Lektion 23 Potentionmeter
Ein Potentiometer ist ein einfacher Knopf und bietet einen variabler [Link]

der Arduino – board können wir als analoge Wert [Link] diesem Beispiel wird der Wert

den Zinssatz kontrolliert, um die LED zu blinken.

Wir verbinden drei Drähte für die Arduino - [Link] Erste geht zum Pins des

[Link] zweite geht von 5 Volt auf der äußeren Nadel des [Link]

dritte geht von analogeingangs - 2 der Potentiometer.

Indem Sie den Schacht der Potentiometer, ändern wir die Höhe der Widerstand auf der

anderen Seite der Scheibenwischer, die die Verbindung mit der Center - pin der

Potentiometer [Link] Veränderungen der relativen "nähe" der pin 5 volt , geben uns

eine andere Analoge .wenn der Schacht den Weg in eine Richtung läuft, gibt es 0 volt

auf den Stift, und wir [Link] der Schacht den Weg in die andere Richtung läuft,

gibt es 5 Volt und wir lesen [Link] Analogread() gibt eine Zahl zwischen 0 und

1023,das ist ein Proportion zur höhe der Spannung .

Verdrahtungsplan:

141
Komponents:
- 1 * kuman Uno board
- 1 * USB cable
- 1 * 10 k adjustable resistance
- Jumper wires
- 1 * Big bread board

Code:

/* Analog Read to LED

* ------------------

* turns on and off a light emitting diode(LED) connected to digital

* pin 13. The amount of time the LED will be on and off depends on

* the value obtained by analogRead(). In the easiest case we connect

* a potentiometer to analog pin 2.

*/

142
int potPin = 2; // select the input pin for the potentiometer

int ledPin = 13; // select the pin for the LED

int val = 0; // variable to store the value coming from the sensor

void setup() {

pinMode(ledPin, OUTPUT); // declare the ledPin as an OUTPUT

void loop() {

val = analogRead(potPin); // read the value from the sensor

digitalWrite(ledPin, HIGH); // turn the ledPin on

delay(val); // stop the program for some time

digitalWrite(ledPin, LOW); // turn the ledPin off

delay(val); // stop the program for some time

Lektion 24 analoge Temperaturfühler


143
Beschreibung:
Die Temperatur sensor ist ein NTC­ thermistor
Multi ­ punkt temperatur messen Temperatur: ­ 55 째 c / + 125 째 c
Genauigkeit: + / ­ 0,5 째 c
Material: gemischte material
Dimensionen: 3 x 1,5 x 0.6cm
Gewicht: 2g

144
Components
- 1 * kuman Uno board
- 1 * USB cable
- 1 * Analog Temp module
- Jumper wires
- 1 * Breadboard

Test Code:

#include <math.h>
double Thermister(int RawADC) {
double Temp;
Temp = log(((10240000/RawADC) ­ 10000));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
Temp = Temp ­ 273.15; // Convert Kelvin to Celcius
return Temp;
}
void setup() {
[Link](9600);

145
}
void loop() {
[Link](Thermister(analogRead(0))); // display Fahrenheit
[Link]("c");
delay(500);
}

Hermistoren können auch die Temperatur messen, denn es kombiniert die


Steinhart - hart Thermistor , der Test - funktionen in der Doppel - thermister (int
rawadc) ist der Inbegriff der Gleichung.
Werfen Wir einen Blick auf das Ergebnisse des Experiment:

Das Fenster zeigt den Raumtemperatur


ok, wir berühren , weche Veränderung gibt es?

146
Der Test ist erfolgreich abgeschlossen.

Lektion 25 Touch module

147
Das ist eine kontrolle Schaltmoduls, wenn man den weiße Kreise auf den Touchscreen

druckt,wird die Sigproduktion ein hohes Niveau sein, wenn die Finger weg ist , wird die Sig -

produktion niedrig sein .

unten ist die Verbindung - modus:


Touch module Arduino
GND ---------------------------------- GND
VCC ---------------------------------- 5V
SIG ---------------------------------- D3
unten ist die Verkabelung

Components
- 1 * kuman Uno board
- 1 * USB cable
- 1 * Touch module
- Jumper wires
- 1 * Breadboard

Das Experiment zeigt, daß:

In diesem Experiment benutzen wir D3 - pin ,um das high / low Signal zu detection, wenn

die D3 - Signal hoch ist, ist D13 pin hoch, wenn die D3 - Signal gering ist, ist die D13 pin

[Link] wählen Sie "D13 Pin", weil die Pin mit der LED - auf den Board ist.

148
Test code:
int Led=13;// Define LED interface
int touch=3;//Define the touch module interface
int val;// Digital variables "val"
void setup()
{
pinMode(Led,OUTPUT);// Define the LED for the output interface
pinMode(touch,INPUT);/*Define the touch module for the input interface*/
}
void loop()
{
val=digitalRead(touch);/* Will the value of the digital interface 3 read assigned to val*/
if(val==HIGH)/* When the key switch sensor detection signal, LED light*/
{
digitalWrite(Led,HIGH);
}
else
{
digitalWrite(Led,LOW);
}
}

Lektion 26 3 - Farben - farbige LED- Modul

Das ist farbe RGB- 3 LED - modul für Arduino - rot - grün - blau
material: PCB
RGB - signal) output
3. farbe: rot, grün, blau
Kompatibel mit Arduino DIY - projekt

Components
- 1 * kuman Uno board

149
- 1 * USB cable
- 1 * RGB module
- Jumper wires
- 1 * Breadboard

三、Arduino test code:


int redpin = 11; //select the pin for the red LED
int bluepin =10; // select the pin for the blue LED
int greenpin =9;// select the pin for the green LED

int val;

void setup() {
pinMode(redpin, OUTPUT);
pinMode(bluepin, OUTPUT);
pinMode(greenpin, OUTPUT);
[Link](9600);
}

void loop()
{
for(val=255; val>0; val­­)
{
analogWrite(11, val);
analogWrite(10, 255­val);
analogWrite(9, 128­val);
delay(1);
}
for(val=0; val<255; val++)
{
analogWrite(11, val);
analogWrite(10, 255­val);
analogWrite(9, 128­val);
delay(1);
}
[Link](val, DEC);

150

Das könnte Ihnen auch gefallen