[作品提交] 【得捷电子Follow me第1期】总结 

小默叔叔   2023-7-15 19:15 楼主

【得捷电子Follow me第1期】总

一、总结视频

28a63997a7423b499feba221d56b7928

二、项目描述及各项目说明

在这次活动中,我收获颇丰,对树莓派的应用有了深入的了解,同时也掌握了许多有用的嵌入式开发技能。我非常感谢EEWORLD与得捷电子提供了这次非常有意义的学习机会,让我有机会接触树莓派,并在这个过程中学习了许多有趣而实用的知识。

 

通过参与这个活动,我成功地使用了Raspberry Pi Pico w开发板,并在Thonny IDE软件中下载和运行了固件。这为我开启了进入嵌入式编程领域的大门,让我对硬件与软件的结合有了更深入的了解。同时,我掌握了micropython的基本语法,这是一种精简的Python版本,适用于嵌入式系统。学习了如何在树莓派上运行micropython代码,这对我未来的嵌入式开发项目将非常有帮助。

 

我还学习了驱动各种外设,如LED、OLED显示屏和蜂鸣器。通过简单的代码,我成功地实现了LED的闪烁和蜂鸣器的声音调节。同时,我也掌握了调用封装库来驱动OLED显示屏的方法,让我能够在树莓派上进行各种信息的展示和交互。

 

另外,学习使用network模块实现通过网络同步系统时间也是我在这次活动中的一大收获。我了解了连接WiFi网络和获取实时时间的方法,这对于项目中涉及到时间同步的需求将非常有帮助。

 

最让我兴奋的是学会了使用GNSS模块实现定位功能。通过与GROVE - GPS扩展板的配合,我在树莓派上成功获取了定位数据,并通过OLED显示屏进行展示。这让我对GPS定位技术有了更深刻的认识,并为我未来参与定位相关项目提供了很好的基础。

 

总的来说,这次树莓派学习活动对我而言意义重大。我不仅掌握了嵌入式开发的基本技能,还学会了在树莓派上运行各种外设和实现网络通信。这为我的个人技能提升和未来的职业发展打下了坚实的基础。再次感谢EEWORLD与得捷电子提供的这次宝贵的学习机会!

 

任务1:熟悉Thonny IDE的开发环境搭建和micropython的基本语法

这次Raspberry Pi Pico w的开发环境是基于Thonny。Thonny 是一个适合初学者的 Python IDE,由爱沙尼亚的 Tartu 大学 开发,它采用了不同的方法,因为它的调试器是专为学习和教学编程而设计的。它可以用于开发RP2040和ESP32等芯片。

下载地址为:https://thonny.org/

Thonny的使用说明:

  1. 配置解释器:运行→配置解释器 image.png
  2. Thonny窗口的注释和基本用法 image.png
  3. 打印“hello world” image.png
  4.  MicroPython的语法MicroPython使用了类似于Python的语法,但没有其更大的同类中所具有的额外特性的优势。例如,MicroPython无法访问 Python 可用的大量库。但MicroPython 旨在运行在资源有限的硬件上,配备了一组核心库,提供一些基本功能,例如网络、文件 I/O 和有限的数据类型。总结一句话就是:与Python语法基本相同,调用库的话,最好调用MicroPython的。

任务2:驱动外设

这里用到的外设主要有:OLED、蜂鸣器(GNSS和板载WiFi放在下一个内容说明)

  1. OLED 驱动

    这里参考了各位大佬的代码,其中有一位还把树莓派的图画在了OLED上,特别的喜欢和感谢。

    OLED这里使用了I2C1来驱动,我尝试使用I2C0,但不成功,看了下底板的原理图Grove_shield_for_PI PICO v1.0.sch 不知道出错的原因是什么 image.png image.png image.png
  2. 蜂鸣器

    这里使用18引脚驱动蜂鸣器,使用高低电平反转进行驱动蜂鸣器发声,间隔0.5s响一次,共五次 image.png image.png

任务3:同步网络时间

        Raspberry Pi Pico W 它在 Raspberry Pi Pico 基础上增加了一个经过认证的2.4GHz 802.11n无线模块,所以可以使用它连接家里热点,通过NTP获取当前时间。

这里基本逻辑是先连接热点,连接成功后,使用NTP校时,并在 OLED上显示 image.png image.png image.png

任务4:实现定位功能

            定位功能使用GNSS模块,这里需要引用到的库micropyGPS,所以需要micropyGPS库导入到pico里https://github.com/inmcm/micropyGPS,才可以正常引用。这里需要注意的是,其实只要在pico下简历个lib目录,将micropyGPS.py 导入就可以了。

            获取GPS信息打印当前时间,并在OLED上显示。(GNSS模块务必放到窗户旁,且无遮挡物可以看到天之类的位置,否则或不去不到位置) image.png image.png image.png  三、对本活动的心得体会

           这次参加"Follow me活动”活动,使用的是RP2040 Pico W 作为学习硬件,第一次使用MicroPython开发硬件,熟悉了Thonny IDE的开发环境,也对Pico的OLED、蜂鸣器的驱动做了解。还使用到了Pico的wifi和GNSS模块,学习了它的使用方法。

           遇到很多事情,但也感谢EEWorld工作人员一直等待和督促,才完成了这个活动,也让我接触到了Pico W和相关外设的使用方法,期待下次活动能继续学习新的知识。

四、代码上传

       见附件
ufont.py (10.4 KB)
(下载次数: 1, 2023-7-15 18:59 上传)
ssd1306.py (4.57 KB)
(下载次数: 1, 2023-7-15 18:59 上传)
oled.py (1.65 KB)
(下载次数: 1, 2023-7-15 18:59 上传)
oled_gps.py (950 Bytes)
(下载次数: 0, 2023-7-15 19:11 上传)
nettime.py (1.61 KB)
(下载次数: 0, 2023-7-15 19:11 上传)
buzzer.py (286 Bytes)
(下载次数: 0, 2023-7-15 19:11 上传)
micropyGPS.py (29.63 KB)
(下载次数: 1, 2023-7-15 19:13 上传)

回复评论 (3)

谢谢分享 , 学习 学习一下 , .
点赞  2023-7-15 23:19

确实是MicroPython无法访问 Python 可用的大量库,靠核心库的一些基本功能

点赞  2023-7-16 11:02

确实是MicroPython无法访问 Python 可用的大量库,靠核心库的一些基本功能

点赞  2023-7-16 13:03
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复