Tutorial 2 zu Erweiterten Eingaben für Intel® Galileo-Mainboards
Der von Ihnen gebaute Schaltkreis verfügt über zwei Eingänge (Mikrofon und Touch-Kondensator) und zwei Ausgänge (zwei LEDs). Bevor wir alles verdrahten, betrachten wir die Arten von Eingaben, die wir verwenden.
Mikrofonsensor
Unser Mikrofonsensor ist ein analoger Eingang. Diese Art von Eingabe bedeutet, dass sie Werte aus der physischen Welt nimmt und sie in maschinenlesbare Werte konvertiert. Wir verwenden diese Werte dann in unserem Programm.
Kapacitiver Touch-Sensor
Unser Touch-Sensor ist ein digitaler Input. Diese Art von Eingabe bedeutet, dass sie nur eingehende WERTE HOCH und NIEDRIG (true/false, 0/1) interpretiert.
Es ist wichtig, die Unterschiede zwischen den beiden Arten von Eingaben zu verstehen. Das Intel® Galileo-Mainboard verfügt über sechs analoge Eingänge mit dem Etikett A0-A5. Analoge Stiftkontakte werden nur eingegeben. Analoge Pins maps eingehende Spannungssignale (0 bis 5 V) in Integerwerte zwischen 0 und 1023. Im Code lesen und schreiben wir analoge Werte unter Verwendung der analogen Funktionen.
Dem eingehenden Wert von Pin A0 "Val" zuweisen (zwischen 0 und 1023)
int val = analogRead(A0);
Schreibt eingehende Werte aus A0 (zwischen 0 und 255, nach der Zuordnung des Werts)
analogWrite(13, val);
Weitere Informationen dazu, wie und wann die analogen Funktionen verwendet werden sollen, finden Sie im Referenzleitfaden:
analogRead-Referenzinformationen
analogWrite Referenzinformationen
Warum gibt es eine analogeWrite-Funktion? An was schreiben wir?
Hier verwenden wir die PWM-Pins (Pulse Width Modulation). Im nächsten Abschnitt erfahren Sie, wie PWM funktioniert und wie und wann Sie es verwenden müssen.
Eingabewerte testen
- Schalten Sie das Breadboard ein:
- Schließen Sie zwei Jumperkabel an die 5-V- bzw. GND-Pins auf dem Galileo-Mainboard an.
- Verbinden Sie die beiden Enden dieser Kabel mit den vertikalen Streifen des Breadboards, gekennzeichnet durch +, - (die PWR und GND darstellen).
- Diese Verbindung versorgt die gesamten vertikalen Streifen mit Strom, mit der sich andere Module verbinden können.
- Schließen Sie das Mikrofon an:
- Verbinden Sie zwei Jumperkabel der PWR- und GND-Pins des Mikrofons mit den entsprechenden vertikalen Tracks auf dem Breadboard.
- Schließen Sie den restlichen Jumper vom Mikrofon an eine Reihe im innen liegenden Bereich des Breadboards an.
- Verbinden Sie dann ein Jumperkabel aus derselben Reihe mit Stift A0.
- Schließen Sie den Touch-Sensor an:
- Schließen Sie die PWR- und GND-Eingänge des Touchsensors an (wie mit den Kabeln des Mikrofons). Verbinden Sie dann das Kabel mit den breadboards vertikalen PWR- und GND-Strips.
- Schließen Sie das letzte Kabel an eine Reihe im innen liegenden Bereich des Breadboards an.
- Es muss eine andere Reihe als das Mikrofon sein. Verbinden Sie schließlich das verbleibende Jumperkabel aus der gleichen Reihe mit Pin 2.
Laden Sie die folgende Skizze hoch. Öffnen Sie Ihren seriellen Monitor, um zu sehen, was passiert:
Zuweisen und Zuweisen von zwei Variablen, die die Pins für die Sensoren darstellen
Hinweis | Das Wort const vor einer Variablendeklaration sagt dem Compiler, dass diese Variable vom Programm nicht aktualisiert werden kann. |
const int touch = 2;
const int sound = A0;
void setup(){
Serial.begin(57600);
Stellen Sie den Pin-Modus für den Touch-Sensor ein.
pinMode(touch, INPUT);
}
Hinweis | Da es sich bei dem Soundsensor um einen analogen Input handelt, müssen wir keinen Pin-Modus festlegen. |
void loop(){ 20082222: Die Zuweisung von zwei Variablen, die den Eingangswert der Sensoren darstellen
int touch_input = digitalRead(touch);
int sound_input = analogRead(sound);
Drucken Sie die Werte auf den seriellen Monitor aus
Serial.print("Ton: ");
Serial.println(sound_input);
Serial.print("touch: ");
Serial.println(touch_input);
Serial.println("");
Warten Sie 10 Millisekunden vor dem nächsten Lesen.
Verzögerung(10);
}