Farbsensor TCS 3200 an K8055:
Schaltplan
 |
|
- TCS 3200 Licht-/Frequenzwandler liefert ein Rechteck- Ausgangssignal
- ATmega 8 wertet das Signal aus
- D/A- Wandler wandelt Ausgangssignal vom ATmega8 in Analog- Ausgangssignal
|
Schaltplan |
|
Fotos
Bascom Quellcode für ATmega 8
'***********************************************************************
'Farbsensor
'10.06.2012
'www.freggelweb.de
'***********************************************************************
$regfile = "m8def.dat"
$crystal = 3686400
$baud = 9600
$hwstack = 100
$swstack = 100
$framesize = 100
'Rechteck- Signal von TCS 3200
Config Portd.4 = Input
Portd.4 = 1
Config Portc = Output
Farbe Alias Portc
Portc = 0
Config Portb = Output
Farbew Alias Portb
Portb = 0
'Counter
Config Timer0 = Counter , Edge = Falling
On Timer0 Timer0_isr
Enable Timer0
'jede Sekunde
Config Timer1 = Timer , Prescale = 256
Const Timer1_startwert = 51043
Timer1 = Timer1_startwert
On Timer1 Timer1_isr
Enable Timer1
Enable Interrupts
'Variablen
Dim Ueberlaufzaehler As Long
Dim Impulse As Long
Do
Select Case Impulse
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'!!! !!!
'!!! für n und m jeweilige Grenzwerte einsetzen !!!
'!!! Werte können mit HTerm ermittelt werden !!!
'!!! !!!
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Case n To m :
Print "weiss" ; Impulse
Portc = &B000011
Portb = &B000000
Case n To m:
Print "gelb" ; Impulse
Portc = &B000111
Portb = &B000000
Case n To m:
Print "rot" ; Impulse
Portc = &B001111
Portb = &B000000
Case n To m:
Print "blau" ; Impulse
Portc = &B011111
Portb = &B000000
Case n To m:
Print "schwarz" ; Impulse
Portc = &B111111
Portb = &B000000
Case Else :
Print "error" ; Impulse
Portc = &B111111
Portb = &B000011
End Select
Waitms 100
Loop
End
'nach 256 Impulsen
Timer0_isr:
Incr Ueberlaufzaehler
Return
Timer1_isr:
Timer1 = Timer1_startwert
Ueberlaufzaehler = Ueberlaufzaehler * 255
Impulse = Ueberlaufzaehler + Timer0
Ueberlaufzaehler = 0
Timer0 = 0
Return
HTerm
Wertzuordnung
Farbsortierung von Lego Steinen
Ich kann keinerlei Haftung für die Schaltungen übernehmen und auch keine Funktionsfähigkeit garantieren. Der Nachbau und Einsatz der hier veröffentlichten Schaltungen erfolgt auf eigene Gefahr. Ich übernehme keinerlei Garantie. Die VDE-Vorschriften sind zu beachten.