Hallo. CIh habe mir überlegt einen kleinen roboter zu bauen. Dazu habe ich diese Software geschrieben. Würde diese Funktionieren?. Das ist natürlich nur das grundgerüsst, das ich später erweitern werde. An den ports D0-D3 sind die 2 motoren angeschlossen. An pinC 0 (also am ADC des mega8) hängt ein IR sensor. Neben dem IR senosr werce ich auf derplatine einen IR LED anbringen. .include "m8def.inc" //beschreibung // motoren sind angeschlossen an: // portd 0/1 beide motoren für die vorwärtsbewegung (das beide in die gleiche richtung drehen an die ports d0 und d1) // die anderen 2 kontakte der motoren an portd2 und d3 // lenkung erfolgt durch diverenz der drehgeschwindigkeiten //ADC leuft selbstständig und liefert ununterbrochen ergebnisse ohne interuppts //von pin C 0(so weit ich das mit den einstellungen begriffen habe) // sobald die spannung an pin C 0 größer als 3,93 V is schaltet das prog die beiden motoren //um, sodass sie Rückwärtslaufen. Nach einer Gewissen zeit, laufen die wieder vorwärts // und lencken durch die diferenz der Motordrehzahlen den roboter eine gewisse zeitlang. //Danach fährt er wieder Vorwärts. .org $000 rjmp initialisierung initialisierung: ldi r16, low(ramend) out SPL, r16 ldi r16, high(ramend) out SPH, r16 sei ldi r16, 0b11100111 out ADCSRA, r16 sei sbi ADMUX, 5 sbi ADMUX, 0 ldi r16, 0b00000011 out ddrd, r16 out portd, r16 // motoren drehen vorwärts main: sei in r16, ADCH ldi r17, 200 cp r16, r17 brsh MOTOR_Ruckwarts rjmp main MOTOR_Ruckwarts: ldi r16, 0b00001100 // die ports bit 3 und 2 werden nun auf 5 V geschalten=> motoren stoppen und drehen sich anders herrum out ddrd, r16 out portd, r16 warten: // zeit wie lange er rückwärtsfährt und dan wieder vorwärts ldi r16, 255 ldi r17, 255 a1: dec r16 brne a1 dec r17 brne a1 motorenvorwarts_mit_lenkung: ldi r16, 0b00000011 out ddrd, r16 ldi r16, 0b00000001 ldi r17, 0b00000010 ldi r18, 200 //nun kommt die lenkung bbb111: ldi r26, 200 b1: out portd, r16 //leuft ununterbrochen und der andere wird durch impulse verlangsamt ldi r18, 200 m1: dec r18 brne m1 out portd, r17 ldi r18, 50 m2: dec r18 brne m2 cbi portd, 1 dec r26 brne b1 motor_vorwarts_ohne_lenkung: ldi r16, 0b00000011 out ddrd, r16 out portd, r16 // motoren drehen vorwärts rjmp main ich hoffe jemand kann mir sagen ob dieses prog laufen würde( so wie gewollt), dar ich die Platine erst später aufbauen werde. Der mega wird mit 4 MHZ bzw 8 MHZ laufen. lg danny
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.