domingo, 2 de outubro de 2016

Saindo um pouco da linguagem arduino. Linguagem BASCOM

Boa noite povo que acompanha o meu blog, hoje vou explicar-lhes um pouco da história do arduino e, também introduzir outras formas de programação além do arduino. Haha
Iremos usar um programa criador de arquivos .hex bascom, que tem este jeitão aqui:




Por muito tempo paira-se a dúvida entre os programadores de plantão, arduino ou PIC???Qual dos 2 utilizar???

A resposta para essa pergunta está mais qualificada na elaboração de outra pergunta, AVRS ou PIC???

Agora voces me perguntam...Oque é AVRS?

Essa é a informação que pouca gente sabe, arduino na verdade não é uma familía, mas sim uma plataforma que usa um chip de uma  ou familías em particular, os AVRS...

Basicamente AVRS são os atmegas e os menos robustos e mais eficientes, os attinys...

O famoso arduino uno, que todo mundo utiliza é o atmega 328p,. sendo o arduino mega, o leonardo, outras variações de chips encapsulamento smd...

Vocês poderiam me perguntar, mas por que eu chamei os attinys de eficientes? Simples, eles consomem MUITA POUCA energia, e possui poucos pinos, geralmente possuem apenas 1 sensor analogico, etc. Sendo que com um simples attiny e uma bateria de relogio, o projeto ,dependendo do que for, dura meses, o que pode ser vantajoso em relação ao nosso arduino gulosão ^^
Bem agora voce me pergunta, o que me falta para mexer com esses avrs? Bem, antes de tudo terão de fazer o download de 3 programas:
1° o principal, que irá gerar o arquivo hexadecimal a partir da linguagem que voce escrever
2° um programa suporte, sem ele não ira funcionar a gravação do arquivo .hex
3°um programa que ira gravar o arquivo .hex no circuito.

Antes de mais nada, voces terão de comprar um conversor usbasp, se usarem a plataforma ate windows 7, e posterior a ele um conversor ft 232rl.

ps: Ja vi gente falar que conseguiu usar o usbasp no windows 10, mas não consegui nem com reza;

E o que são usbasp e ft 232?

o vermelho é o fat e o azul o usbasp, mais infoprmações procurem no mercado livre haaaa


Bom agora vamos aos downloads:

voce pode baixar o bascom aqui:


depois baixe o programa de suporte ao arquivo hexadecimal, fornecido pela empresa avr, o winavr

e por fim, mas não menos importante, baixe o melhor gravador de avrs que eu encontrei nesse mundão afora

baixando e instalando esses 3 arquivos voces ja poderão começar a programar em avrs.

Então pessoal nesse tópico vou me ater somente a linguagem de programação do bascom, para aprender a compilar com avrude, sugiro que deem uma olhada nesse excelente tutorial aqui:
Então povo, a linguagem bascom é semelhante a pic com ligeiras alterações, exixstem vários tutoriais no youtube em espanhol ao qual eu aprendi bastante e também ele é muito bem conceituado na comunidade clubedohardware, ao qual também tem infinitos exemplos que, se prestares atenção e fores acostumado com a linguagem arduino, aprenderá ela com facilidade..

Vou mostrar aqui 2 códigos que fiz com o bascom: Um pede uma senha e caso a palavra digitada esteje correta, acende uma lampada, caso não esteja acende outra lampada, e um que seria o famoso blink led"hello word" dos embarcados,com a adição de valores pelo monitor serial.
Esses codigos foram feitos usando o chip atmega 328p, o coração do arduino. Então, se voce tiver um arduino com um cristal oscilador , um capacitor ceramico 104 e 2 capacitores ceramicos 22pf mais os chips ja da pra fumfar^^
1° monte conforme a imagem destacada:


código do blink led no bascom
-----------------------
$regfile = "m328pdef.dat"
$crystal = 16000000
$hwstack = 40
$swstack = 16
$framesize = 32

Config Portd.3 = Output
Config Portd.4 = Output


Portd.4 = 0
Portd.3 = 0


Do
Portd.3 = 0
Portd.4 = 1
Print "livre"
Waitms 5000
Portd.4 = 1
Portd.3 = 1
Print "leve"
Waitms 5000
Portd.4 = 0
Portd.3 = 1
Print "solto"
Waitms 5000

Loop
End
---------------
código da senha de acesso
-----------------
$regfile = "m328pdef.dat"
$crystal = 16000000
$hwstack = 40
$swstack = 16
$framesize = 32

Config Portd.3 = Output
Config Portd.4 = Output
Config Portd.5 = Output
Portd.5 = 0
Portd.3 = 0
Portd.4 = 0

                           Dim Senha As String * 10

                            Dim Senha1 As String * 10
                            Senha1 = "teste"
                           Print "digite a senha se acesso"

                            Do


                            Input Senha
                            If Senha = Senha1 Then
                            Portd.3 = 1
                            Portd.4 = 0
                            Print "senha correta"
                            Print "digite a senha se acesso"
                            Else
                           Portd.3 = 0
                            Portd.4 = 1
                            Print "senha errada"
                            Print "digite a senha se acesso"
                            End If


                            Loop
                            End

Uma ultima dica, para saber quais são as portas d3 e d4 do arduino olhem o datasheet do mesmo, sobretudo a imagem:
Pela imagem concluimos que as portas d3 e d4 são os pinos 5 e 6
E é isso pessoal, em breve um vídeo da bagaça funcionando.

3 comentários:

Unknown disse...

Luciano,esse programa Bascom avr,e muito poderoso,gera arquivos rápidos,leves e eficientes,trabalho com ele desde do Bascom8051,muito poderoso tambem,se usar os micros da Philips e Dalas.O único problema e que e pago e não custa barato,mas já fiz ate FFT e DFT ,Usando Bascom avr,ele calcula as integrais da equacao de Fourier e mostra no display em tempo real.

Unknown disse...

Sou Abel Tecnologia..

Eletronicaeutilidades disse...

Poxa. Bacana cara. Sempre tive vontade de trabalhar numa empresa de grande porte no ramo da tecnologia haha.
Ps: Sou o dono do blog