-         

Ergebnis 1 bis 3 von 3

Thema: Temperatur + Beleuchtung

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.11.2008
    Alter
    24
    Beiträge
    56

    Temperatur + Beleuchtung

    Anzeige

    Hallo

    Ich habe folgendes Problem:
    Ich möchte zwei ADCs gleichzeitig laufen lassen und zwar ist eins für die Temperaturmessung zuständig und das andere für Helligkeitsmessung.
    Wenn es dunkel ist soll die Displaybeleuchtung sich einschalten.

    Das Thermometer allein funktioniert einwandfrei sobald ich jedoch die Beleuchtung mit einbringe zeigt das Display gar nichts oder nur Wirrwarr an.

    Ich bin mir nicht sicher ob es an der Hardware oder Software liegt , aber da beide ( Beleuchtung geht an einem anderen Atmega einzeln ohne Temperaturmessung) einzeln funktionieren dachte ich liegt es am Code

    Vielleicht könnt ihr einen Fehler finden hier der Code
    PinD.1 ist der Ausgang für die Beleuchtung

    Code:
    ' *
    ' * Title         : LCD Thermometer LM35.bas
    ' * Version       : 1.0
    ' * Last Updated :  17.04.2006
    ' * Target        : AT Mega8
    ' * Author        : www.avrprojects.net
    ' * Program code  : Bascom AVR
    ' * Hardware req. : LM35
    ' * Description   : read analog value from LM 35 temperature sensor, show the result on a LCD
    ' *                 display with bar-graph
    ' ***************************************************************************
    $regfile = "M8def.dat"                                      ' use the Mega8
    
    $crystal = 1000000
    
    
      Deflcdchar 0 , 32 , 32 , 31 , 31 , 31 , 31 , 32 , 32      ' replace ? with number (0-7)'
    Deflcdchar 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1                ' replace ? with number (0-7)
    Deflcdchar 2 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16        ' replace ? with number (0-7)
    Deflcdchar 3 , 16 , 16 , 31 , 31 , 31 , 31 , 16 , 16        ' replace ? with number (0-7)
    Deflcdchar 4 , 1 , 1 , 31 , 31 , 31 , 31 , 1 , 1            ' replace ? with number (0-7)
    Deflcdchar 5 , 32 , 32 , 28 , 28 , 28 , 28 , 32 , 32        ' replace ? with number (0-7)
    Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
    
    Config Lcd = 16 * 2
    
    Config Pind.1 = Output
    
    Config Pinb.0 = Input
    
    Taster1 Alias Pinb.0
    Led1 Alias Portd.1
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc   'config ADC
    Start Adc
    
    Dim X As Word
    Const A = 70
    
    Dim W As Word , Perc As Word , Volt As Word , Volt_d As Byte , Channel As Byte , I As Byte , Cols As Byte , Cols_d As Byte
    
    Cls
    Cursor Off
    Locate 3 , 1
    Lcd "0"
    Locate 3 , 4
    Lcd "10"
    Locate 3 , 8
    Lcd "20"
    Locate 3 , 12
    Lcd "30"
    Locate 3 , 16
    Lcd Chr(223) ; "C"
    
    
    
    
    
    Do
    
      X = Getadc(1)
      If X > A Then
      Led1 = 1
      Else Led1 = 0
      End If
    
    
    
    
    
    
    
    
    
    
    
      W = Getadc(0)
      Volt = W * 5
      Volt_d = Volt Mod 10
      Volt = Volt / 10
      Locate 1 , 1
      Lcd Volt ; "," ; Volt_d
    
      Cols = Volt / 2
    
      Locate 2 , 1
      For I = 1 To Cols
       Select Case I
       Case 1 : Lcd Chr(3)
       Case 5 : Lcd Chr(4)
       Case 10 : Lcd Chr(4)
       Case 15 : Lcd Chr(4)
       Case 20 : Lcd Chr(4)
       Case Else : Lcd Chr(0)
      End Select
      Next I
    
      Cols_d = Cols Mod 2
      If Cols_d > 0 Then
      Lcd Chr(5)
      Cols = Cols + 2
      Else
      Cols = Cols + 1
     End If
    
      For I = Cols To 20
      Select Case I
       Case 1 : Lcd Chr(2)
       Case 5 : Lcd Chr(1)
       Case 10 : Lcd Chr(1)
       Case 15 : Lcd Chr(1)
       Case 20 : Lcd Chr(1)
       Case Else : Lcd Chr(32)
       End Select
       Next I
    
       Waitms 1000
      Loop
    End
    Darf ich zweimal AVGND und AVCC als Stromversorgung hernehmen ?
    Also für LDR und NTC.

    Mfg
    David

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Man kann in PINs nicht SCHREIBEN. Nur in PORTS.
    Mach mal oben:

    Config PORTd.1 = Output
    Config Pinb.0 = Input
    Taster1 Alias Pinb.0
    Led1 Alias Portd.1

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Darf ich zweimal AVGND und AVCC als Stromversorgung hernehmen ? Also für LDR und NTC.
    AVCC und AGND sind keine Stromversorgung für externe Sensoren!

    AVCC des ATmega8 wird normalerweise mit VCC verbunden (ggf. über eine Spule 10uH), AGND mit GND.

    Deine Sensoren sollten direkt von VCC versorgt sein.

    Gruß Dirk

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •