Bemerkung

Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.

Warum beitreten?

  • Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.

  • Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.

  • Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.

  • Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.

  • Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.

👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!

Lektion 06: Hall-Sensormodul

In dieser Lektion lernen Sie, wie ein Hall-Sensor magnetische Felder mit einem Arduino erkennt. Wir werden untersuchen, wie man das analoge Signal des Sensors mit dem Arduino Uno liest und die Werte interpretiert, um die Polarität eines Magnetfeldes zu bestimmen. Sie werden die Funktionsweise des Hall-Sensors verstehen und erfahren, wie das Arduino-Board diese Messwerte in Echtzeit verarbeitet und anzeigt.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Es ist definitiv praktisch, ein komplettes Kit zu kaufen. Hier ist der Link:

Name

ITEMS IN THIS KIT

LINK

Universal Maker Sensor Kit

94

Universal Maker Sensor Kit

Sie können die Komponenten auch separat über die folgenden Links kaufen.

Component Introduction

Purchase Link

Arduino UNO R3 or R4

KAUFEN

Hallsensor-Modul

-

Verkabelung

../_images/Lesson_06_hall_uno_bb.png

Code

Codeanalyse

  1. Einrichtung des Hall-Sensors

    const int hallSensorPin = A0;  // Pin A0 connected to the Hall sensor output
    void setup() {
      Serial.begin(9600);             // Initialize serial communication at 9600 bps
      pinMode(hallSensorPin, INPUT);  // Set hall sensor pin as input
    }
    

    Der Ausgang des Hall-Sensors ist mit Pin A0 des Arduino verbunden. Die Funktion setup() wird verwendet, um die serielle Kommunikation mit 9600 Bit pro Sekunde (bps) zu initialisieren, um Daten auf dem seriellen Monitor anzuzeigen. Die Funktion pinMode() wird verwendet, um A0 als Eingangspin zu konfigurieren.

  2. Auslesen des Hall-Sensors und Bestimmen der Polarität

    Das Hall-Sensormodul ist mit einem 49E linearen Hall-Effekt-Sensor ausgestattet, der die Polarität der magnetischen Nord- und Südpolen sowie die relative Stärke des Magnetfeldes messen kann. Wenn Sie den Südpol eines Magneten in die Nähe der Seite mit der Aufschrift 49E (die Seite mit eingraviertem Text) bringen, erhöht sich der vom Code gelesene Wert linear in Proportion zur angelegten Magnetfeldstärke. Umgekehrt, wenn Sie einen Nordpol in die Nähe dieser Seite bringen, verringert sich der vom Code gelesene Wert linear in Proportion zur Magnetfeldstärke. Weitere Details finden Sie unter Hallsensor-Modul.

    void loop() {
      int sensorValue = analogRead(hallSensorPin);  // Read analog value from Hall sensor
      Serial.print(sensorValue);                    // Output raw sensor value to Serial Monitor
      delay(200);                                   // Delay for 200 milliseconds
    
      // Determine magnetic pole based on sensor value
      if (sensorValue >= 700) {
        Serial.print(" - South pole detected");  // South pole detected if value >= 700
      } else if (sensorValue <= 300) {
        Serial.print(" - North pole detected");  // North pole detected if value <= 300
      }
    
      Serial.println();  // New line for next output
    }