Achtung:
- wenn auf dem Motorshield 2 DC Motoren angeschlossen sind, gehen die analogen Pins auf dem Shield und a8 und a9 auf dem mega Board nicht!!!!!!!!!!!!!!!!!!!!!!!!!1
- Auf dem Arduino Board bei Analog-Pins kein A davor schreiben!!!!
_____________________
Ultraschallsensor
- Ultrasonic Sensor:
- Anschlüsse: +, – und a0 (muss ein analog Pin sein)
- Bei dem Sensor auf + GND und AN gehen
Beispiel-Programm
Mögliches Programm zum Testen:
const int digitalInPin = 3; // Analog output pin that the LED is attached to
const int analogOutPin = 0; //beim Sensor an den „AN“ Pin anschließen (für analog)
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
pinMode(digitalInPin, OUTPUT);
pinMode(analogOutPin, OUTPUT);
}
void loop() {
if (analogRead(analogOutPin) < 50){
digitalWrite(digitalInPin, 1);
Serial.print(„analog „),
Serial.println(analogRead(analogOutPin));
delay(500);
}
else{
digitalWrite(digitalInPin, 0);
Serial.print(„analog „),
Serial.println(analogRead(analogOutPin));
delay(500);
}
}
___________________________________________________________________________________
Lichtsensor:
- Muss an einen analogen Pin angeschlossen werden!!!!!!!!!!!!!!!!!!
- Schwarz liefert sehr niedrige Werte (meist unter 10)
- Silber liefert meist Werte zwischen 10 und 20
- Weiss liefert meist Werte größer als 3
_____________________________________________________________________________________
Infrarotsensor:
- Kontinuierlich wird je nach Abstand eine unterschiedliche Spannung geliefert (je dichter desto höher (von ca. 1 bis 2,5 Volt, wobei von ca. 8 cm bis 25 cm messbar ist der Abstand)
- Nur Dinge, die direkt vor dem Sensor sind, werden erfasst, da ein Lichtstrahl von einem „Loch“ abgesandt wird und vom anderen empfangen wird und der Auftreffwinkel ist je nach Abstand unterschiedlich und erzeugt auch unterschiedlich viel Spannung (je dichter, desto direkter, daher mehr Spannung)
- Der weiße Kabel muss an einem analogPin liegen (a0 – a3), weil analoge Volt Werte zurückgeliefert werden bei analogRead(a0).
- Man kann auch mit digitalRead arbeiten und einem digitalPin, dann wird nur unterschieden zwischen „etwas ist da“ = 1 oder nichts da = 0 (nur der max. Abstand kann hier so gemessen werden).
Wichtig: nicht an einem analogen Pin auf dem Motorshield anschließen, einen Pin auf dem Mega Board selbst nehmen
Bsp. Prg:
//max. Absatand ca. 20 cm. Wenn kein Hindernis, dann Werte um //die 20-30
//sonst, wenn Hindernis direkt vor dem Sensor, dann Werte um //300 – 600
// je dichter, desto größer der Wert
const int analogOutPin = A0;
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
pinMode(analogOutPin, INPUT); }
void loop() {
Serial.print(„analog „),
Serial.println(analogRead(analogOutPin));
delay(500);
}
________________________________________________________
Buzzer
Es reicht nicht, eine bestimmte Zeit an und dann wieder aus zu machen. Um einen Ton zu erzeugen, muss man den Buzzer in Schwingung versetzen, also ganz schnell an und aus – je schneller, desto höher der Ton. Das dann in eine for-Schleife packen, um den Ton länger hörbar zu machen…
void beep (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds) // the sound producing function
{
int x;
long delayAmount = (long)(1000000/frequencyInHertz); //Frequenz
//wie lange ein Ton gespielt wird, bzw. eine Frequenz gehalten wird
long loopTime = (long)((timeInMilliseconds*1000)/(delayAmount*2));
//for ist nötig, um den Ton über ein kurze Zeit hinweg zu erzeugen
for (x=0;x<loopTime;x++)
{
//wie schenll der buzzer zw. HIGH und LOW hin und her „schwingt (die Membran), dass bestimmmt die Tonhöhe.
// je kleiner der delayAmount, desto höher die Frequenz der Membran, desto höher der Ton
digitalWrite(speakerPin,HIGH);
delayMicroseconds(delayAmount); //nur ganz kurzer delay, für das Schwingen
digitalWrite(speakerPin,LOW);
delayMicroseconds(delayAmount);
}
}
_________________________________
GPS Sensor
Beispielprogramm und Info in der Doku von Akshy
Skript zum GPS Sensor Ultimate Breakout v3 NEU1
Akshys Blog dazu: https://akshyinfoos.wordpress.com/semester-1/seminar/projekt-2-gps-system/
______________________________________
Kommentar verfassen