Página 1 de 1

Não tem como usar o ATtiny15L com o Bascom ???

MensagemEnviado: 07 Abr 2008 11:41
por starker
o tiny15 tem ADC mas não tem RAM.... por isso não consigo dimensionar variáveis..... se eu quiser usar ADC no tiny15, devo aprender assembler?? ou há outra maneira de fazer isso com o Bascom ????

é que eu gostaria de fazer um controle de ventoínha usando um LM35.... e aproveitar os tiny15L que eu comprei e fiquei sabendo depois que não possuem RAM.... já fiz o programa e funciona com o tiny13, mas eu prefiro me livrar dos tiny15L.... ainda estou aprendendo a usar Bascom, Basic é a única linguagem que sei usar +/- até agora....

alguém pode me ajudar???.... tem algum jeito de usar o ADC no tiny15L com o Bascom???


desde já agradeço

MensagemEnviado: 07 Abr 2008 19:20
por zurca1599
Não tenho esse micro ,mas no Bascom pode usar o ADC sim.

Para o mega8 é algo assim , veja e adapte .

Dim Adc1 As Word ' Variavel para ler o valor do adc


Config Adc = Single , Prescaler = 128 , Reference = Avcc ' configura adc
Start Adc ' enable adc

Adc1 = Getadc(0) ' lê adc pada a variavel.

Espero que ajude.

MensagemEnviado: 07 Abr 2008 19:48
por silverbolt
no attiny é diferente.
estou pesquisando isso, depois posto uma resposta

MensagemEnviado: 07 Abr 2008 21:25
por silverbolt
tenta isso
depois me fale

'------------------------------------------------------------
' ATTINY15 test file
'------------------------------------------------------------
$regfile = "at15def.dat"
$crystal = 1600000
$tiny
$noramclear


Dim B As Iram Word
Dim Al As Iram Byte
Dim Ah As Iram Byte

Config Adc = Single , Prescaler = Auto
Start Adc



Ddrb = &B01_0000
Set Portb.4

Starts:


B = Getadc(2)

Al = Low(b)
Ah = High(b)

If Ah => 3 Then

If Al => 240 Then
Set Portb.4
End If

If Al <= 160 Then
Reset Portb.4
End If

End If

jmp starts

End

MensagemEnviado: 07 Abr 2008 22:58
por starker
Silverbolt, é isso mesmo.... está funcionando no Bascom, mas no proteus não.... acho que tenho que mudar os valores (máximo e mínimo).... o ventilador deve ligar quando a temperatura chegar em 50°C e desligar quando descer à 30°C.... mas isso eu vou ver depois na prática se vai ficar nessa faixa.... a faixa não é crítica....
mas valeu pela ajuda.... aprendi mais um pouco sobre o Bascom...
obrigado também ao zurca1599 :D

tenta esse tb

MensagemEnviado: 09 Abr 2008 00:19
por silverbolt
quanto ao proteus, nunca gostei de usar isso.
tem que ser na raça mesmo, ou seja no hardware ;-)


tenta esse tb:

$regfile = "at15def.dat"
$crystal = 1600000
$tiny

Dim Resultlow As Iram Byte
Dim Resulthigh As Iram Byte

Osccal = 96


' 8-bit conversion
Const Adinput = 1 'ADC1 (PortB.2)
Admux = &B1110_0000 + Adinput 'internal reference 2.56V
Adcsr = &B1001_0111 'single conversion

Do
Adcsr.adsc = 1 'start conversion
Aa:
sbis adcsr,adsc 'wait till conversion finished
rjmp aa

Resulthigh = Adch 'Voltage [mV]= Resulthigh * 10
Loop


'(
' 10-bit conversion
Const Adinput = 1 'ADC1 (PortB.2)
Admux = &B1100_0000 + Adinput 'internal reference 2.56V
Adcsr = &B1001_0111

Do
Adcsr.adsc = 1 'start conversion

Aa:
sbis adcsr,adsc 'wait till conversion finished
rjmp aa

Resultlow = ADCL
Resulthigh = ADCH 'Voltage [mV]= (Resulthigh * 16 + Resultlow) / 4
Loop
')

End

MensagemEnviado: 12 Abr 2008 21:52
por zurca1599
starker escreveu:Silverbolt, é isso mesmo.... está funcionando no Bascom, mas no proteus não.... acho que tenho que mudar os valores (máximo e mínimo).... o ventilador deve ligar quando a temperatura chegar em 50°C e desligar quando descer à 30°C.... mas isso eu vou ver depois na prática se vai ficar nessa faixa.... a faixa não é crítica....
mas valeu pela ajuda.... aprendi mais um pouco sobre o Bascom...
obrigado também ao zurca1599 :D


No Proteus tem um circuito com esse micro que deve ser o que quer.

Pode partir dese e alterar para o que quer fazer.

Veja em samples:

t15demo.DSN

MensagemEnviado: 04 Jun 2008 22:24
por starker
ok zurca...

já tinha visto esse projeto no proteus.... o problema é que ele foi feito em assembly e eu só conheço(+/-) Basic....

estou com muito trabalho aqui na oficina e aos poucos está aliviando aqui....
assim que tiver mais tempo, vou olhar esse programa com mais calma....
acho que o assembly não é um bicho de sete-cabeças :D

por hora, resolvi o problema ligando um cooler que vai funcionar direto mesmo... sem controle.... não tive mais tempo de ver isso com calma...

agradeço a todos que deram suas dicas...

valeu!!!