Sie befinden sich hier: Lego® - Bauanleitungen - Farbsensor TCS 3200 an K8055

Farbsensor TCS 3200 an K8055:


Farbsensor  


Schaltplan


Schaltplan und Anschlussplan  
  • 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.