【雕爷学编程】MicroPython动手做(21)——掌控板之磁场传感器


知识点:什么是掌控板?

掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED显示屏、RGB灯、加速度计、麦克风、光线传感器、蜂鸣器、按键开关、触摸开关、金手指外部拓展接口,支持图形化及MicroPython代码编程,可实现智能机器人、创客智造作品等智能控制类应用。



掌控板硬件特性:

ESP-32主控

处理器:Tensilica LX6双核处理器(一核处理高速连接;一核独立应用开发)

主频:高达240MHz的时钟频率

SRAM:520KB

Flash:8MB

Wi-Fi标准:FCC/CE/TELEC/KCC

Wi-Fi协议:802.11 b/g/n/d/e/i/k/r (802.11n,速度高达150 Mbps),A-MPDU和A-MSDU聚合,支持0.4us防护间隔

频率范围:2.4~2.5 GHz

蓝牙协议:符合蓝牙v4.2 BR/EDR和BLE标准

蓝牙音频:CVSD和SBC音频低功耗:10uA

供电方式:Micro USB供电

工作电压:3.3V

最大工作电流:200mA

最大负载电流:1000mA

掌控板载

三轴加速度计MSA300,测量范围:±2/4/8/16G

地磁传感器MMC5983MA,测量范围:±8 Gauss;精度0.4mGz,电子罗盘误差±0.5°

光线传感器

麦克风

3 颗全彩ws2812灯珠

1.3英寸OLED显示屏,支持16*16字符显示,分辨率128x64

无源蜂鸣器

支持2个物理按键(A/B)、6个触摸按键

支持1路鳄鱼夹接口,可方便接入各种阻性传感器

拓展接口

20通道数字I/O, (其中支持12路PWM,6路触摸输入)

5通道12bit模拟输入ADC,P0~P4

1路的外部输入鳄鱼夹接口:EXT/GND

支持I2C、UART、SPI通讯协议


地磁(磁场)传感器MMC5983MA

测量范围:±8 Gauss

精度0.4mGz,电子罗盘误差±0.5°

注:掌控板2.0版本才有

MMC5983AM特征

完全集成的3轴磁传感器和

需要较少外部电路的电子电路

组件

出色的动态范围和精度:

±8G FSR,16位操作

每LSB分辨率0.25mG

0.4mG的总RMS噪声

使航向精度达到1º

最大输出数据速率为600Hz

工业标准薄型包装

3.0x3.0x1.0毫米

使用内置的SET / RESET功能消磁

消除了热变化引起的偏移

错误(空字段输出)

清除残留的磁化强度

来自强大的外部领域

片内灵敏度补偿

片上温度传感器

Motion_Detection和Data_Ready中断

低功耗

1µA的掉电电流

I2

C从机,FAST(≤400KHz)模式

2.5V单路低功耗电源

1.8V I2

C接口

符合RoHS

与HMC5883L兼容的P2P

地磁(磁场)传感器MMC5983MA参数




地球磁场(the earth magnetic field)

是指地球周围空间分布的磁场。偶极型,近似于把一个磁铁棒放到地球中心,地磁北(N)极处于地理南极附近,地磁南(S)极处于地理北极附近。磁极与地理极不完全重合,存在磁偏角。地球磁场属于电磁场,是通过外核的电子随地球自转的电流效应(近似于电生磁)产生的磁场。

历史上,第一个提出地磁场理论概念的是英国人吉尔伯特。他在1600年提出一种论点,认为地球自身就是一个巨大的磁体,它的两极和地理两极相重合。这一理论确立了地磁场与地球的关系,指出地磁场的起因不应该在地球之外,而应在地球内部。

1893年,数学家高斯在他的著作《地磁力的绝对强度》中,从地磁成因于地球内部这一假设出发,创立了描绘地磁场的数学方法,从而使地磁场的测量和起源研究都可以用数学理论来表示。但这仅仅是一种形式上的理论,并没有从本质上阐明地磁场的起源。科学家们已掌握了地磁场的分布与变化规律,但是,对于地磁场的起源问题,学术界却一直没有找到一个令人满意的答案。关于地磁场起源的假说归纳起来可分为两大类,第一类假说是以现有的物理学理论为依据;第二类假说则独辟蹊径,认为对于地球这样一个宇宙物体,存在着不同于现有已知理论的特殊规律。属于第一类假说的有旋转电荷假说。它假定地球上存在着等量的异性电荷,一种分布在地球内部,另一种分布在地球表面,电荷随地球旋转,因而产生了磁场。这一假说能够很自然地通过电与磁的关系解释地磁场的成因。但是,这个假说却有一个致命缺点,首先它不能解释地球内外的电荷是如何分离的;其次,地球负载的电荷并不多,由它产生的磁场是很微弱的,根据计算,如果要想得到地磁场这样的磁场强度,地球的电荷储量需要扩大1亿倍才行,理论计算和实际情况出入很大。以地核为前提条件的地磁场假说也属于第一类假说,弗兰克在这类假说中提出了发电机效应理论。他认为地核中电流的形成,应该是地核金属物质在磁场中做涡旋运动时,通过感应的方式而发生的。同时,电流自身形式的场就是连续不断的再生磁场,好像发电机中的情形一样。弗兰克所建立的模型说明了怎样实现地磁场的再生过程,解释了地磁场有一定的数值。但是在应用这种模型的时候,却很难解释地核中的这种电路是怎样通过圆形回路而闭合的。此外,这个模型也没有考虑到电流对涡旋运动的反作用,而这种反作用是不允许涡旋分布于平行赤道面的平面内的。属于第一类假说的还有漂移电流假说、热力效应假说和霍尔效应假说等,但这些假说都不能全面地解释地磁场的奇异特性。关于地磁场起源还有第二类假说,这其中最具代表性的就是重物旋转假说。

1947年,布莱克特提出任意一个旋转体都具有磁矩,它与旋转体内是否存在电荷无关。这一假说认为,地球和其他天体的磁场都是在旋转中产生的,也就是说星体自然生磁,就好像电荷转动能产生磁场一样。但是,这一假说在试验和天文观测两方面都遇到了困难。在现有的实验条件下,还没有观察到旋转物体产生的磁效应。而对天体的观测结果表明,每个星球的磁场分布状况都很复杂,尚不能证明星球的旋转与磁场之间存在着必然的依存关系。因此上说,关于地磁场的起源问题,学术界仍处在探索与争鸣之中,尚没有一个具有相当说服力的理论,对地磁场的成因作出解释。


2、简易测量自然磁场(地磁)强度

python 复制代码
#MicroPython动手做(21)------掌控板之指南针模块
#简易测量自然磁场(地磁)强度

from mpython import *
while True:
    magnetic.peeling()
    oled.fill(0)
    oled.DispChar('磁场强度', 40, 15, 1)
    oled.DispChar((str(magnetic.get_field_strength())), 33, 30, 1)
    oled.show()

mPython 图形编程




3、柱状条动态地磁强度值

python 复制代码
#MicroPython动手做(21)------掌控板之指南针模块
#柱状条动态地磁强度值

from mpython import *

myUI = UI(oled)
while True:
    cc = ((100 - 0) / (2.7 - 0)) * (magnetic.get_field_strength() - 0) + 0
    magnetic.peeling()
    oled.fill(0)
    oled.DispChar('磁场强度', 8, 15, 1)
    oled.DispChar((str(magnetic.get_field_strength())), 56, 15, 1)
    myUI.stripBar(6, 35, 110, 10, cc, 1, 1)
    oled.show()

mPython 图形编程


4、磁感应开关控制RGB

python 复制代码
#MicroPython动手做(21)------掌控板之指南针模块
#磁感应开关控制RGB

from mpython import *
import time


while True:
    magnetic.peeling()
    oled.fill(0)
    oled.DispChar("磁场强度", 39, 15, 1)
    oled.DispChar((str(magnetic.get_field_strength())), 33, 35, 1)
    oled.show()
    if int(magnetic.get_field_strength()) > 200:
        rgb.fill((int(255), int(0), int(0)))
        rgb.write()
        time.sleep_ms(1)
        oled.fill(0)
        oled.DispChar("三颗红灯  开", 26, 20, 1)
        oled.show()
        time.sleep(1)
    else:
        rgb.fill( (0, 0, 0) )
        rgb.write()
        time.sleep_ms(1)

mPython X 图形编程

相关推荐
长和信泰光伏储能几秒前
京津冀光伏发电:绿色能源的未来之路
python·能源
sphw15 分钟前
nixnb: Jupyter Notebook 优雅分享
ide·人工智能·jupyter
浦信仿真大讲堂25 分钟前
从重复操作到自动化闭环:如何让 CST 与 Python 真正协同起来
python·自动化·cst·仿真软件·达索软件
Gu Gu Study1 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python
卷无止境2 小时前
写代码这件事,到底该讲究点什么?
后端·python
卷无止境2 小时前
循环复杂度到底在算什么,Python 代码怎么才能写得让人一看就懂
后端·python
lpfasd1232 小时前
MediaCrawler 项目深度分析
chrome·python·chrome devtools
Dxy12393102162 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
bamb003 小时前
一个项目带你入门AI应用开发01
python
0566463 小时前
Python康复训练——常用标准库
开发语言·python·学习