Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück

AVR / Atmel

Ein Servo-Tester mal etwas anders ;-)

 von Naubaddi , 23.01.2020 14:00

Mahlzeit zusammen,
es ist eventuell mit Kanonen auf Spatzen schießen wenn man einen Atmega8 als Servo-Tester benutzt, es geht mir ja auch um das erlernen der AVRs. Alles ist mir noch nicht erschlossen was die Deklaration für timer1 und adc zu bedeuten hat, da ist so ein Display bedeutend einfacher zu verstehen.

Egal, meine Idee war ein Servo mit dem Poti anzusteuern und die Werte auf dem Display anzuzeigen, und das ist daraus geworden:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
' Compiler: Bascom 2.0.7.5
 
' Dateiname: Poti-Servo-Display.avr
' Funktion: mit einem Poti einen Servo ansteuern und die Werte auf einem Display anzeigen
' Datum: Start 23.01.2020, Stand 23.01.2020
' Von: BoomBoomMagic (AVR für Dummys), angepaßt von Naubaddi (Servo und Display)
 
' --- Mikrocontroler Daten... ----------------------------------------------------------------------------------
 
$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 32
$framesize = 32
 
' &HFF, &HE1, &HD9, &HFF ' 1MHz
$PROG &HFF, &HE4, &HD9, &HFF ' 8MHz
 
' --- Deklarationen... -----------------------------------------------------------------------------------------
 
config timer1 = pwm , pwm = 8 , compare a pwm = clear up , compare b pwm = clear down , prescale = 1024
config adc = single , prescaler = auto , reference = avcc
 
config lcdpin = pin , DB4 = portd.0 , DB5 = portd.1 , DB6 = portd.2 , DB7 = portd.3 , RS = portd.4 , E = portd.5
config lcd = 16 * 2
 
config servos = 1 , Servo1 = portd.7 , reload = 10
 
config portd = output
 
' --- Variablen... ---------------------------------------------------------------------------------------------
 
dim w as word
dim Zeile as string * 16
dim Position as string * 16
 
' --- Vorbelegung der Variablen... -----------------------------------------------------------------------------
 
enable timer1
enable interrupts
Zeile = ""
Position = ""
cursor Off
cls
 
' --- Programm Anfang ------------------------------------------------------------------------------------------
 
do
w = getadc(0) ' der Wert vom Poti
Zeile = "Poti: " + str(w) + " " ' den Wert in einen Text einsetzen
locate 1,1 ' Ausgabe in die erste Zeile
lcd Zeile ' den Wert vom Poti anzeigen
w = w / 11 ' den Wert für einen Servo verkleinern
w = w + 51 ' und anpassen
Position = "Servo:" + str(w) + " Mitte "
if w < 93 then Position = "Servo:" + str(w) + " links "
if w > 98 then Position = "Servo:" + str(w) + " rechts "
locate 2,1 ' Ausgabe in die zweite Zeile
lcd Position ' den Wert für das Servo anzeigen
Servo(1) = W ' den Servo positionieren
loop
 
' --- Programm Ende --------------------------------------------------------------------------------------------
 
end
 





Grüßle, Naubaddi

Naubaddi
Beiträge: 288
Registriert am: 29.01.2019

Themen Überblick

Betreff Absender Datum
Ein Servo-Tester mal etwas anders ;-) Naubaddi 23.01.2020
RE: Ein Servo-Tester mal etwas anders ;-) BoomBoomMagic 23.01.2020
RE: Ein Servo-Tester mal etwas anders ;-) Naubaddi 23.01.2020
RE: Ein Servo-Tester mal etwas anders ;-) BoomBoomMagic 24.01.2020
 

Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz