Tabla de contenido:

CircuitPython con un Itsybitsy M4 Express 1: Configuración: 9 pasos
CircuitPython con un Itsybitsy M4 Express 1: Configuración: 9 pasos

Video: CircuitPython con un Itsybitsy M4 Express 1: Configuración: 9 pasos

Video: CircuitPython con un Itsybitsy M4 Express 1: Configuración: 9 pasos
Video: Unboxing y configuración de Metro M4 Express AirLift WiFi Lite en Español 2024, Mes de julio
Anonim
CircuitPython con un Itsybitsy M4 Express 1: Configuración
CircuitPython con un Itsybitsy M4 Express 1: Configuración

¿Eres nuevo en la codificación? ¿Solo usó Scratch y desea pasar a un lenguaje textual que brinde fácil acceso a la computación física con LED, interruptores, pantallas y sensores? Entonces esto puede ser para ti.

He notado que este sitio contiene muchos Instructables sobre codificación con Arduinos usando el IDE de Arduino, pero muy pocos sobre Python. He estado enseñando codificación desde 1968. (¡En ese entonces lo llamábamos programación y usábamos FORTRAN IV con tarjetas Hollerith como entrada!) Desde esos primeros días, he usado muchos idiomas diferentes con estudiantes (desde 11 años hasta adultos), incluidos LISP, Pascal y muchos más. diferentes versiones en BASIC.

Más recientemente, muchas escuelas en el Reino Unido han comenzado a usar Python en sus lecciones a medida que los alumnos pasan de la codificación de 'bloques' con Scratch o similar a las declaraciones de texto. Python es probablemente un paso más fácil que usar el IDE de Arduino. El código de CircuitPython se puede ejecutar simplemente guardando el código en la placa de desarrollo como si fuera una unidad USB. He utilizado con éxito Python para Computación Física con niños de 8 a 11 años en el Club de Codificación de la escuela primaria de mi nieta.

Decidí usar Itsybitsy M4 Express de Adafruit para estos Instructables por las siguientes razones:

  • Barato - menos de $ 15 (£ 15)
  • Fácil de configurar y programar con CircuitPython (una versión de Python ideal para aquellos que son nuevos en la codificación)
  • Pines de entrada / salida digital: es muy divertido jugar con Blinkies
  • Pines analógicos - ADC y DAC de 12 bits - alta precisión
  • LED rojo y LED RGB DotStar integrados
  • Conduce Neopixels directamente
  • Compatible con I2C y SPI: para sensores y pantallas
  • Amplia gama de controladores en la extensa biblioteca
  • Rápido y potente: procesador ultrarrápido ATSAMD51 Cortex M4 que funciona a 120 MHz
  • Gran cantidad de memoria: 2 MB de memoria flash SPI para archivos de datos o código CircuitPython
  • Gran apoyo de Adafruit con documentación completa, guías y un foro de ayuda en Internet
  • Solo necesita una computadora portátil o computadora vieja, sin monitor, teclado, fuente de alimentación ni mouse dedicados.
  • El usuario puede convertir a Arduino IDE, en la misma placa, una vez que haya adquirido experiencia con Python.

Este primer Instructable explica cómo configurar su tablero y ejecutar sus primeros scripts.

Paso 1: lo que necesita para comenzar

Lo que necesitas para empezar
Lo que necesitas para empezar

Hardware:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • cable microUSB
  • Computadora: una computadora portátil vieja servirá
  • Soldador
  • Soldar
  • Tablero de circuitos
  • Tira de cabezal hembra (opcional)

Software:

Mu Editor

Descargue el editor Mu de

Instálelo en su computadora. Muy fácil con instrucciones completas en el sitio.

Paso 2: Verifique que CircuitPython esté instalado

Compruebe que CircuitPython esté instalado
Compruebe que CircuitPython esté instalado

Abra el Explorador de archivos en su computadora.

Enchufe el extremo pequeño del cable USB en el conector del Itsybitsy.

Conecte el otro extremo del cable a un puerto USB de su computadora.

Debería ver aparecer una nueva unidad llamada CIRCUITPY. (Si no es así, vaya a la página ACTUALIZAR).

Haga doble clic en boot_out y debería ver un mensaje como este:

Adafruit CircuitPython 3.1.1 en 2018-11-02; Adafruit ItsyBitsy M4 Express con samd51g19

Esto muestra que tiene una versión anterior de CircuitPython ya que actualmente estamos en la versión 4. Esto estará bien por ahora, actualizaremos la versión más tarde. Adafruit mejora con frecuencia CircuitPython y publica actualizaciones. Estas actualizaciones son muy fáciles de instalar.

Navegue a su carpeta de documentos y cree una nueva carpeta llamada Code-with-Mu dentro de ella.

Inicie el editor Mu

Paso 3: uso del editor Mu para su primer programa

Uso del editor Mu para su primer programa
Uso del editor Mu para su primer programa

Haga clic en el icono de serie en la parte superior del editor. Esto debería abrir la ventana REPL en la parte inferior de la pantalla. En la esquina inferior izquierda debería decir Adafruit. Mu ha reconocido que se ha conectado una placa CircuitPython a la computadora.

Ahora podemos escribir nuestro primer programa o guión. Haga clic con el mouse en la ventana superior y escriba:

print ("¡Hola, mundo!")

Haga clic en el icono Guardar. Seleccione la unidad CIRCUITPY. Escriba main.py en el cuadro de título y haga clic en el botón Guardar.

Esto hace mucho. Su secuencia de comandos se guarda en su Itsybitsy con el nombre "main.py". El tablero ejecuta inmediatamente cualquier archivo con este nombre. La salida de la declaración de impresión aparece en la ventana REPL inferior.

Edite la línea del programa para:

print ("\ n¡Hola, codificador!") y haz clic en el icono Guardar.

Intente agregar algunas declaraciones de impresión similares y ejecute su nuevo código.

Mire su Itsybitsey mientras carga un guión. El DotStar verde parpadeante se pone ROJO mientras se guarda el script y vuelve a VERDE.

Cometamos un error para ver qué pasa. Simplemente elimine el carácter de la cita final y vuelva a ejecutar el script. El editor indica el error y la salida indica el tipo de error (sintaxis) y el número de línea para ayudarlo a corregir el error. El DotStar indica la falla cambiando de color. Más sobre esto en una sección posterior.

Corrija el error y vuelva a ejecutar el script.

Ahora necesitamos guardar nuestro script en un lugar seguro para poder usarlo más tarde.

Haga doble clic en la pestaña sobre su secuencia de comandos. Navegue a la carpeta Code-with-Mu de sus documentos y guarde su script allí con un nombre de archivo útil como FirstProg.py. Observe que el nombre del archivo y la ruta se muestran en la parte inferior del editor.

Paso 4: Su segundo guión - Parpadeo

Su segundo guión: parpadeo
Su segundo guión: parpadeo

Escriba el script, guárdelo en CIRCUITPY como main.py y haga clic en Sí para reemplazar el main.py anterior.

(Utilice siempre el nombre de archivo main.py para su secuencia de comandos cuando guarde en su ItsyBitsy. CircuitPython ejecuta inmediatamente la nueva secuencia de comandos).

Qué hace el guión:

  • Importa bibliotecas para los nombres de los pines en la placa, tiempo para controlar retrasos y control de pines digitales,
  • Configura el pin 13 para emitir voltajes al LED rojo integrado
  • Ejecuta un bucle sin fin para encender y apagar el LED
  • Espera breves retrasos para que el LED parpadee.

El guión tiene muchos comentarios para explicar lo que está sucediendo. Los comentarios comienzan con un carácter '#'. Son para uso humano para ayudarlo a recordar sus pensamientos en ese momento. Los buenos guiones tienen muchos comentarios.

  1. Intente cambiar los valores en las declaraciones sleep ().
  2. Mantenga el LED encendido el doble de tiempo que apagado.
  3. ¿Qué pasa si los retrasos son muy breves? (0,001 segundos)

Haga doble clic en la pestaña sobre su script y guárdelo con el nombre Blink.py en su carpeta Code-with-Mu.

Paso 5: Actualización de su versión de CircuitPython

Actualización de su versión de CircuitPython
Actualización de su versión de CircuitPython

Navegue a https://circuitpython.org/downloads en Internet. Haga clic en la imagen del Itsybitsy M4 Express (no la versión M0).

Haga clic en el botón morado para descargar el archivo. UF2.

Inicie el Explorador de archivos y busque el archivo. UF2

Conecte su Itsybitsy M4 Express al puerto USB y localice su unidad - CIRCUITPY

Haga doble clic en el pequeño botón de reinicio y el nombre del archivo debería cambiar a ITSYM4BOOT de CIRCUITPY. Necesita hacer doble clic bastante rápido.

Arrastre el archivo UF2 y suéltelo en la unidad ITSYM4BOOT. El archivo UF2 se copiará a la placa IBM4 y el nombre de la unidad volverá a CIRCUITPY.

Seleccione la unidad CIRCUITPY y haga doble clic en el archivo boot_out.

Puede leer el número de la nueva versión para verificar que se haya actualizado.

Cree una nueva carpeta en la unidad CIRCUITPY llamada lib. Necesitaremos esto en Instructables posteriores para contener controladores para sensores y pantallas.

Reinicie el editor de Mu. Cargue su archivo main.py desde IBM4 y guárdelo de nuevo en IBM4. El LED rojo debería comenzar a parpadear.

Si hace un solo clic en el botón de reinicio, se reiniciará el script main.py cargado.

Paso 6: el REPL

El REPL
El REPL

La ventana en la parte inferior del editor, que se enciende y apaga con el ícono Serial, es mucho más que una simple ventana de impresión.

"Un bucle de lectura-evaluación-impresión (REPL), también denominado shell de lenguaje o de nivel superior interactivo, es un entorno de programación informática interactivo sencillo que toma entradas de un solo usuario (es decir, expresiones únicas), las evalúa y devuelve el resultado para el usuario; un programa escrito en un entorno REPL se ejecuta por partes ". (Google)

Básicamente, si escribe una sola declaración de Python en el REPL, la ejecuta de una vez. Hagamos un intento.

Haga clic con el mouse en la ventana REPL.

Mientras ejecuta su secuencia de comandos, mantenga presionada la tecla y toque (CTRL-C). Esto detiene su guión.

Toque cualquier tecla para ingresar el REPL y aparecerá un mensaje '>>>'.

mecanografiar en letra impresa (4 + 100)

Inmediatamente regresa la respuesta 104

Mire la imagen y pruebe algunas propias. (Pruebe +, -, *, /, // y%)

Prueba esto:

>> tablero de importación

>> dir (tablero)

['_class_', 'A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'APA102_MOSI', 'APA102_SCK', 'D0', 'D1', 'D10', ' D11 ',' D12 ',' D13 ',' D2 ',' D3 ',' D4 ',' D5 ',' D7 ',' D9 ',' I2C ',' MISO ',' MOSI ',' RX ', 'SCK', 'SCL', 'SDA', 'SPI', 'TX', 'UART']

>>

Esta es una lista de los nombres de los pines disponibles en la placa IBM4

Para volver a la normalidad con un reinicio suave, simplemente escriba CTRL-D y main.py se reinicia.

Desconectando tu tablero

Siempre expulse la unidad CIRCUITPY antes de desconectarse de la computadora. Nunca lo saque mientras está transfiriendo datos.

Paso 7: Ponerse las piernas

Ponerse las piernas
Ponerse las piernas
Ponerse las piernas
Ponerse las piernas

Los cabezales macho son demasiado largos para la tabla, así que encaje / corte 2 de ellos a la longitud correcta.

Empújelos en una placa de prueba, coloque el IBM4 en la parte superior y suéldelos. ¡Asegúrate de que la tabla esté en la posición correcta! (Chip en la parte superior)

No coloque encabezados masculinos en la parte superior. Utilizo una tira de 5 encabezados femeninos en la parte superior para poder usar todos los pines. Utilice un tornillo de banco para sujetar la tira de cabezal con firmeza, cerca del punto de corte. Use una sierra para metales afilada para cortar el centro de un agujero; el conector de latón se saldrá a medida que corta. Lima el borde cortado para lograr un acabado limpio, sin ranuras.

Soldar los pines no es difícil. Mire los cursos de Arduino y Electrónica si nunca antes ha usado un soldador. Ser capaz de soldar significa que puede hacer versiones ordenadas de sus proyectos de larga duración en un tablero de tira y luego reutilizar el tablero.

Para ayudar a evitar que la placa se sobrecaliente, le sugiero que no suelde un lado y luego el otro. Deje huecos y rellénelos más tarde. es decir, pines 10, RX, 2, A3, RS, BAT, 9, MI … etc.

Paso 8: Luz de estado CircuitPython RGB: para ayudarlo a encontrar los errores

Luz de estado CircuitPython RGB: para ayudarlo a encontrar los errores
Luz de estado CircuitPython RGB: para ayudarlo a encontrar los errores

ItsyBitsy M4 Express y muchas otras placas M0 y M4 tienen un solo LED NeoPixel o DotStar RGB en la placa que indica el estado de CircuitPython. Aquí está entre el (C) y el pin A0.

Esto es lo que significan los colores y el parpadeo:

  • VERDE fijo: code.py (o code.txt, main.py o main.txt) se está ejecutando
  • VERDE pulsante: code.py (etc.) ha finalizado o no existe
  • AMARILLO fijo al inicio: (4.0.0-alpha.5 y más reciente) CircuitPython está esperando un reinicio para indicar que debe comenzar en modo seguro
  • AMARILLO pulsante: el circuito Python está en modo seguro: se bloqueó y se reinició
  • BLANCO fijo: REPL se está ejecutando
  • AZUL fijo: boot.py se está ejecutando

Los colores con varios destellos a continuación indican una excepción de Python y luego indican el número de línea del error. El color del primer destello indica el tipo de error:

  • VERDE: IndentationError
  • CYAN: SyntaxError
  • BLANCO: NameError
  • NARANJA: OSError
  • PÚRPURA: ValueError
  • AMARILLO: otro error

Estos son seguidos por destellos que indican el número de línea, incluido el valor posicional. Los destellos BLANCOS son el lugar de los miles, los AZULES son el lugar de las centenas, los AMARILLOS son el lugar de las decenas y el CIAN es el lugar de uno. Entonces, por ejemplo, un error en la línea 32 parpadeará en AMARILLO tres veces y luego en CIAN dos veces. Los ceros se indican mediante un espacio oscuro extralargo.

Estos son bastante difíciles de contar. Siempre tenga la ventana REPL abierta cuando desarrolle un script y los mensajes de error, en inglés, aparecerán allí.

Paso 9: Mirando hacia el futuro - Tú decides

Mirando hacia adelante - A usted
Mirando hacia adelante - A usted

Cuando comencé este Instructable, esperaba que fuera el primero de una serie que explora CircuitPython y Computación física. Mi plan para el próximo es cubrir la entrada y salida básica con aritmética, LED, interruptores, potenciómetros y declaraciones de entrada. También cubrirá métodos de bucle y listas (matrices).

Antes de escribirlo, solicito algunos comentarios para poder adaptarlo a la audiencia.

El tipo de cosas que me gustaría saber son:

  • ¿Está bien el ritmo?
  • ¿El detalle es demasiado, muy poco o correcto?
  • ¿Quieres algunos ejercicios de práctica?

A ti.

Recomendado: