Este documento apresenta um resumo sobre o microcontrolador Basic Stamp e sua programação. Em 3 frases:
O Basic Stamp é um microcontrolador programável através da linguagem BASIC que possui 8 entradas/saídas digitais, memória RAM de 16 bytes e EEPROM de 256 bytes. Ele é alimentado entre 7,5V e 15V e programado usando um computador, compilador e cabo serial. O documento explica conceitos básicos de eletrônica digital e fornece exemplos de programação do Basic Stamp para controlar saídas digitais e
Novena de Pentecostes com textos de São João Eudes
Basic step1
1. Universidade de Passo Fundo
Curso de Engenharia Elétrica
Introdução
ao Basic Stamp
Prof. Fernando Passold (2013)
Prof. Adriano Luís Toazza (2012)
2. O Microcontrolador Basic Step
§ É uma versão brasileira do Basic
Stamp I, kit do fabricante americano
Parallax à www.tato.ind.br
§ Fácil de programar (linguagem BASIC)
pois os comando estão em português
e inglês.
§ Alimentação de 7,5V a 15V
§ Possui 8 entradas e saídas com
capacidade de corrente de até 25mA
(um led comum consome tipicamente
uns 12 mA)
1 mA = 0,001 A
3. Basic Step
Portas de Entra/Saída
(conexões)
PIC16C56 microchip
5. Basic Step - Software
§ O Basic Step é
programado pela
linguagem Tbasic
ou Pbasic ambas
muito fácil de
programar (uma
em inglês e a outra
em português)
8. Programação do Basic Step
§ Para programar o Basic Stamp são necessários:
F Placa do Basic Step
F Fonte de alimentação CC
F Compilador Basic Step
F Computador
F Cabo de gravação (serial)
9. Intro. Eletrônica Digital
§ Alguns conceitos:
- Estado: situação em que se encontra parte do circuito. No caso de
sistemas digitais, só existem 2 estados distintos: 2 possibilidades,
conhecido como sistema binário (2), cujos algarismos (ou estados) são:
“0” ou “1”.
- O “0” poder ser interpretado como desligado, apagado, desativado,
desconectado; Em eletrônica digital à “0”: nível lógico BAIXO
- O “1” pode ser interpretado como ligado, acesso, ativado, conectado;
Em eletrônica digital à “1”: nível lógico ALTO.
15. Experimento 2 – Trabalhando com saídas
a) Sinalizador para saída de veículos
Faça um programa capaz de
alternar o estado dos leds.
Chanfro
A+ K-
16. Experimento 2 – Trabalhando com saídas
a) Sinalizador para saída de veículos
Faça um programa capaz de alternar o
estado dos leds.
Exemplo:
repita:
low 0 ‘nível baixo na porta 0
high 0 ‘nível alto na porta 0
pause 500 ‘espera 0,5 seg
low 1 ‘nível alto na porta 1
high 0 ‘nível baixo na porta 0
pause 500
goto repita
17. Experimento 2 – Trabalhando com saídas
b) Seqüencial de 6 canais
Chanfro
A+ K-
19. Variáveis no Basic Stamp
§ Para declarar variáveis usar comando ‘symbol’:
Ex.: symbol
contador
=
b0
§ 3 tipos de variáveis disponívels: bit, byte (8 bits) e word (16 bits).
§ Declarar variáveis do menor tipo possível (economizar memória);
§ O Basic Stamp possui número limitado de variáveis (máximo):
- 7 variáveis do tipo word (w0 até w6);
- 14 variáveis do tipo byte (b0 até b13) e
- 16 variáveis do tipo bit (bit0 até bit15).
§ 1 variável tipo byte: números de 0 até 255 (2^8 -1);
§ 1 variável tipo word: números de 0 até 65.535 (2^16-1).
§ Na prática o uC do Basic Stamp I disponibiliza apenas 14 registradores
de 8 bits cada um!
20. Variáveis no Basic Stamp
§ Para declarar variáveis usar comando ‘symbol’:
Ex.: symbol
contador
=
b0
§ 3 tipos de variáveis disponívels: bit, byte (8
bits) e word (16 bits).
§ Declarar variáveis do menor tipo possível
(economizar memória);
§ O Basic Stamp possui número limitado de
variáveis (máximo):
- 7 variáveis do tipo word (w0 até w6);
- 14 variáveis do tipo byte (b0 até b13) e
- 16 variáveis do tipo bit (bit0 até bit15). Notar:
Se w0
=
1201 à Implica em:
§ 1 variável tipo byte: números de 0 até 255 (2^8
b1 = 4 e b0 = 177
-1);
Ou seja:
§ 1 variável tipo word: números de 0 até 65.535 1201 / 256 = 4
(2^16-1).
1201 - 256*4 = 1201 – 1024 = 177
§ Na prática o uC do Basic Stamp I disponibiliza
apenas 14 registradores de 8 bits cada um!
22. Experimento 2 – Trabalhando com saídas
c) Contador de década
§ Monte o circuito da figura ao
lado.
§ Não esquecer de incluir
resistores de 470 Ohms na
conexão (série) de cada
terminal do display com cada
porta do Basic Step (sob
pena de danificar o Display)!
23. Experimento 2 – Trabalhando com saídas
d) Display “especial”
§ Melhore o programa anterior (simples
contador), para outro que consiga mostrar
outros caracteres no display:
24. Experimento 2 – Trabalhando com saídas
e) Gerando tons musicais
O Basic Step possui um comando próprio para gerar tons musicais e ruídos.
Todos os comandos utilizados pelo Basic Step podem ser consultados
detalhadamente no “help” do compilador.
Pin 7
25. Experimento 2 – Trabalhando com saídas
e) Gerando tons musicais aleatoriamente
O Basic Step possui um comando próprio para gerar notas musicais e
ruídos “ SOUND “
26. Experimento 2 – Trabalhando com saídas
e) Gerando tons musicais aleatoriamente
O Basic Step possui um comando próprio para gerar notas musicais e
ruídos “ SOUND “
SOUND
pino,
(nota,
duração)
Onde: nota varia de 0 127
duração varia de 1 a 255 “passos” de 12 ms
Monte o circuito abaixo e conecte o “+” do capacitor no pino 7 do
Basic Step
27. Experimento 2 – Trabalhando com saídas
e) Gerando tons musicais aleatoriamente
PROGRAMA: Gera tons aleatórios
repete:
SOUND
7,(20,100,56,100,100,100,120,100)
'gera
tons
musicais
SOUND
7,
(250,140)
'gera
certo
tom
por
determinado
tempo
GOTO
repete
Monte o circuito abaixo e conecte o “+” do capacitor no pino 7 do
Basic Step
28. Experimento 2 – Trabalhando com saídas
e) Gerando tons musicais aleatoriamente
PROGRAMA: Gera tons aleatórios 2
for
b2
=
0
to
127
SOUND
7,(25,10,b2,10)
'sound
pino,
(nota,
duração)
Next
'nota
[0..127]
duração
[1..
255
passos
de
12ms]
Monte o circuito abaixo e conecte o “+” do capacitor no pino 7 do
Basic Step
29. Experimento 3 – Trabalhando com entradas
Para declarar um pino como entrada utiliza-se o comando input e como
saída o comando output. Porém, se não for declarado, todos os pinos estão
configurado para serem entrada.
a) Teclando tons musicais
30. Usando chaves push-botton
Note a
separação
Vista superior: elétrica Eletricamente:
Pistas (contatos)
Forma de usar no proto-board: do proto-board:
31. Desafio Proposto
§ Jogo de Memória;
§ Efeito luminoso aleatório;
§ Efeito luminoso + sonoro (jogo infantil)
32. Comandos Avançados
§ GOSUB rotina ‘ ou EXECUTE
...
end ‘ término do programa, não avança para próximas linhas
rotina:
...
return ‘ fim da sub-rotina, retorno da sub-rotina.
33. Experimento 3 – Trabalhando com entradas
b) Escolhendo um Led: dentre 4 led’s será possível escolher
um deles por intermédio de um único interruptor
Este circuito utiliza o mesmo princípio de alguns relógios digitais e outros
equipamentos eletrônicos. Uma tecla permite selecionar várias funções (led).
34. Experimento 3 – Trabalhando com entradas
b) Escolhendo um Led:
dirs=%01111111
‘pino
7
declarado
como
entrada,
demais
como
saída
let
b2=0:b3=0:b4=0
‘zera
algumas
variáveis
‘pins=$7f
loop:
if
pin7=0
then
proximo
'quando
o
botão
é
acionado
vai
para
rotina
proximo
goto
loop
‘senão
salta
para
loop
proximo:
‘rotina
que
irá
incrementar
os
led’s
pause
300
if
b3<4
then
tabela
'se
b3
for
menor
que
4
salta
para
tabela
b3=0
'se
b3
for
maior
que
4
b3
e
b4
serão
zeradas
b4=0
tabela:
'rotina
que
contém
a
tabela
de
saída
lookup
b3,(14,13,11,7),pins
b3=b3+1
'incrementa
em
uma
unidade
b4=b4+30
SOUND
6,(b4,20)
goto
loop
'salta
para
o
início
do
programa