Модули с магнитным датчиком Холла KY-003, KY-035, KY-024 (linear magnetic Hall sensor) применяются для обнаружения магнитных полей. В модулях находится датчик Холла, который переключается, если модуль находится в магнитном поле. С помощью датчика магнитного поля Холла KY-024 также можно измерять полярность и силу магнитного поля. Модуль KY-024 состоит из линейного датчика Холла 49E, двойного дифференциального компаратора LM393, 2-ух светодиодов и шести резисторов.
Магнитный датчик Холла KY-003

Магнитный датчик Холла KY-035

Распиновка магнитных датчиков KY-003 и KY-035
S — сигнал;
середина — +5 вольт;
− — земля.
Датчик магнитного поля Холла KY-024

Распиновка модуля магнитного датчика KY-024
A0 — аналоговой выход;
GND — земля;
+ — напряжение питания 5 вольт;
D0 — цифровой выход.
Схема подключения модуля магнитного датчика KY-003 к Arduino

Принципиальная схема модуля магнитного датчика KY-003

Схема подключения модуля магнитного датчика KY-035 к Arduino

Схема подключения магнитного датчика KY-024 к Arduino

Скетч для модуля магнитного датчика KY-035 Arduino
const int pin_hall_digital = 7;
int sensor_hall;
void setup ()
{
Serial.begin(9600);
pinMode(pin_hall_digital, INPUT);
}
void loop ()
{
// при поднесении магнита к датчику - ноль
// без магнита - единица
sensor_hall= digitalRead(pin_hall_digital);
Serial.println("Показания датчика");
Serial.println(sensor_hall);
delay(300);
}
Результат работы скетча для модуля KY-035:
Скетч для модуля магнитного датчика KY-003 Arduino
const int pin_hall_analog = A0;
int sensor;
void setup ()
{
Serial.begin(9600);
pinMode(pin_hall_analog, INPUT);
}
void loop ()
{
// при подключении к аналоговому пину при поднесении магнита
// показания датчика уменьшаются
sensor= analogRead(pin_hall_analog);
Serial.println(sensor);
delay(300);
}
Результат работы скетча для модуля KY-003:

Скетч для модуля магнитного датчика KY-024 Arduino
const int pin_sensor_analog = A0;
const int pin_sensor_digital = 7;
void setup ()
{
Serial.begin (9600);
pinMode (pin_sensor_analog, INPUT);
pinMode (pin_sensor_digital, INPUT);
}
void loop ()
{
int sig_analog;
int sig_digital;
sig_analog = analogRead (pin_sensor_analog);
sig_digital = digitalRead (pin_sensor_digital);
Serial.print ("Значение аналогового сигнала ");
Serial.print (sig_analog);
if(sig_digital==1)
{
Serial.println (" Магнитное поле");
}
else
{
Serial.println (" Нет магнитного поля");
}
delay (300);
}
Результат работы скетча для модуля KY-024:

