case modding: Ein neues Kleidchen für meinen asuro
Hallo
Beim Stöbern in der Spielzeugkiste der Kids gefunden:
Bild hier
Bild hier Bild hier Bild hier Bild hier Bild hier
Das Gehäuse ist nur aufgesetzt. Ich habe auf die inneren Taster jeweils ein kleines Stück Schlauch aufgeklebt als Führung für die forderen Aufnahmepunkte der Karosserie:
Bild hier Bild hier Bild hier Bild hier
Für die StatusLED habe ich ein Stück Neon-Schlauch eingeklebt damit man von aussen sieht was er anzeigt. Die zwei schwarzen "Dinger" an der Seite sind zwei mit Schrumpfschlauch überzogene Plexiglasprofile. Beim Schrumpfen werden die Profile erwärmt und können dann gebogen werden. Die Schnittkanten sollten möglichst glatt sein, deshalb habe ich sie mit dem Messer geschabt. Achtung: Schmirgeln macht die Schnittstellen zu matt, abzwicken mit der Zange verformt das Gefüge und macht das Profil unbrauchbar! Zweck des Ganzen, die meisten können es sich wohl schon denken, damit lenke ich das IR-Licht nach vorn und wieder zurück zur IR-Abstandsmessung:
Bild hier Bild hier
(Leider sind die Pics wie immer etwas unscharf)
Gruß
mic
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
Ja, es lag zum einen am "Übersprechen" der Signale und zum Anderen daran, das man eine Bibliothek auch richtig einbinden muss.
Ich habe nun auf Lichtwellenleiter umgerüstet. Die Lampe habe ich zwar gekauft, aber mehr als eine Testfaser habe ich nicht abschneiden dürfen. (Anweisung meiner Frau die diese Lampe toll findet und sie in unserem Wohnzimmer plaziert hat). *grummel*
Inzwischen weis ich, die Fasern der Lampe sind zu dünn. Deshalb war ich kurz beim C ( vorteil der Grosstadt mit eigener Finiale) und habe Lichtwellenleiter als Meterware gekauft; zwischen 0,5 und 1 mm kosten ca. 0,50 bis 1€ pro Meter. Den Aufbau werde ich euch in einem anderen Thread schildern, das Ergebniss sieht so aus:
Bild hier
(Anklicken für 17 Sek. AVI, 2MB)
Die Idee ist aus diesem Thread, allerdings habe ich nur einen Sensor und kann deshalb noch nicht erkennen, wenn das Blatt zur Seite ausweicht.
Hier noch der Code:
Code:
#include "../inc/ir-asuro.h"
unsigned char dist, dist_soll, dist_max, m_power, m_dir_l, m_dir_r, step;
int main(void)
{
Init();
step=0;
do {
switch (step) {
// init
case(0): m_dir_l=m_dir_r=FREE; m_power=200; dist_max=0x50; dist_soll=150;
DDRD |= (1 << DDD1); // Port D1 als Ausgang
PORTD &= ~(1 << PD1); // PD1 auf LOW
OCR2 = dist_max;
step=10; break;
// etwas vor der Nase?
case(10): MotorSpeed(m_power,m_power); dist=0xFF; step++; break;
case(11): if (dist>dist_max) dist--; else step=20;
DDRD |= (1 << DDD1); PORTD &= ~(1 << PD1); OCR2==dist;
if (!(PIND & (1 << PD0))) step=12; break;
// Fahren
case(12): StatusLED(GREEN); m_dir_l=m_dir_r=FREE;
if (dist < dist_soll) { StatusLED(RED); m_dir_l=m_dir_r=FWD; }
if (dist > dist_soll) { StatusLED(YELLOW); m_dir_l=m_dir_r=RWD; }
MotorDir(m_dir_l,m_dir_r); step=10; break;
// Kante suchen
case(20): StatusLED(RED); MotorDir(FWD,FWD); step=10; break;
}
} while(1);
return 0;
}
(ir-asuro.h und .c sind die Libarys aus dem IR-Abstandsmessungsthread)
und das Hex-File im Anhang.
Gruß
mic