����λ�ã���ҳ > �����̳� > �̳� > �Ÿ��˵� MicroPython ����ָ�ϣ���һ���������á�Blink������

�Ÿ��˵� MicroPython ����ָ�ϣ���һ���������á�Blink������

��Դ������������|��ʱ�䣺2024-06-30 15:57:01 |���Ķ���172��|�� ��ǩ�� T MIC Link K rop Blink C in �� ���� ���� Python �� |����������

Ŀ¼ʲô�� MicroPython��������Ӳ��������������Hello World��BlinkPico �����ų�������Ԫ����������߿��ط�������ܵ���ʹ��� Pico ��˸����ο� ʲô�� MicroPython MicroPython ��һ������ Python 3.4 �ĸ�Чʵ�֣���רΪ΢��������Ƕ

ʲô�� MicroPython

MicroPython ��һ������ Python 3.4 �ĸ�Чʵ�֣���רΪ΢��������Ƕ��ʽϵͳ��ơ����ṩ��һ��С�͵� Python ������������һЩ��׼��IJ��֣������ܹ�����Դ���޵��豸�����С�MicroPython ֧�ֽ���ʽ��̣�REPL�������⾫���������б����������������쳣�����ȸ߼����ܣ�ʹ�����߿����ڱ�Ե�豸�ϱ�д�����и��ӵij���

�� MicroPython ���Ƶ� CircuitPython��Ҳ��һ��������΢�������ϵ� Python ������������һ������������쿪Դ����Ӳ���Ĺ�˾ Adafruit �ƶ��ģ����� MicroPython �� Folk �汾������ CircuitPython �ĺܶ����ݺ� MicroPython �����Ƶġ��ؼ��������� CircuitPython �� Adafruit �Ŀ������Լ���������֧�ָ��ã�Adafruit �����϶��Ƴ���ÿһ��������ṩ����ص� CircuitPython �����������ѧ���Լ� DIY���� MicroPython �����������豸֧�ֵĸ��㷺������ѧϰ��һ�����Ҳ�����߼��ʣ����߼����ˡ�

��������

֧�� MicroPython ��΢�������кܶ࣬����ʹ�� Raspberry Pi Pico��Raspberry Pi Pico ����ݮ�ɻ���ᷢ�����׿�΢����������Ʒ������ RP2040 оƬ�������ۼ۽� 4 ��Ԫ��Pico ����Ŀǰ�� Raspberry Pi Pico�����󣩣�Pico H���󣩣�Pico W���ң��� Pico WH�����ң���ɡ�

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

Pico ʹ����һ�� RP2040 оƬ��

  • ���� 40nm �������죬˫�� Cortex-M0+ @ 133MHz
  • оƬ���� 264KB SRAM �� 2MB ��������
  • 30 �� GPIO ���ţ����� 4 �������������
  • 2 �� UART��2 �� SPI ��������2 �� I2C ��������16 �� PWM ͨ��
  • ֧�� UF2 �� USB �������洢����ģʽ�������Ϸ�ʽ���
  • ����

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

Ӳ������

  1. �� MicroPython �������������� Pico �� UF2 ��� https://micropython.org/download/RPI_PICO
  2. ��ס Pico �������ϵ� BOOTSEL ��ť��Ȼ�� Pico ������Ե� USB �ӿڣ�Ȼ���ɿ� BOOTSEL ��ť��
  3. Pico �ᱻʶ��Ϊ�������洢�豸��
  4. �����ص� MicroPython UF2 �ļ����� RPI-RP2 ���ϡ�Pico ���Զ�������Ȼ�� MicroPython �ͻῪʼ���С�

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

��������

MicroPython �Ŀ�������ʹ�� Thonny IDE��������Ϊһ�Դ����������˿����ߵ��������������DZȽϷ��еġ�������ʹ�� Visual Studio Code ����һ����С����������

  1. �������ذ�װ Visual Studio Code�� https://code.visualstudio.com
  2. ѡ�� ����չ������ ����չ���̵ꡱ �������������롰RT-Thread MicroPython������� ����װ�������� MicroPython ��������΢�������ϵģ���������С������������������ˡ�
    ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð
  3. �����ʹ�ô��벹ȫ���ܻ���Ҫ Python ���������� Python ���������� Python ��װ���� https://www.python.org/downloads
  4. �� VS Code �а�װ Python �������Python������Pylance����
    ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

�ڰ�װ�� MicroPython �����VS Code �ײ�����ּ�����ť�����У�

  1. ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð ���ڴ������� MicroPython ��Ŀ��
    ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð
  2. ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð �������� Pico �豸��
    ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð
  3. ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð �������� MicroPython ����
  4. ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð ����ֹͣ���� MicroPython ����
  5. ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð ���ڽ� MicroPython ��Ŀ������ Pico �豸��

Hello World��

��������IJ��裬�½�һ�� MicroPython ��Ŀ���� main_example.py �ļ���

def main():
? ? print("Welcome to RT-Thread MicroPython!")
? ? 
if __name__ == '__main__':
? ? main()

�� C��Java��C# �ȱ��������Բ�ͬ��Python ��һ�ֽ����ͽű����ԣ�����ʱ�Ǵ�ģ�鶥�п�ʼ�����н��з���ִ�С����� Python �в�����Ҫһ��ͳһ�� main() ��Ϊ�������ڡ� if __name__ == '__main__' ��һ����־�������� Java �������еij�������ڡ�

��������С���ť�󣬵�һ��������� Pico �������������ˣ��� Python �������п��Թ۲쵽���н����

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

Blink

�������뵽����̡�ʱ��ͨ������Ȼ���뵽������Ȼ������̲������Ǻ������йأ���������ͨ��Ӳ�����Ӱ����ʵ�������硣��Ҳ����ν�� �������� ������˼�壬���������������ij��������ʵ�����е������Ӳ���������������������ڿյ������ó��򣬸ı�ɱ�̺������ϵ��¶ȣ�������΢��¯��ѡ��ͬ���ģʽ����Щ�豸ͨ�����ɵ�Ƭ�����Ƶġ�

Pico ������

Pico ͨ�����Եһϵ�е�������Ӳ��ͨ�š���Щ���Ŵ������Ϊ ͨ������/�����GPIO�� ���Ź��������ǿ��Ա������Ϊ������������û���Լ��Ĺ̶���;����Щ�����ж���Ĺ��ܺ�������ӵ�Ӳ��ͨ�ŵ�ģʽ����һЩ����һ���̶��Ĺ��ܣ����繩����ṩ���ӵĹ��ܡ�

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

Pico �� 40 �����ű�����ڰ�ĵײ�����Щ��ǩ�������ס������������ġ�dz��ɫ��ǩ�� GPxx ������ GPIO ���ţ�������������Ҫ�����̣����ⲿӲ�����в������������ŵ���;������ı���

���� ���� ����
3V3 3.3V ��Դ Pico �Ĺ�����ѹ
VSYS 2-5V ��Դ ����Ϊ��Դ��������
VBUS 5V ��Դ �� Pico �� USB �˿ڻ�ȡ�� 5V ��Դ
GND 0V �ӵ� �ӵ�����
GPxx ͨ������/������� �������ʹ�õ�GPIO���ţ����ΪGP0-GP28
ADCx ģ��ת������ �ȿ�������ģ�����룬Ҳ����������������������������ͬʱ��������
ADC_VREF ģ��ת�����ο���ѹ ģ���������òο���ѹ��������������
AGND ģ��ת���� 0V �ο���ѹ ����Ľӵ�����
UARTx ����Э������ �������豸���д���ͨ��
I2Cx I2C����Э������ �������豸���� I2C ͨ��
SPIx SPI Э������ �������豸���� SPI ͨ��
RUN ���û���� Pico ����΢����������ͨ�������ſ��� Pico���������ڸ�λ

��������Ԫ��

�����

����壨Breadboard���Ǵ������·ԭ�͵������Ʒ��������Ƕ������������������ľ��������·������飬���ż�����չֱ�� 1970 �����躸�ӵIJ�Ӱ����ռ�������������ı�������ֱ�ݵ�·ԭ��ʵ���Ʒ��ͳ�ơ�������������Ǻ���5λ��ͨ��һ�����ڽӵ�Դ�ͽӵأ��м�����������5λ��ͨ��ͨ�����ڷ��õ�·Ԫ���͵�·�����ߡ�

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

����

���ߣ�Jumper Wire����Ҳ����Ϊ�Ű��ߡ������ֲ�ͬ�����ͣ�����ĸ�ߣ�M2F����ĸ��ĸ�ߣ�F2F���Լ����Թ��ߣ�M2M���������ʹ������壬����ʹ�� F2F ��������ӵ� Pico�����ʹ������壬���Խ�������뵽������У�ʹ�� M2M �������ӡ�

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

����

���أ�Switch����Ҳ��Ϊ˲ʱ���ء��ᴥ���أ�ͨ���������������ſɹ�ѡ�񣬰��°�ťʱ�൱�ڵ��߱���ͨ����ť��һ�������豸�����Ը��߳������Ƿ񱻰��£�Ȼ��ִ��������һ�ֳ����Ŀ����������������أ����¿���ʱһֱ���ֻ״̬��ֱ���ٴ��л�����

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

���������

��������ܣ�LED��������豸����ϴ�»���΢��¯��С�ҵ��ָʾ�ƣ���·�ߵ�·�ơ�����ĵ��Ƶȣ�LED ���洦�ɼ���LED �и��ָ�������״����ɫ��������ѹ��Ϊ�˷�ֹ�䱻������ͨ���������������ʹ�á������ܾ��е��򵼵��ԣ�ֻ����������ȷ�ĵ缫����ʱ����������������LED �ij���Ϊ���������ڵ�Դ�������̶�Ϊ���������ڵ�Դ������

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

����

�����ǿ��Ƶ���������Ԫ����ʹ��ŷķ �� Ϊ��λ��ŷķ��ֵԽ���ṩ��������Խ��

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

��Щ����ı���Ϳ��һЩ������ɫ�Ļ�״��־����Ϊ ɫ������ ��ɫ��������������壬�������ֵ��Ҫ��ȡ�����ֵ��������һ������ʼ���ڱ��� 1st/2nd Band ���в���������ɫ���õ���һ���͵ڶ������֡�������ͼ������������ɫɫ������ɫֵΪ 3���ܹ�Ϊ 33��������ɫ������ɫ��ʾ����������Ҫ��ǰ����ɫ���õ��������Գ������ܵõ������ʵ��ֵ��������ͼ�������ɫɫ������˼�� ��10��ǰ����ɫ���� 33����ɫɫ���� x10�� 33x10=330�� �����͵õ��˵����ֵ�����һ�����ǵ�����ݲ��ʾʵ����ֵ������ֵ֮���ƫ��̶ȣ����ڴ����ҵ����Ŀ��˵���ݲ���Ǻ���Ҫ��

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

ʹ��� Pico ��˸

��������Ļ�ϴ�ӡ��Hello, World!����ѧϰ������Եĵ�һ��һ�����ڵ�·����ͨ����̵��� LED ����ѧϰ��������ľ������ŷ�ʽ��Blink ��Ϊ��գ�ۡ���˸��������ͨ�����ʹ Pico �������ϵ� LED �Ʋ�����˸��ģ�⡰գ�ۡ���Ч����

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

Pico �ϵ���� LED ���ӵ� GPIO ����֮һ�� GP25������Ϊ��������Ѿ������ڰ������� LED������ Pico ��Ե������ GPIO �����Ͼ�û�� GP25 �ˡ���� LED �Ĺ���ԭ���������κ� LED һ��:

  • ͨ��ʱ�����ᷢ��
  • �����ϵ�ʱ��Ϩ��

�����½�һ�� MicroPython ��Ŀ��������� LED ����˸�����ȵ��� machine ����

import machine

��̵ܶ�һ�д�������� Pico ��ʹ�� MicroPython �Ƿdz��ؼ��ģ��������� MicroPython �� Pico ͨ�����������ָ���չ������������������ԡ����û����һ������������޷����� Pico ���κ� GPIO ���ţ���ȻҲ�޷�ʹ���ص� LED ������

����ʹ�� Pin() ������ȡ���š�

led = machine.Pin(25, machine.Pin.OUT)

��һ�ж�����һ����Ϊ led �Ķ��󣬵��� machine ���е� Pin() ���������������רΪ���� GPIO ���š���һ������25��������Ҫ���õ����ŵı��; �ڶ��� machine.Pin.Out �Ǹ��� Pico ����Ӧ������������������롣

����Ĵ���ֻ����������ŵ����ã��������ܵ���LED��Ҫ����LED������Ҫͨ��������� Pico �����Ŵ򿪡�

led.value(1)

ǰ����д����˶��� led ����Ϊ GP25 �����ϵ��������һ�н��ö����ֵ�趨Ϊ 1 ���������еĸߵ�ƽ��������'on'����Ҳ���Խ�ֵ����Ϊ 0 ������'off'��

led.value(0)

��β����� LED ��˸�����أ����ǿ����� LED �Ŀ����֮�����һ����ʱ������ machine ��һ������ utime �⵼�뵽�����С�

import utime

����⴦����ʱ���йص��������顣�ڿ��� LED �Ĵ����������һ����ʱ������ utime ���е� sleep() �������⽫ʹ������ͣ�����������������ͣ 1s ��

utime.sleep(1)

����һ��ѭ���󣬾Ϳ����� LED ��˸�ˡ�

import machine
import utime

def main():
    led = machine.Pin(25, machine.Pin.OUT)
    
    while True:
        led.value(1)
        utime.sleep(1)
        led.value(0)
        utime.sleep(1)
    
if __name__ == '__main__':
    main()

����

����ij����������� REPL �����У����ϵ����� Pico ʱ���������ʧ���������ܽ�����־û��� Pico ���أ����½� MicroPython ��Ŀʱ��Ĭ���ṩ��һ���ļ���Ϊ main_example.py ���ļ���ͨ����������ļ����д���룬���е��ԡ������������¼ʱ�����ļ�������Ϊ main.py �������ͬ������ť�������һ���Ҫ���ص� Pico �е��ļ����ļ��е�������ظ��ļ�/�ļ��е��豸�ϡ���������ɺ�ϵ����������� Pico �ͻ�ִ�� main.py �еĴ��롣

ÕŸßÐ赀 MicroPython ÈëÃÅÖ¸ÄÏ£º£¨Ò»£©»·¾³ÅäÖá¢Blink¡¢²¿Êð

��Щʱ����ܻὫ�������̻��� Pico �У���ʱ������¼���� Flash �� UF2 flash_nuke.uf2 ��� Flash��������ɺ���Ҫ������¼ MicroPython �� UF2�����ص�ַ�� https://datasheets.raspberrypi.com/soft/flash_nuke.uf2

�ο�

  1. Raspberry Pi Documentation�� https://www.raspberrypi.com/documentation/microcontrollers/micropython.html
  2. Getting started with Raspberry Pi Pico�� https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico
  3. ��ݮ�� Pico ʵ���ң� https://pico.nxez.com
С���Ƽ��Ķ�

�������������Ľ�Ϊ������Ϣ����������������ͬ���޹۵��֤ʵ��������

Link
Link
���ͣ�����ð��������Ӫ״̬��δ֪�������ԣ����� ����

��Ϸ����

��Ϸ���

��Ϸ��Ƶ

��Ϸ����

��Ϸ�

��Link��������ҹ֮�ι����ҿ�����һ��ϸ����ĺ�����ð����Ϸ����Ϸ֧������ͬʱ��ˣ���������Լ���С
K
K
���ͣ���ɫ����������Ӫ״̬����⡡�����ԣ����� ����

��Ϸ����

��Ϸ���

��Ϸ��Ƶ

��Ϸ����

��Ϸ�

��K�������ִ�Ԫ������һ����ϵ����RPG��Ϸ����Ϸ����ͬ�������ı��������ˮ׼�������������������Ϸ��

�����Ƶ����

����

ͬ������

����

ɨ��ά�����������ֻ��汾��

ɨ��ά����������΢�Ź��ںţ�

��վ�������������������ϴ��������ַ���İ�Ȩ���뷢�ʼ�[email protected]

��ICP��2022002427��-10 �湫��������43070202000427��© 2013~2025 haote.com ������