Using analog-digital magnetic field sensor with pyMCU
A Hall effect sensor is a sort of a switch that turns on or off if it is close to a strong magnetic field (close to a magnet). It can work as a motion or rotation sensor reacting to a part that moves back and to the sensor.
There is a lot of sensor board with Hall sensor made for Arduino. I used one of available board from dx.com. You can find it also on ebay and at other shops.
The board has four pins: GND (-), ACC (+5V), A0 and D0. In case of pyMCU we just connect GND and ACC to matching sockets. If we want a digital signal (1 or 0) the we use the D0 connected to D1 on pyMCU. Analog value is available via A0 connected to A1 on pyMCU board. Double female and double male jumper wires will be needed to connect them together.
I've shown how to read analog values in previous article. This sensor board gave somewhere above 200 when there was no strong magnetic field and around 0 when it was placed close to a magnet. When reading digital value we have 0 with no magnetic field and 1 when the field is strong enough to trigger the sensor. With pyMCU you can read the digital value like so:
import pymcu
mb = pymcu.mcuModule()
mb.digitalState(1, 'input')
while 1:
if mb.digitalRead(1):
print 'South'
else:
print '.'
There is a lot of such plain boards for Arduino. Aside of that platform most of them should also work with pyMCU. For Raspberry you will quite likely need an extension board providing 5V logic as such voltage is used by Arduino - and Arduino compatible sensor boards and shields. I'll cover more complex interfaces like I2C or SPI in following articles.
Comment article