KY-024 Linear magnetic Hall Sensor: Unterschied zwischen den Versionen

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Technische Daten / Kurzbeschreibung)
Zeile 1: Zeile 1:
 
==Bild==
 
==Bild==
[[Datei:ky-024.jpg|358x358px|none]]
+
[[Datei:ky-024.jpg|none|358x358px]]
  
 
==Technische Daten / Kurzbeschreibung==
 
==Technische Daten / Kurzbeschreibung==
Zeile 11: Zeile 11:
 
''' Analoger Ausgang:''' Direkter Messwert der Sensoreinheit
 
''' Analoger Ausgang:''' Direkter Messwert der Sensoreinheit
  
-------------------
+
----
 +
---------------
  
 
'''LED1:''' Zeigt an, dass der Sensor mit Spannung versorgt ist
 
'''LED1:''' Zeigt an, dass der Sensor mit Spannung versorgt ist
Zeile 18: Zeile 19:
  
 
==Pin-Belegung==
 
==Pin-Belegung==
[[Datei:4_dig_V_G_An.png|450x235px|none]]
+
[[Datei:4_dig_V_G_An.png|none|450x235px]]
  
 
==Codebeispiel Arduino==
 
==Codebeispiel Arduino==
<pre class="brush:cpp">int Led = 13 ;/ / define LED Interface
+
<pre class="brush:cpp">
int buttonpin = 3; / / define the linear Hall magnetic sensor interface
+
// Deklaration und Initialisierung der Eingang-Pins
int val ;/ / define numeric variables val
+
int Analog_Eingang = A0; // X-Achse-Signal
 +
int Digital_Eingang = 3; // Knopf
 +
 
void setup ()
 
void setup ()
 
{
 
{
pinMode (Led, OUTPUT) ;/ / define LED as output interface
+
  pinMode (Analog_Eingang, INPUT);
pinMode (buttonpin, INPUT) ;/ / define linear Hall magnetic sensor output interface
+
  pinMode (Digital_Eingang, INPUT);
 +
     
 +
  Serial.begin (9600); // Serielle Ausgabe mit 9600 bps
 
}
 
}
 +
 +
// Das Programm liest die aktuellen Werte der Eingang-Pins
 +
// und gibt diese auf der seriellen Ausgabe aus
 
void loop ()
 
void loop ()
 
{
 
{
val = digitalRead (buttonpin) ;/ / digital interface will be assigned a value of 3 to read val
+
  float Analog;
if (val == HIGH) / / When the linear Hall sensor detects a magnetic signal, LED flashes
+
  int Digital;
{
+
 
digitalWrite (Led, HIGH);
+
  //Aktuelle Werte werden ausgelesen, auf den Spannungswert konvertiert...
}
+
  Analog = analogRead (Analog_Eingang) * (5.0 / 1023.0);
else
+
  Digital = digitalRead (Digital_Eingang);
{
+
 
digitalWrite (Led, LOW);
+
  //... und an dieser Stelle ausgegeben
}
+
  Serial.print ("Analoger Spannungswert:"); Serial.print (Analog, 4);  Serial.print ("V, ");
 +
  Serial.print ("Grenzwert:");
 +
 +
  if(Digital==1)
 +
  {
 +
      Serial.println (" erreicht");
 +
  }
 +
  else
 +
  {
 +
      Serial.println (" noch nicht erreicht");
 +
  }
 +
  Serial.println ("----------------------------------------------------------------");
 +
  delay (200);
 
}
 
}
 
</pre>
 
</pre>

Version vom 6. April 2016, 13:45 Uhr

Bild

ky-024.jpg

Technische Daten / Kurzbeschreibung

Chipsatz: A3141 | OP-Verstärker: LM393

Das Magnetfeld wird vom Sensor gemessen und als analoger Spannungswert ausgegeben. Die Empfindlichkeit des Sensors kann mittels des Potentiometers geregelt werden.


Digitaler Ausgang: Wird ein Magnetfeld erkannt, so wird hier ein Signal ausgegeben 

Analoger Ausgang: Direkter Messwert der Sensoreinheit



LED1: Zeigt an, dass der Sensor mit Spannung versorgt ist

LED2: Zeigt an, dass ein Magnetfeld detektiert wurde

Pin-Belegung

4 dig V G An.png

Codebeispiel Arduino

// Deklaration und Initialisierung der Eingang-Pins
int Analog_Eingang = A0; // X-Achse-Signal
int Digital_Eingang = 3; // Knopf
 
void setup ()
{
  pinMode (Analog_Eingang, INPUT);
  pinMode (Digital_Eingang, INPUT);
      
  Serial.begin (9600); // Serielle Ausgabe mit 9600 bps
}
 
// Das Programm liest die aktuellen Werte der Eingang-Pins
// und gibt diese auf der seriellen Ausgabe aus
void loop ()
{
  float Analog;
  int Digital;
   
  //Aktuelle Werte werden ausgelesen, auf den Spannungswert konvertiert...
  Analog = analogRead (Analog_Eingang) * (5.0 / 1023.0); 
  Digital = digitalRead (Digital_Eingang);
   
  //... und an dieser Stelle ausgegeben
  Serial.print ("Analoger Spannungswert:"); Serial.print (Analog, 4);  Serial.print ("V, ");
  Serial.print ("Grenzwert:");
 
  if(Digital==1)
  {
      Serial.println (" erreicht");
  }
  else
  {
      Serial.println (" noch nicht erreicht");
  }
  Serial.println ("----------------------------------------------------------------");
  delay (200);
}