Fale conosco 0800 024 4357 | lojamundi

           Ligamos para você

  **  
**
  ex:06198765432  
 

LojaMundi - Tudo para Redes, Embarcados e Telecom | CNPJ: 17.869.444/0001-60

       Fale com a LojaMundi:

       Ligue Grátis
    0800 024 4357 

  SP 11 2666 4242 | RS 51 3778 4949
  SP 19 3322 6120 | DF 61 2194 7617
  RJ 21 2169 8855 | GO 62 3607 5686
  MG 31 4042 1799 | MS 67 4042 1818
  PR 41 3208 4524 | BA 71 3273 7636
  SC 48 4042 1888 | PE 81 4042 1944
  CE 85 3052 2727
 Suporte: 61 2194 7687
 
Lojamundi tudo para Asterisk e Embarcados

 

Entrega rápida para
Sua Cidade .
Posso ajudá-lo?

   

 

 

Como carregar sketchs, no microcontrolador ATmega16U2 do Arduino com gravador AVR USBasp quando ele não é reconhecido no PC.

Imprimir
By flavio soares 16 de junho de 2016 Deixe um comentário Ir para comentários

Como carregar sketchs, no microcontrolador ATmega16U2 do Arduino  com gravador AVR USBasp quando ele não é reconhecido no PC.


Olá pessoal vamos a mais um tutorial, e nele vamos ensinar como carregar sketchs no microcontrolador ATmega16U2 do Arduino com gravador AVR USBasp Quando não é reconhecido pela porta USB do PC.



C:\Users\Leandro\Desktop\gravador-e-programador-usb-asp-isp-atmel-bootloader-atmega-978211-MLB20521184120_122015-F.jpg


Quando um projeto envolve eletrônica, seja ela analógica ou digital, em que é preciso automatizar algo ou torná-lo inteligente, nós precisamos utilizar microcontroladores, esses componentes são como o processador do nosso computador, porém não precisam de memória RAM externa e nem armazenamento para o programa, um microcontrolador já possui internamente memória para o programa, memória RAM para os dados, e uma unidade de processamento, porém obviamente possuem um desempenho muito inferior a um processador, até porque o seu propósito é outro.

Hoje em dia os microcontroladores mais utilizados em projetos particulares de pessoas (não empresa) são os PIC da Microchip e os Atmega da ATMEL, e apesar de muitas pessoas acharem que o Arduino é um microcontrolador, ele não é, o Arduino é apenas uma plataforma de desenvolvimento que utiliza os microcontroladores da ATMEL (Atmega).




C:\Users\Leandro\Desktop\atmega328p1.jpg

Para que um microcontrolador execute uma tarefa como por exemplo fazer uma leitura analógica, ativar um transistor que ativa um relê e acende uma lâmpada ou se comunicar com algum módulo ou dispositivo, é preciso que você programe-o, para isso, você pode utilizar linguagens de programação como Assembly, C, C++ e em alguns casos até mesmo Visual Basic, claro que a mais completa e recomendável é a linguagem C.

Depois de programar o microcontrolador é preciso montar o seu circuito, só para alimentar o microcontrolador será preciso de um regulador de tensão, cristal oscilador, capacitor para desacoplamento, e uma fonte de alimentação, o problema é que novamente para pessoas que apenas tiveram uma idéia e não possuem muito conhecimento em eletrônica, pode ser meio complicado ter que montar todo o circuito do microcontrolador em uma breadboard (placa de ensaio) e ainda montar o circuito do seu projeto.



C:\Users\Leandro\Desktop\atmega_breadboard1-610x474.jpg


Pensando nisso o Arduino foi desenvolvido para facilitar a prototipagem, não só de técnicos em eletrônica e programadores, mas também de pessoas comuns, que querem automatizar seus projetos mas não possuem muito conhecimento na área. O Arduino é uma plataforma de desenvolvimento composta pelo Hardware (Arduino uno, mega uno, duemilanove, etc) e uma IDE (ambiente de desenvolvimento integrado) aonde você pode escrever o seu código em linguagem C/C++ e a própria IDE fará todo o processo de compilação e transferência do código do seu PC para o microcontrolador Atmega, o que torna todo o processo de programação e prototipagem muito mais rápido.


Hardware


Hoje em dia existem várias versões de placas Arduino, cada uma utiliza um microcontrolador Atmega diferente, no caso do Arduino Uno que é o Arduino que eu utilizarei nas próximas matérias e vídeo aulas, temos o Atmega 328p que possui 28 pinos sendo 6 entradas analógicas ADC (conversores analógicos digitais), 14 pinos de saída digital sendo 6 deles com PWM (pulse width modulation) aonde podemos utilizá-los como saída analógica (tensão entr 0 ~ 5V).


http://www.mundodoshackers.com.br/wp-content/uploads/arduino_uno.jpg



Como você pode ver, todo o circuito do microcontrolador Atmega já esta montado na placa, e há conectores laterais que correspondem a todos os pinos do Atmega, então ali temos os pinos analógicos e digitais e ainda os pinos de alimentação do microcontrolador como VCC,GND, AREF e RESET, é claro que o microcontrolador já será alimentado através do circuito, esses conectores de alimentação apenas nos permite montar o nosso próprio circuito de alimentação, já os conectores correspondentes aos pinos ai sim deverão ser obrigatóriamente utilizados para que possamos ativar algo ou nos comunicarmos com outros componentes.



Caso você ache que o Arduino Uno tem poucos pinos, não se preocupe, você pode optar pelo Arduino Mega Uno com o microcontrolador SMD Atmega 2560, esse Arduino possui 54 pinos dos quais 14 são PWM.

C:\Users\Leandro\Desktop\Mega2560_R3_Label-small-v2.png






IDE

Uma das vantagens do Arduino é que sua IDE é multi-plataforma, ou seja, pode ser instalada no WindowsLinux e MAC OS e por ser uma IDE dedicada ao Arduino, ela possui nativamente diversos exemplos de código e opções como por exemplo passar o bootloader do Arduino para um microcontrolador Atmega novo.

A linguagem adotada pelo Arduino é a linguagem C/C++, e caso você ache que essa linguagem é avançada e complicada, não se preocupe pois na verdade a linguagem C é estruturada e possui uma sintaxe limpa, clara e objetiva, e para facilitar ainda mais, o Arduino já tem diversas funções prontas, como por exemplo para leitura e escrita de dados analógicos e digitais, além de comunicação serial (PPM, I2C, TTL …) e paralela e também tempo (delay), sendo assim não será preciso você se preocupar com o clock do microcontrolador e nem terá que implementar protocolos de comunicação serial ou paralela, resumindo, se você quer que o pino 13 fique positivo (5volts) basta você fazer:


void setup

pin Mode (13, OUTPUT); // Coloca o pino 13 em modo saída


digital Write (13, 1); // Deixa o pino 13 como positivo (5V)


void loop


Caso você já tenha conhecimento em programação para microcontroladores, você deve ter percebido que não tivemos que utilizar (diretamente) nenhum registrador e que está tudo bem simplificado.


Void setup e void loop. Essas duas funções são obrigatórias no Arduino, a função void setup  não retorna nada e nem recebe nenhum argumento, essa função é utilizada para configuração, no exemplo acima configuramos o pino 13 para saída de dados (OUTPUT). Já a função void loop também não retorna nada e nem recebe nenhum argumento, quando rodamos um programa (firmware) no microcontrolador, é de nosso interesse que esse programa fique rodando para sempre em um loop infinito, então para isso devemos escrever as rotinas de nossa firmware dentro da função loop, pois ela será repetida infinitamente.


Vantagems


Uma das vantagems do Arduino Uno, é o seu baixo custo comparado a outras pataformas de desenvolvimento, e a IDE é gratuita e open source.  você estará aprendendo sobre uma nova área com infinitas possibilidades.

Podemos apenas clicar em um botão e transferir o código para um circuito que já esta montado em uma placa de circuito impresso. Em questão de protótipo o Arduino é sim uma ótima opção.

Nós também podemos utilizar circuitos eletrônicos para nos ajudar em tarefas hacking, como monitoramento, segurança de computadores, módulos de Firewall ou servidores pequenos, em fim, novamente tudo vai depender da nossa criatividade.


O que é gravador AVR USBasp


USBasp é um gravador para controladores Atmel AVR com uma conexão USB construída em sua placa. É constituído de um ATMega e outros simples componentes eletrônicos. O gravador apenas utiliza de um driver USB para comunicação, não sendo necessário um controlador USB especial.C:\Users\Leandro\Desktop\download.jpg


Quando o Arduino não é mais reconhecido pelo seu PC  mas ele liga quando recebe tensão? Aqui ensinaremos a fazer uma gravação de sketch usando um gravador AVR USBasp, que tem preço bem acessível.

 

Imagine você, utilizando seu bom e velho Arduino Uno em algum projeto qualquer, e, de repente, ele não funciona mais. Apesar de seu led ON estar aceso, você pluga em seu computador, não faz mais o “barulhinho” quando pluga o USB.

 

Bem, isto aconteceu comigo no ano passado, quando tentei fazer o bootloader em um Arduino Pro Mini através de um Arduino Uno. Depois de muita procura, descobri que o chip microcontrolador responsável pela comunicação do Arduino UNO com o computador, chamado ATmega16U2 (vide figura 1) não funcionava mais:


Resultado de imagem para atmega16u2 arduino

 


Existe um gravador chamado AVR USBasp que realiza a gravação através dos pinos ICSP do Arduino, estes conjuntos com 6 pinos que estão destacados na figura 2:



C:\Users\Leandro\Desktop\ICSP1-to-ICSP-Arduino.png


Os pinos à direita são responsáveis pela gravação no ATmega328, microcontrolador principal do Arduino UNO. Já os pinos à esquerda e acima são referentes ao ATmega16U2. As especificações dos pinos estão localizados na figura 3:

C:\Users\Leandro\Desktop\arduino-pins.jpg

Para quem já está familiarizado com módulos tipo SPI vai ter familiaridade com estes pinos.  

 Agora vamos para a parte prática. O gravador que utilizei é este, disponível aqui:

 

C:\Users\Leandro\Desktop\450xN.jpg

Caso esteja usando Windows, é preciso instalar o driver do gravador, disponível aqui. Em ambiente Linux não é necessária instalação, apenas permissão para o dispositivo USB, caso você não seja root. Após instalar e plugar seu dispositivo no computador, faça as ligações do gravador para o Arduino:

C:\Users\Leandro\Desktop\captura-de-tela-2015-05-02-as-16.37.24-75755.png

 

Agora inicialize a IDE Arduino e selecione no menu Ferramentas - Programador - USBasp, conforme a próxima imagem:




C:\Users\Leandro\Desktop\usb-438x259.png

Na hora de realizar o upload, não faça pelo método comum. Selecione Sketch - Carregar usando Progrador, conforme a figura 7:



C:\Users\Leandro\Desktop\Modkit Fabkit arduino sketch window.png


Se tudo der certo, teremos carregado um blink com intervalo de 200 milissegundos. Se não der, pode ocorrer alguns destes problemas:

Se estiver usando Linux, pode haver o problema de não carregar porque o dispositivo USB não está autorizado. Faça as alterações pelo root do Terminal;

No ambiente Windows, verifique se o gravador USB foi corretamente instalado. Caso haja algum problema, você deve realizar a instalação através do Gerenciador de dispositivos.


Para baixar a versão PDF clique no link abaixo:

https://www.lojamundi.com.br/download/carregar-sketch-arduino/Arduino.pdf

Posted in: ArduinoEmbarcados
Compartilhe e Divirta-se

Signifyd | Fraud Protection and Chargeback Prevention for eCommerce

SiteLock