Sensoren

Achtung:

  1. 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
  2. Auf dem Arduino Board bei Analog-Pins kein A davor schreiben!!!!

_____________________

Ultraschallsensor

UltrashallSensor

  1. Ultrasonic Sensor:
    1. Anschlüsse: +,  – und a0  (muss ein analog Pin sein)
    1. 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:

  1. Muss an einen analogen Pin angeschlossen werden!!!!!!!!!!!!!!!!!!
  2. Schwarz liefert sehr niedrige Werte (meist unter 10)
  3. Silber liefert meist Werte zwischen 10 und 20
  4. Weiss liefert meist Werte größer als 3

_____________________________________________________________________________________

Infrarotsensor:

  1. 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)
  1. 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)
  1. Der weiße Kabel muss an einem analogPin liegen (a0 – a3),  weil analoge Volt Werte zurückgeliefert werden bei analogRead(a0).
  1. 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/

______________________________________

Werbung

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

Gib Deine E-Mail-Adresse an, um dem Blog zu folgen, dann bekommst Du automatisch alle Änderungen in den Artikeln per E-Mail zugeschickt

Kategorien
%d Bloggern gefällt das: