Índice:

Ambiente de desenvolvimento do gueto: 5 etapas
Ambiente de desenvolvimento do gueto: 5 etapas

Vídeo: Ambiente de desenvolvimento do gueto: 5 etapas

Vídeo: Ambiente de desenvolvimento do gueto: 5 etapas
Vídeo: Os quatro estágios de desenvolvimento cognitivo/do aprendizado, Jean Piaget, educação. PSICOLOGIA. 2024, Julho
Anonim
Ambiente de desenvolvimento do gueto
Ambiente de desenvolvimento do gueto

Um tempo atrás, eu postei um método rápido e sujo "el cheapo" para começar a programar os chips da série Atmel AVR: Ghetto Programmer (versão 1.0) Desde então, eu modifiquei, reformulei e, de outra forma, melhorei minha configuração. Achei que seria bom documentá-lo. O objetivo era obter um ambiente de prototipagem de microcontrolador baseado em AVR flexível, compacto, portátil e para uso em qualquer lugar. De forma barata (ish). Então, sem mais delongas, aqui está o Ghetto Development Environment (GDE) (versão 1.2).

Etapa 1: o kit

O kit
O kit

O kit básico contém os seguintes materiais: Programador USB. Porque você deseja programar microcontroladores de seu laptop em qualquer lugar. E porque USB é uma fonte muito útil de bases de programação de + 5v. Um para cada tipo de chip com o qual você está jogando. Para mim, isso significa um com 8 pinos (ATtiny13, 15), um com 20 pinos (ATtiny 2313) e um com 28 pinos (ATmega8). Blinkenlights. Quando algo está errado com seu código, nada o esclarece como acender luzes para diagnosticar. Além disso, o programa de pisca-pisca de LED é o "Hello World" dos microcontroladores. Afinal, é um kit de desenvolvimento.

Etapa 2: o programador USB

O Programador USB
O Programador USB
O Programador USB
O Programador USB

No Ghetto Programmer (v.1.0), usei um programador de porta paralela. É ótimo porque é simples, barato e rápido. Mas meu laptop não tem uma porta paralela. Eu brinquei com a criação de programadores de portas seriais por um tempo, mas honestamente eles são tão complicados quanto a versão USB e até mesmo portas seriais estão se tornando escassas. Na verdade, meu laptop só tem USB de verdade. Então é USB. Olhando ao redor, o programador USBTiny é bastante simples e funciona com as ferramentas GNU / AVR-GCC gratuitas. Faça você mesmo ou compre um kit? O jeito DIY é bom se você já pode programar um ATTiny2313 (com programador paralelo) e ter um cristal de 12MHz por perto. USBTiny Page apresenta o básico. Ele termina o cabo de programação com uma porta paralela, mas eu terminaria em um cabeçalho de 6 pinos padrão se estivesse começando de novo. (Por quê? Porque é padrão.) Aqui estão suas pinagens e verifique a imagem abaixo para ver o layout do cabo. PD3 - MISOPD5 - ResetPD6 - SCKPD7 - MOSIIse você fizer o seu, por favor, aprenda com minha experiência e coloque-o em uma bela caixa de plástico. Se você não fizer isso, ele irá falhar eventualmente quando o cristal de 12MHz quebrar. É por isso que agora uso… O jeito rápido e elegante é o kit USBtinyISP da Ladyada. Ele custará US $ 22, mas você terá um bom PCB, ATTiny2313 pré-programado e uma caixa limpa com cabos legais. As peças brutas custam cerca de US $ 15-16 de qualquer maneira, e você não precisa ligar para a Digikey e depois se preocupar em programar seu próprio 2313. Leva 30 min - 1 hora para soldar tudo junto. Fazer alarde. Confie em mim. (Sem afiliação, cliente satisfeito) E acabei de ver este link: Tutorial AVR de Ladyada que me parece muito bom. (E observe que o design do Ladyada e o USBTiny original usam códigos identificadores de produto USB diferentes - você terá que encontrar as strings de ID e recompilar avrGCC se estiver alternando entre os dois. Acho que há instruções nas respectivas páginas da web.)

Caso você esteja em um sistema Ubuntu Linux e usando o programador USBTiny, aqui estão os comandos que colocarão todo o conjunto de ferramentas em funcionamento: sudo apt-get install build-essential avr-libc binutils-avr gcc-avr avrdude (testado em Hardy Heron) Se você tem um arco AMD64, você também pode precisar de: byacc libusb-dev flex bison libc6-devand então para compilar o AVRdude manualmente: (wget https://download.savannah.gnu.org/releases/avrdude/ avrdude-5.5.tar.gz tar xvzf avrdude-5.5.tar.gz cd avrdude-5.5 ## Patch necessário para AMD64: wget https://savannah.nongnu.org/patch/download.php?file_id=14754 patch -p1 <avrdude-5.5.usbtiny.64bit.patch./configure make && make install sudo avrdude -p attiny2313 -c usbtiny ## to test) Se você vir algo como "avrdude: dispositivo AVR inicializado e pronto para aceitar instruções", então você ' está feito. Ah, sim, e crédito a Wendel Oskay pelo diagrama das pinagens do programador padrão.

Etapa 3: A base de programação

O berço de programação
O berço de programação
O berço de programação
O berço de programação
O berço de programação
O berço de programação

No Ghetto Programmer v.1.0, usei um berço de programação com uma entrada de pino não padrão e com cabeçotes de pino fêmeas para inserir coisas. Pinos fora do padrão são uma má ideia porque você não poderá usar seu berço com o programador de outra pessoa e vice-versa. Os pin-headers femininos eram divertidos porque você podia conectar LEDs diretamente neles, mas quando eu começava a fazer algo mais complexo, acabava conectando em uma placa de ensaio de qualquer maneira. Com o novo berço, eliminei o intermediário. Menos fiação manual = melhor. Mas a maior vantagem desse design de berço é que você pode conectar o berço em quase qualquer lugar em que possa conectar o chip AVR. Isso acabou sendo enorme. Em vez de projetar circuitos ISP em seu robô ou o que quer que seja, você apenas coloca essa coisa de berço no soquete IC. Então você pode programar / reprogramar o cérebro do seu robô no circuito. Quando terminar de desenvolver, conecte o AVR diretamente e você passará para o próximo. Fazer os berços é bastante fácil - tudo o que você precisa fazer é conectar os pinos do conector de 6 pinos aos lugares certos no os chips. Desta vez, usei PCBs gravados. Você também pode fazer a ligação manual de tudo no perfboard. O berço ATTiny13 / 15 é feito com um soquete wire-wrap de 8 pinos. Eu amo estes. É fácil inserir o chip em seus bonitos orifícios redondos e as pernas longas fornecem espaço extra na placa de ensaio. Fiz os traçados do PCB à mão livre com um Sharpie. O berço ATTiny2313 foi feito com Eagle e o método de transferência de toner para papel a laser. Não consegui encontrar nenhum soquete wire-wrap de 20 pinos, então tive que recorrer a um soquete normal de 20 pinos soldado em 2 conectores de pino de 10 pinos. Isso acaba com um berço com pernas mais curtas, mas funciona. O esquema e o PDF que usei para o circuito estão abaixo. Em ambos, tive que conectar manualmente uma linha extra. Como a vida.

Etapa 4: luzes piscantes

Luzes pisca-pisca
Luzes pisca-pisca
Luzes pisca-pisca
Luzes pisca-pisca

A própria simplicidade. Eu não mencionaria isso se eles não fossem tão úteis.

Solde um resistor (150-220 ohms é um bom valor.) Direto no terminal negativo de alguns LEDs. Ele acenderá por volta de 2v-6v sem queimar. E o resistor ajuda a lembrar qual lado é negativo. Cole-os onde quiser para saber se há eletricidade. Descubra se o transistor está queimado. Transforme uma bateria de nicad em uma luz noturna de longa duração. Use uma interface de código intermitente para ler os valores do seu microprocessador (lentamente). Ou faça 8 deles e você terá um display de um byte (mais o ingrediente ativo nos olhos Cylon). Faça-os. Faça muitos. Faça-os agora.

Etapa 5: Fim

O fim
O fim

Portanto, esse "sistema" atende a quase todas as minhas necessidades de desenvolvimento. É modular, escalonável, compacto e portátil.

Por exemplo, desenvolvi as rotinas para executar mensagens de rolagem no visor de 4 dígitos (página de introdução) no avião a caminho do casamento de um amigo. É um bom quebra-gelo com os comissários de bordo. Este potenciômetro -> ADC -> configuração do amperímetro acionado por PWM foi montado, codificado e depurado inteiramente entre o meu sofá e a mesa de jantar, e limpa em cerca de 2 minutos quando os amigos chegam. (É a parte do ajuste da hora do alarme do que será um relógio-medidor.) Às vezes, trago a configuração para funcionar quando tenho vontade de matar o tempo. Adicione um pequeno pacote de guloseimas (alguns capacitores e resistores, fios de conexão, transistores, alto-falantes piezo, fotodiodos, microfones, pequenos motores, etc) e você estará tão à frente do MacGuyver que não é nem engraçado.

Recomendado: