Archiv verlassen und diese Seite im Standarddesign anzeigen : ad wandler für den helligkeitssensor
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, 20:52
siehe vorigen Beitrag
MFG
Bertl
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, 22: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
hi
genauso habe ich das vor haste vielleicht ein beispiel programm dafür weil meins klappt ja so nicht
bertl100
24.07.2005, 23: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
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
hat jemand vielleicht ein quelle wo man das alles ganz genau nachlesen kann??
BlueNature
25.07.2005, 17: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
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, 02: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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.