Tutorials (DE)
Tutorials (DE)
1
2
3
lektion Listing
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.
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
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
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.
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
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
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 -
My Documents\Arduino\libraries\ArduinoParty\ArduinoParty.h
My Documents\Arduino\libraries\ArduinoParty\examples
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 - >
Zusammenfassung
In dieser Lektion werden wir alle Bibliotheken installieren,die wir in der Anleitung verwenden
14
Installieren Sie die Zip - Dateien und verbinden Sie die Komponente der Schematische und laden Sie
Lesson2 blinzeln
Überblick
In dieser Lektion werden Sie lernen, wie man die UNO R3 programmieren kann, um in der Arduino - Board
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
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
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
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
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.
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
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() {
pinMode(led, OUTPUT);
}
Jeder Arduino - Sketch muss ein "setup" – Funktion haben, wo Sie hinzufügen wollen ihres eigenen
in diesem Fall gibt es nur einen Befehl , wie der Kommentar states die Arduino – Board gesagt hat, das
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.
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
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
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
komponenten
Components
- 1 * kuman Uno board
- 1 * USB cable
- 1 * Button
- 1 * Resistor (10k Ohm)
- Jumper wires
- 1 * Breadboard
prinzip
Button
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
[Link] es zu vermeiden, benutzt man ein PULL - DOWN - WIDERSTAND ,das ist eine
Störungen konsumieren
elektronischen Geräten [Link] Beispiel, wenn Sie einen Knopf auf ihrem Handy
Experimentelle verfahren
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:
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:
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);
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
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
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
Spannung: 5
Farbe: schwarz - silber - grau
Paket Dimension: 77x42x13mm
Gewicht: 5
Prüfungsanforderungen
40
Arduino Kontrolle * 1
USB - Kabel * 1
Summer - X 1
Connection:
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() {
42
Code:
}
else {
//The value of the button here is low (also when the button is pressed).
digitalWrite(speakerPin,HIGH);
}
}
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);
}
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
experimentelle verfahren
schritt 1: aufbau der Schaltung
45
die schematische Darstellung:
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
47
elektronischen Summer, DC versorgt den Strom, man
Soundgeräte.
48
klingen.
gemacht.
Membran und eine äußere Hülle, usw. die Audio - signal der
magnetisches Feld.
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 -
50
delay(2);//delay 2ms
}
}
}
Laden Sie das Programm, der Summerexperiment ist beendet.
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.
display - Kapazität 16 x 2 ;
51
:Schnittstellen - spezifikatio
1 ein Modul für die Stromversorgung ist eine Gruppe von Backlight .dei
2 、 VL ist ein Regulator der Kontrast der Pin . die Serie ist nicht Größer als 5K
hohen Potenzial und geringen Potenzial zu verbinden, nach GND ist die mit
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..
Die grundlegende Dunktionsweise des liquid Crystal von 1602 gliedert sich in
Die direkte Kommunikation von 1602 mit Arduino sind nach der Produkt –
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;
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);
}
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;
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);
}
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
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";
digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
}
62
digitalWrite(i,temp & 0x80);
temp <<= 1;
}
digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
}
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);
}
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";
digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
}
65
temp <<= 1;
}
digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
digitalWrite( LCD1602_EN,HIGH);
delayMicroseconds(1);
digitalWrite( LCD1602_EN,LOW);
}
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);
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
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
Bread board *1
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
int ledState = 0;
void setup()
pinMode(data, OUTPUT);
70
pinMode(clock, OUTPUT);
pinMode(latch, OUTPUT);
void loop()
updateLEDs(i);
delay(500);
digitalWrite(latch, LOW);//
digitalWrite(latch, HIGH);//Latch
Die experimentelle Phänomen ist zu sehen, wie die acht bit LED - display acht bit
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
Einheit ist Verbindung - modus in gemeinsamen Anode und kathode nixie Röhre
[Link] Yang - digital - röhre bezieht sich auf die leuchtdioden Anode ,die
Strom ist, ist das entsprechende Feld nicht [Link] kathode digital -
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
72
Jede digitalen Tube besteht aus die Leuchtdioden, wenn man den gleichen
wird im Experiment beuntzt, die gemeinsame Kathode digitale Rohr soll in der
klageschrift mit GND verbinden, wenn die Leuchtdiode von einem Gebiet niederige
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:
int b=6;// Definition of digital interface 6 connected B segment digital tubeint c=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);
unsigned char j;
digitalWrite(b,HIGH);//Light B segment
75
for(j=7;j<=11;j++)//Extinguish the rest
digitalWrite(j,LOW);
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);
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);
digitalWrite(c,HIGH);
digitalWrite(b,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(dp,LOW);
digitalWrite(a,LOW);
digitalWrite(e,LOW);
digitalWrite(d,LOW);
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);
unsigned char j;
for(j=7;j<=11;j++)
digitalWrite(j,HIGH);
digitalWrite(c,HIGH);
digitalWrite(dp,LOW);
digitalWrite(b,LOW);
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
}
unsigned char j;
for(j=5;j<=11;j++)
digitalWrite(j,HIGH);
digitalWrite(dp,LOW);
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++)
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
Im diesen experiment wird Arduino insgesamt vier bit Digitalen fahren .um die digital
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
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
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
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
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);
}
}
die verwendeten Kippen Tauschen ist ein Ball,der mit einem Metall - ball rein [Link]
Komponenten
- 1 * usb - datenkabel
- 1 * tilt - schalter
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
Ball fern von den Kontakten bleiben und die Schaltkreise passiert.
experimentelle Verfahren
93
schritt 2: Zusammenstellung der Code
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
}
}
/*****************/
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
Experimentelle bauteile
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
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);
Einführung
(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:
GND: boden
VCC: 5v angebot
Merkmale
min – reihe 2 cm
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>
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
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);
}
}
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
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);
}
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
verringerung Verhältnis: 1 / 64
5. zeile 4 Phase kann mit einfachen ULN2003 chip - Fahrer und auch im
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
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 }
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 -
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.
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
112
Nachdem wir die grundlegenden kenntnisse gehabt haben, können wir lernen, eine
RB - 412 Ruderanlage * 1
Die Ruderanlage mit Arduino - methode hat zwei arten, durch die Arduino -
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
entsprechend der zahl der grad der position, und die neigung der print - anzeige auf
dem bildschirm.
114
Int pulsewidth; / / define variable pulse widthint val;
pulse width.
delay(20-pulsewidth/1000);
void setup()
[Link]("servo=o_seral_simple ready" ) ;
if(val>'0'&&val<='9')
115
{
[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.
Methode zwei
Zuerste sollen wir den Arduino detailliert analysieren,der den Servo - funktion und
einzuführen.
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
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 -
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
void setup()
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.
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
elektrische Veränderung ).
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.
lichtempfindliche Widerstand * 1
10 K Leitungswiderstand * 1
Brot board * 1
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
void setup()
121
}
void loop()
analogWrite(ledpin,val);// Turn on the LED and set the brightness (the maximum
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
[Link] Programm und die Intensität der Umgebung sehen wir die
Lm35 ist ein Temperatursensor und wird von national Semiconductor [Link]
kleinen, niedrigen kosten und zuverlässigkeit hat,ist LM35 weit verbreitet in der
122
beginnen.LM35 hat verschiedene [Link] rahmen des normalen Temperatur
[Link] Stifte ist wie unten gezeigt. Unter den positiven und negativen doppelte
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
experimentelle Verfahren
Hinweis: Sie müssen noch eine Bibliothek [Link] die Datei liquidcrystal_i2C
124
schritt 2: Zusammenstellung der code
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 ℃,
126
2. 220Ωline resistance*1
[Link] board*1
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.
-----------------------------------------------------------
void setup()
void loop()
---------------------------------------------------------
Nach dem Download - programm können Sie unsere 10 kleine lichter in den Mund
129
light flicker - experiment ist beendet.
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
komponenten
130
- 1 * kuman - uno - vorstand
- 1 * usb - datenkabel
- 1 * remote controller
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
131
experimentelle Verfahren
132
Hinweis: Sie brauchen noch eine [Link] die Beschreibung in der
Bibliothek
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.
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
bei Verwendung der VOUT der Analog - port, erhielt GND die Experimentierboard
Experimentelle gerät
[Link] Verbindung
Widerstand hat die Led - lampe mit dem Digitalen stift 2,3,4,5,6,7
3、experimental - prinzip
Produkt wird zur Kontrolle den Code des Wegs bunutzt: NEC- [Link] der
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
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]("): ");
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
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]
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
Verdrahtungsplan:
141
Komponents:
- 1 * kuman Uno board
- 1 * USB cable
- 1 * 10 k adjustable resistance
- Jumper wires
- 1 * Big bread board
Code:
* ------------------
* pin 13. The amount of time the LED will be on and off depends on
*/
142
int potPin = 2; // select the input pin for the potentiometer
int val = 0; // variable to store the value coming from the sensor
void setup() {
void loop() {
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);
}
146
Der Test ist erfolgreich abgeschlossen.
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 -
Components
- 1 * kuman Uno board
- 1 * USB cable
- 1 * Touch module
- Jumper wires
- 1 * Breadboard
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);
}
}
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
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, 255val);
analogWrite(9, 128val);
delay(1);
}
for(val=0; val<255; val++)
{
analogWrite(11, val);
analogWrite(10, 255val);
analogWrite(9, 128val);
delay(1);
}
[Link](val, DEC);
150