-
-
Neuer Benutzer
Öfters hier
hey danke!!!
leider funktioniert es bei mir immer noch nicht. ich weiße es nicht ob es an der programmierung oder an der hardware liegt.
ich wollte mein roboter fernsteuren. dazu verwende ich eine fernsteuerung und das funkboard eines helikopters. ich verbinde den pin der motoransteuerung des helikopters mit dem adc5 pin meines atmega32.
wenn ich bei der fernsteuerung gas gebe, soll sich der roboter nach vorne bewegen. das board des helikopters verwende ich mit einer 4.5 volt batterie und das hauptboard mit dem atmega32 mit 8 volt.
meine frage: kann der atmega32 die spannung an dem pin adc5 überhaupt messen wenn der atmega32 mit einer anderen spannungsquelle betrieben wird als das funkboard des helikopters???
ganzen programm:
[/code]Declare Sub 1()
Declare Sub 2()
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
Config Pinc.6 = Output
Config Pinc.7 = Output
Config Pind.4 = Output
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pind.5 = Output
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Pwm1a = 0
Pwm1b = 0
Tccr1b = Tccr1b Or &H02
Config Adc = Single , Prescaler = Auto
Const Adc = 4.5 / 1023
Sub 1()
Portc.6 = 0
Portc.7 = 1
Portd.4 = 0
Portb.0 = 1
Portb.1 = 0
Portd.5 = 1
Start Adc
Dim Z As Word
Z = Getadc(5) '5 ist der pin adc5 des atmega32
If Z > 909 Then 'also wenn mehr spannung als 4 volt(909)anliegt dann soll es die motoren starten
Do
Pwm1a = 1023
Pwm1b = 1023
Loop Until Z < 100 'er soll es solange ausführen bis an pin adc5 weniger als ungefähr 0.44 volt anliegt
End If
If Z < 100 Then ' wenn weniger als 0.44 volt anliegt dann soll er die motoren still legen
Do
Pwm1a = 0
Pwm1b = 0
Loop Until Z > 909 ' er soll die motoren stoppen bis an pin adc5 mehr als 4 volt anliegen
End If
End Sub[/scroll]
david
http://www.david-schleicher.de/
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen