PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ad wandler für den helligkeitssensor



patti16
24.07.2005, 19:46
hi

wie defeniere ich denn den ad-wandler bei einem atmega 8 in bascom bräuchte da mal hilfe, finde zwar was in der hilfe jedoch sagt mir das nicht viel bzw. gar nichts.


gruß
patrick

bertl100
24.07.2005, 19:52
siehe vorigen Beitrag

MFG

Bertl

patti16
24.07.2005, 20:21
hi

kann man das programm so für einen helligkeits sensor bentutzen??

wenn nicht könntet ihr mir ein beispiel geben???

hier das programm


$regfile = "m8def.dat" ' CPU = ATtiny26L (externe Reset-Beschaltung)
$crystal = 1000000 ' Takt = interner RC mit 1 MHz

Config Adc = Free , Prescaler = Auto , Reference = Internal ' AD Einstellungen = Rev.-Spg. ist Intern (2,56 V)

Config Portc = &B11111111 ' Port C = Portc ist komplett Input
Config Portb = &B00000011 ' Port B = PB0 und PB1 sind Output


Dim A As Word
Dim I As Integer
Dim N As Integer
Dim Ton As Integer


Start Adc ' AD aktiviert

Do

A = Getadc(0)

If A = 25 Then
Sound Portb.0 , 400 , 450
Sound Portb.0 , 400 , 250
Sound Portb.0 , 400 , 450


Loop
end if
End






gruß
patrick

bertl100
24.07.2005, 21:50
Ich schätze mal, dass du einen LDR Widerstand benutzen willst.

Dann musst du nur die Spannung messen und mit einem Algorithmus berechnen.

MFG

Bertl

patti16
24.07.2005, 21:56
hi

genauso habe ich das vor haste vielleicht ein beispiel programm dafür weil meins klappt ja so nicht

bertl100
24.07.2005, 22:12
Was soll das eigentlich mit dem Befehl SOUND???
Egal.

Code hab ich jetzt nicht parat.
Funktionieren tuts ungefähr so:

du misst die Spannung. Dann hast in der Variable A einen Wert von 0 bis 1024.
diesen Wert musst dann umrechnen in eine Spannung---> mit der Formel

Spannung = (5/1024)*A

Da sich der Widerstand des LDR, je nach Lichteinfall verändert, verändert sich auch die Spannung.
Dann musst nur noch aus dem Datenblatt des LDR die Standardwerte erroieren um weiterrechnen zu können.


MFG

Bertl

patti16
24.07.2005, 22:19
ahh ok das werde ich dann mal ausprobieren hoffe das es dann klappt der sound ist einfach nur da um das ausprobieren habe das mitlerweile aber schon eine led dran hängen.


gruß
patrick

patti16
24.07.2005, 22:48
hat jemand vielleicht ein quelle wo man das alles ganz genau nachlesen kann??

BlueNature
25.07.2005, 16:39
Hallo Patti!

Das was du da machst ist wirklich nicht gut, schreibst bitte anders, deien Schachtelungsstruktur stimmt nicht! Das gibt Probleme die nicht zu erklären sind



Do
A = Getadc(0)
If A = 25 Then
Sound Portb.0 , 400 , 450
Sound Portb.0 , 400 , 250
Sound Portb.0 , 400 , 450
Loop
end if
End


Richtig wäre:



Do
A = Getadc(0)
If A = 25 Then
Sound Portb.0 , 400 , 450
Sound Portb.0 , 400 , 250
Sound Portb.0 , 400 , 450
End If
Loop
End


Grüße Wolfgang

patti16
26.07.2005, 20:49
so jetzt hab eich es fast dank BlueNatur.

hier der Code:


$regfile = "m8def.dat"
$crystal = 1000000
$baud = 9600
Config Adc = Single , Prescaler = Auto , Reference = Internal

Config Portc = &B11111111
Config Portb = &B00000010


Dim A As Word
Dim I As Integer
Dim N As Integer
Dim Ton As Integer


Start Adc


Do
A = Getadc(0)
If A < 128 Then
Portb.1 = 0
Else
Portb.1 = 1
End If
Loop
End


nun eine frage noch der kennt jetzt dunkel und hell wenn es hell wird geht die lampe auch an, jedoch sollte das umgekehrt sein.

wie mache ich das jetzt habe an der Formel ob schon alles mögliche probiert, aber es klappt nicht. Könnte mir bitte noch jemand helfen??

wäre sehr nett wenn das heute noch ging.

gruß
patrick[/u][/code]

Alter Knacker
27.07.2005, 01:01
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 9600
Config Adc = Single , Prescaler = Auto
Dim A As Word
Const B = 128

Start Adc

Do
A = Getadc(0)
If A > B Then
Portb.1 = 0
Else
Portb.1 = 1
End If
Loop
End


soweit mein "pseudocode"...keine ahnung, ob das funzt, aber so würde ich anfangen.
mfg knacki