Índice:

CircuitPython com um Itsybitsy M4 Express 1: configuração: 9 etapas
CircuitPython com um Itsybitsy M4 Express 1: configuração: 9 etapas

Vídeo: CircuitPython com um Itsybitsy M4 Express 1: configuração: 9 etapas

Vídeo: CircuitPython com um Itsybitsy M4 Express 1: configuração: 9 etapas
Vídeo: Conheça a Adafruit Metro M4 Express 2024, Julho
Anonim
CircuitPython com um Itsybitsy M4 Express 1: configuração
CircuitPython com um Itsybitsy M4 Express 1: configuração

Novo em codificação? Usou apenas o Scratch e quer passar para uma linguagem textual que dê fácil acesso à computação física com LEDs, interruptores, telas e sensores? Então isso pode ser para você.

Percebi que este site contém muitos Instructables sobre codificação com Arduinos usando o IDE do Arduino, mas muito poucos sobre Python. Tenho ensinado codificação desde 1968. (Naquela época, chamávamos isso de programação e usávamos FORTRAN IV com cartões Hollerith para entrada!) Desde aqueles primeiros dias, usei muitas linguagens diferentes com alunos (11 anos a adultos), incluindo LISP, Pascal e muitos versões diferentes no BASIC.

Mais recentemente, muitas escolas no Reino Unido começaram a usar Python em suas aulas, à medida que os alunos mudam da codificação em 'bloco' com o Scratch ou instruções semelhantes em texto. Python é provavelmente uma etapa mais fácil do que usar o IDE do Arduino. O código CircuitPython pode ser executado simplesmente salvando o código na placa de desenvolvimento como se fosse uma unidade USB. Usei com sucesso Python para computação física com crianças de 8 a 11 anos no Clube de Codificação da escola primária da minha neta.

Decidi usar Itsybitsy M4 Express da Adafruit para estes Instructables pelas seguintes razões:

  • Barato - abaixo de $ 15 (£ 15)
  • Fácil de configurar e programar com CircuitPython (uma versão do Python ideal para iniciantes em programação)
  • Pinos de entrada / saída digital - é muito divertido brincar com Blinkies
  • Pinos analógicos - ADC e DAC de 12 bits - alta precisão
  • LED vermelho e LEDs RGB DotStar integrados
  • Direciona Neopixels diretamente
  • Suporta I2C e SPI - para sensores e visores
  • Vasta gama de drivers na extensa biblioteca
  • Rápido e poderoso - processador ATSAMD51 Cortex M4 ultrarrápido rodando a 120 MHz
  • Muita memória - 2 MB de memória Flash SPI para código CircuitPython ou arquivos de dados
  • Grande suporte da Adafruit com documentação completa, guias e um fórum de ajuda na Internet
  • Precisa apenas de um laptop ou computador antigo - sem monitor dedicado, teclado, fonte de alimentação ou mouse.
  • O usuário pode converter para Arduino IDE, na mesma placa, uma vez que tenha adquirido experiência com Python.

Este primeiro Instructable explica como configurar sua placa e executar seus primeiros scripts.

Etapa 1: o que você precisa para começar

O que você precisa para começar
O que você precisa para começar

Hardware:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • cabo microUSB
  • Computador - um laptop antigo serve
  • Ferro de solda
  • Solda
  • Tábua de pão
  • Faixa de cabeçalho fêmea (opcional)

Programas:

Editor Mu

Baixe o editor Mu em

Instale-o no seu computador. Muito fácil com instruções completas no site.

Etapa 2: verifique se o CircuitPython está instalado

Verifique se CircuitPython está instalado
Verifique se CircuitPython está instalado

Abra o File Explorer em seu computador.

Conecte a extremidade menor do cabo USB no conector do Itsybitsy.

Conecte a outra extremidade do cabo a uma porta USB do computador.

Você deve ver uma nova unidade aparecer chamada CIRCUITPY. (Caso contrário, vá para a página ATUALIZAR.)

Clique duas vezes em boot_out e você verá uma mensagem como esta:

Adafruit CircuitPython 3.1.1on 02-11-2018; Adafruit ItsyBitsy M4 Express com samd51g19

Isso mostra que você tem uma versão mais antiga do CircuitPython, pois estamos atualmente na versão 4. Isso estará OK por enquanto, atualizaremos a versão mais tarde. A Adafruit freqüentemente melhora o CircuitPython e publica atualizações. Essas atualizações são muito fáceis de instalar.

Navegue até a pasta de documentos e crie uma nova pasta chamada Code-with-Mu dentro dela.

Inicie o Mu Editor

Etapa 3: usando o editor Mu para seu primeiro programa

Usando o Mu Editor para seu primeiro programa
Usando o Mu Editor para seu primeiro programa

Clique no ícone Serial na parte superior do editor. Isso deve abrir a janela REPL na parte inferior da tela. No canto inferior esquerdo, deve estar escrito Adafruit. Mu reconheceu que uma placa CircuitPython foi conectada ao computador.

Agora podemos escrever nosso primeiro programa ou script. Clique com o mouse na janela superior e digite:

print ("Olá, Mundo!")

Clique no ícone Salvar. Selecione a unidade CIRCUITPY. Digite main.py na caixa de título e clique no botão Salvar.

Isso faz muito. Seu script é salvo em seu Itsybitsy com o nome "main.py". Qualquer arquivo com este nome é executado imediatamente pela placa. A saída da instrução de impressão aparece na janela REPL inferior.

Edite a linha do programa para:

print ("\ nOlá, codificador!") e clique no ícone Salvar.

Tente adicionar algumas instruções de impressão semelhantes e execute seu novo código.

Observe seu Itsybitsey enquanto carrega um script. O DotStar verde piscando fica VERMELHO enquanto o script é salvo e retorna para VERDE.

Vamos cometer um erro para ver o que acontece. Apenas exclua o caractere de citação final e execute o script novamente. O editor indica o erro e a saída indica o tipo de erro - sintaxe - e o número da linha - para ajudá-lo a corrigir o erro. O DotStar indica a falha mudando a cor. Mais sobre isso em uma seção posterior.

Corrija o erro e execute o script novamente.

Agora precisamos salvar nosso script em algum lugar seguro para que possamos usá-lo mais tarde.

Clique duas vezes na guia acima do seu script. Navegue até a pasta Code-with-Mu de seus documentos e salve seu script com um nome de arquivo útil, como FirstProg.py. Observe que o nome e o caminho do arquivo aparecem na parte inferior do editor.

Etapa 4: Seu segundo script - Blink

Seu segundo roteiro - Blink
Seu segundo roteiro - Blink

Digite o script, salve-o em CIRCUITPY como main.py e clique em Sim para substituir o main.py anterior.

(Sempre use o nome de arquivo main.py para o seu script ao salvá-lo no ItsyBitsy. O CircuitPython executa imediatamente o novo script.)

O que o script faz:

  • Importa bibliotecas para os nomes dos pinos na placa, tempo para controlar atrasos e controle de pinos digitais,
  • Configura o pino 13 para as tensões de saída para o LED vermelho integrado
  • Executa um loop infinito para ligar e desligar o LED
  • Aguarda pequenos atrasos para que o LED pisque.

O script tem muitos comentários para explicar o que está acontecendo. Os comentários começam com um caractere '#'. Eles são para uso humano para ajudar a lembrá-lo do que você estava pensando naquele momento. Bons roteiros têm muitos comentários.

  1. Tente alterar os valores nas instruções sleep ().
  2. Mantenha o LED aceso o dobro do tempo que estiver apagado.
  3. O que acontece se os atrasos forem muito curtos? (0,001 segundos)

Clique duas vezes na guia acima do seu script e salve com o nome Blink.py na pasta Code-with-Mu.

Etapa 5: atualizando sua versão do CircuitPython

Atualizando sua versão do CircuitPython
Atualizando sua versão do CircuitPython

Navegue até https://circuitpython.org/downloads na Internet. Clique na imagem do Itsybitsy M4 Express (não é a versão M0).

Clique no botão roxo para baixar o arquivo. UF2.

Inicie o Explorador de Arquivos e localize o arquivo. UF2

Conecte seu Itsybitsy M4 Express à porta USB e localize seu drive - CIRCUITPY

Dê um duplo clique no pequeno botão reset e o nome do arquivo deve mudar para ITSYM4BOOT de CIRCUITPY. Você precisa clicar duas vezes rapidamente.

Arraste o arquivo UF2 e solte-o na unidade ITSYM4BOOT. O arquivo UF2 será copiado para a placa IBM4 e o nome do drive retornará para CIRCUITPY.

Selecione a unidade CIRCUITPY e clique duas vezes no arquivo boot_out.

Você pode ler o novo número da versão para verificar se foi atualizado.

Crie uma nova pasta na unidade CIRCUITPY chamada lib. Precisaremos disso em Instructables posteriores para armazenar drivers para sensores e monitores.

Reinicie o editor Mu. Carregue seu arquivo main.py do IBM4 e salve-o de volta no IBM4. O LED vermelho deve começar a piscar.

Se você clicar uma vez no botão reset, o script main.py carregado será reiniciado.

Etapa 6: O REPL

O REPL
O REPL

A janela na parte inferior do editor, ligada e desligada com o ícone Serial, é muito mais do que apenas uma janela de impressão.

"Um loop de leitura-avaliação-impressão (REPL), também denominado de nível superior interativo ou shell de linguagem, é um ambiente de programação de computador simples e interativo que recebe entradas de um único usuário (ou seja, expressões únicas), avalia-as e retorna o resultado para o usuário; um programa escrito em um ambiente REPL é executado por partes. " (Google)

Basicamente, se você escrever uma única instrução python no REPL, ela a executará de uma vez. Vamos tentar.

Clique com o mouse na janela REPL.

Enquanto executa seu script, segure a tecla e toque em (CTRL-C). Isso interrompe o seu script.

Toque em qualquer tecla para entrar no REPL e um prompt '>>>' aparecerá.

digite na impressão (4 + 100)

Imediatamente vem a resposta 104

Olhe a foto e experimente algumas de sua autoria. (Experimente +, -, *, /, // e%)

Experimente isto:

>> placa de importação

>> dir (placa)

['_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 é uma lista dos nomes dos pinos disponíveis na placa IBM4

Para retornar ao normal com uma reinicialização suave, basta digitar CTRL-D e main.py reinicia.

Desconectando sua placa

Sempre ejete a unidade CIRCUITPY antes de desconectar do computador. Nunca o retire durante a transferência de dados.

Etapa 7: Colocar nas pernas

Colocando nas pernas
Colocando nas pernas
Colocando nas pernas
Colocando nas pernas

Os cabeçotes machos são muito longos para a placa, então encaixe / corte 2 deles no comprimento correto.

Empurre-os em uma placa de ensaio, coloque o IBM4 em cima e solde-os. Certifique-se de que o tabuleiro está com o lado correto para cima! (Chip no topo)

Não coloque cabeçalhos masculinos na parte superior. Eu uso uma tira de 5 cabeçotes femininos na parte superior para que eu possa usar todos os pinos. Use um torno para segurar a tira da plataforma firmemente, perto do ponto de corte. Use uma serra de metal afiada para cortar o centro de um buraco - o conector de latão cairá conforme você corta. Lime a borda cortada para fazer um acabamento perfeito - sem ranhuras.

Soldar os pinos não é difícil. Veja os cursos de Arduino e Eletrônica se você nunca usou um ferro de solda antes. Ser capaz de soldar significa que você pode fazer versões de longa duração de seus projetos em stripboard e, em seguida, reutilizar a breadboard.

Para ajudar a evitar o superaquecimento da placa, sugiro que você não solde um lado e depois o outro. Deixe lacunas e preencha mais tarde. ou seja, pinos 10, RX, 2, A3, RS, BAT, 9, MI … etc

Etapa 8: Luz de status CircuitPython RGB - para ajudá-lo a encontrar os erros

CircuitPython RGB Status Light - para ajudá-lo a encontrar os erros
CircuitPython RGB Status Light - para ajudá-lo a encontrar os erros

ItsyBitsy M4 Express e muitas outras placas M0 e M4 têm um único LED NeoPixel ou DotStar RGB na placa que indica o status do CircuitPython. Aqui está entre o (C) e o pino A0.

Aqui está o que as cores e o piscar significam:

  • VERDE constante: code.py (ou code.txt, main.py ou main.txt) está em execução
  • VERDE pulsante: code.py (etc.) terminou ou não existe
  • AMARELO constante na inicialização: (4.0.0-alpha.5 e mais recentes) CircuitPython está aguardando uma reinicialização para indicar que deve iniciar em modo de segurança
  • pulsando AMARELO: o circuito Python está em modo de segurança: travou e reiniciou
  • constante WHITE: REPL está em execução
  • estável AZUL: boot.py em execução

Cores com vários flashes seguintes indicam uma exceção Python e, em seguida, indicam o número da linha do erro. A cor do primeiro flash indica o tipo de erro:

  • GREEN: IndentationError
  • CYAN: SyntaxError
  • BRANCO: NameError
  • LARANJA: OSError
  • PURPLE: ValueError
  • AMARELO: outro erro

Eles são seguidos por flashes indicando o número da linha, incluindo o valor da casa. Os flashes BRANCOS estão na casa dos milhares, os AZUIS estão na casa das centenas, os AMARELOS estão na casa das dezenas e CIANO são as casas das pessoas. Assim, por exemplo, um erro na linha 32 piscaria AMARELO três vezes e depois CIANO duas vezes. Zeros são indicados por uma lacuna escura extra-longa.

São muito difíceis de contar. Sempre tenha a janela REPL aberta ao desenvolver um script e as mensagens de erro, em inglês, irão aparecer lá.

Etapa 9: Olhando para o futuro - Mais para você

Olhando para o futuro - Mais para você
Olhando para o futuro - Mais para você

Quando comecei este Instructable, esperava que fosse o primeiro de uma série que explorava CircuitPython e Computação Física. Meu plano para o próximo é cobrir a entrada e saída básicas com aritmética, LEDs, interruptores, potenciômetros e instruções de entrada. Ele também cobrirá métodos de loop e listas (arrays).

Antes de escrever, estou solicitando algum feedback, para que possa adaptá-lo ao público.

O tipo de coisas que gostaria de saber são:

  • O ritmo está bom?
  • O detalhe é muito, muito pouco ou quase certo?
  • Você gostaria de alguns exercícios práticos?

É com você.

Recomendado: