Модули с магнитным датчиком Холла 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: