Gute Idee! Ich habe auch schon drüber nachgedacht, wie man eine interressante Dominospur hinkriegen könnte. Zuerst ein Linie hinzumalen ist sehr gut.
Wenn man den Bot ner Linie folgen lässt....dann kann man theoretisch DominoDay-mäßige Strukturen bauen. Und der arme RP ist nicht mehr so unterfordert^^
http://www.pennergame.de/ref.php?refid=3836836- Eine Spende bitte! [-o<
Gute Idee! Ich habe auch schon drüber nachgedacht, wie man eine interressante Dominospur hinkriegen könnte. Zuerst ein Linie hinzumalen ist sehr gut.
Hallo
Klar ist der RP6 mit dieser "Aufgabe" völlig unterfordert; das könnte mein tiny13 auch locker erledigen. Aber auf dem Weg zu einem richtig brauchbaren Greifer muss man erst die Basics beherrschen. Als Plattform für solche Spielereien ist der RP6 ideal. Ausreichend groß und kräftig genug für solche "Aufbauten", mit Spannungsversorgung und fertigem Fahrwerk und einer klasse Entwicklungsumgebung durch den Loader.der rp6 ist da unterfordert mit der proggerei mit so einer stupiden verrichtung.
Anstelle der Linie kann man ja erst mal softwaremässig eine Route vorgeben nach der die Steine gesetzt werden. Oder man steuert den RP6 mit einer Modelbaufernbedienung:
Bild hier
http://www.youtube.com/watch?v=lwq3RZguby0
Blöderweise klemmt grad mal wieder der linke Antrieb, er fährt nicht zurück. Aber das hatte er schon immer. Ich mache noch ein schöneres Video, wenn er wieder richtig läuft.
Das Auswerten der RC-Signale ist unglaublich einfach. Ich verwende dazu die selbe ISR wie beim Ansteuern der Servos (beides zusammen funktioniert übrigens auch prima). Wenn man die Aufrufe der ISR bei gesetztem RC-Eingangspin zählt, erhält man Werte die denen der Servosteuerung entsprechen. Der RP6 kann so sogar seine eigenen Servoimpulse zählen:
GrußCode:// RC-RP6 erster Versuch 18.11.07 mic #include "rblib.h" #include "rblib.c" uint8_t y, z; uint8_t rc_input_pwr, rc_input_dir; uint8_t rc_pwr, rc_dir; ISR(TIMER0_COMP_vect) { //static uint16_t count=0; static uint16_t rc_temp_pwr=0; static uint16_t rc_temp_dir=0; //if(count>x) PORTA &= ~16; else PORTA |= 16; // E_INT1 (Pin8) //if(count>y) PORTC &= ~1; else PORTC |= 1; // SCL (Pin10) //if(count>z) PORTC &= ~2; else PORTC |= 2; // SDA (Pin12) //if(count<1000)count++; else count=0; if (PINC & 1) rc_temp_dir++; else if (rc_temp_dir) { rc_input_dir=rc_temp_dir-1; rc_temp_dir=0; } if (PINC & 2) rc_temp_pwr++; else if (rc_temp_pwr) { rc_input_pwr=rc_temp_pwr-1; rc_temp_pwr=0; } } void servo_init(void) { //DDRA |= 16; // E_INT1 als Ausgang //DDRC |= 3; // SCL und SDA als Ausgang TCCR0 = (0 << WGM00) | (1 << WGM01); // CTC-Mode TCCR0 |= (0 << COM00) | (0 << COM01); // ohne OCR-Pin TCCR0 |= (0 << CS02) | (1 << CS01) | (0 << CS00); // prescaler /8 TIMSK = (1 << OCIE0); // Interrupt ein OCR0 = 9; // 100kHz? } int main(void) { rblib_init(); servo_init(); setLEDs(0b1001); setMotorDir(FWD,FWD); setMotorPWM(0,0); while(1) { rc_pwr=0; rc_dir=0; if (rc_input_dir<120) { rc_dir=150-rc_input_dir; setMotorDir(BWD,FWD); } if (rc_input_dir>140) { rc_dir=rc_input_dir-110; setMotorDir(FWD,BWD); } if (rc_input_pwr<120) { rc_pwr=150-rc_input_pwr; setMotorDir(FWD,FWD); } if (rc_input_pwr>140) { rc_pwr=rc_input_pwr-110; setMotorDir(BWD,BWD); } rc_pwr*=3; if (rc_pwr) { if (rc_input_dir<120) setMotorPWM(rc_pwr-rc_dir,rc_pwr+rc_dir); else if (rc_input_dir>140) setMotorPWM(rc_pwr+rc_dir,rc_pwr-rc_dir); else setMotorPWM(rc_pwr,rc_pwr); } else { setMotorPWM(rc_dir*3, rc_dir*3); } } return 0; }
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
@Roboterheld
Dein PC war beim Verfassen deines relativ anspruchslosen Beitrags sicherlich auch unterfordert. Ich hoffe mal dir hat der Kopf dabei auch nicht allzu sehr gerauchtder rp6 ist da unterfordert mit der proggerei mit so einer stupiden verrichtung.
für den rp6 gibt es spannendere sachen.
Und ich dachte schon die unzähligen Leute die so einen "Domino-Day" vorbereiten, stellen die Steine wochenlang von Hand auf, weil sie zu geizig sind nen RP6 dafür zu kaufenfür den rp6 gibt es spannendere sachen.
geht auch nur wenn die fläche gerade ist. bei domino day sieht es etwas spannender aus. das schafft der robby nicht mehr.
"Spannend" ist übrigens Geschmacksache. Ich finde Radbruch's Video wesentlich spannender als stundenlang Dominosteinen beim Umkippen zuzusehen.
Hallo
Nach dem Erwärmen (anhauchen, das klappt häufig) der Motortreiber fährt er nun wieder auf beiden Seiten rückwärts, deshalb hier das versprochene Video:
Bild hier
http://www.youtube.com/watch?v=A_GYUeFAgY8
Weil der Anschluß der Funkfernbedienung so einfach ist, lohnt es sich nicht, dafür einen extra Thread zu starten. Deshalb hier noch ein paar Details:
Es ist eine normale 27Mhz-2Kanal-Proportional-Fernbedienung aus dem Modellbau. Meine habe ich mir bei meinen Kids "geliehen", die spielen eh nicht mehr damit. Im Set mit 2 Servos und Akkus gibts die im Versandhandel ab ca. 40€.
Spannungsversorgung für den Empfänger kommt vom RP6 (5V), die Servosignale sind über je einen 820 Ohm Widerstand mit den Eingängen des Mega32 verbunden. Die Steckerbelegung ist wie bei den Servos, deshalb kann ich die Fernbedienung einfach anstelle eines Servos in meinen Adapter am xBus einstöpseln:
Bild hier Bild hier Bild hier Bild hier
Durch die proportionale Ansteuerung des RP6 ist das Fahrverhalten (trotz einfachster Software) sehr geschmeidig, deutlich besser als die IR-Fernbedienung-/Terminallösungen. Ich werde mal versuchen, damit die Servopositionen des Greifers zu teachen.
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Hallo radbruch.
Wo finde ich
#include "rblib.h"
#include "rblib.c"
Gruß
Kurt
Das ist ein Versuch mit einer minimalen Lib für den RP6:
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Danke radbruch.
Ich habe noch eine MC20 (Graupner) mit 16 Kanal Empfänger.
Werde mich bei nächster Gelegenheit mit der MC20 und RP6 beschäftigen.
Gruß
Kurt
Habe eine gute Idee wie der Robby beim Dominoday helfen könnte. Man kann in diese lange Sicherheitslinie bauen lassen. Leider sind das immer 2 Linien nebeneinander. Dann braucht man 2 Greifer oder man macht den einen so, dass er immer nach Links fahren kann um ne 2 Reihe parallel zu bauen
Stratege993
Hallo
Ein größerer "Arm" mit mehr Gelenken ist natürlich schon in Planung. Das dauert aber noch ein bisschen bis der fertig ist.
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Lesezeichen