Hi,
Zitat von
cracky^^
@Hermann: Hab darüber schon gelesen, klingt Interessant! Wie gut funktioniert das denn? kann man damit auch herausfinden wie groß der abstand zum Hinderniss ist?
ja! Zumindest seit der Asuro Lib v261 gibt es das Programm IrCollisionTest unter Examples:
Code:
/*******************************************************************************
*
* Description: Asuro IR-Detektor Testprogramm
*
*****************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* any later version. *
***************************************************************************/
#include "asuro.h"
#include <stdlib.h>
int main(void)
{
unsigned char sw;
Init();
DDRD |= (1 << DDD1); // Port D1 als Ausgang
PORTD &= ~(1 << PD1); // PD1 auf LOW
while (1)
{
if (PIND & (1 << PD0))
StatusLED(GREEN);
else
StatusLED(RED);
sw = PollSwitch();
if (sw & 0x01)
OCR2 = 0xFE; //Pulsbreite 1
if (sw & 0x02)
OCR2 = 0xFD; //Pulsbreite 2
if (sw & 0x04)
OCR2 = 0xFB; //Pulsbreite 4
if (sw & 0x08)
OCR2 = 0xF7; //Pulsbreite 8
if (sw & 0x10)
OCR2 = 0xEF; //Pulsbreite 16
if (sw & 0x20)
OCR2 = 0x90; //Pulsbreite 110
}
return 0;
}
Je nach Pulsbreite bekommt man für andere Entfernungen Alarme, mehr zum Thema auch in dem Thread Welches ist die gemessene Infrarot-Entfernung?.
Wie gut die Infrarot-Hindernisvermeidung funktioniert, kannst Du dem kleinen Video aus dem folgenden Beitrag entnehmen - da braust ein Asuro mit 120cm/s (!) durch die Küche ohne anzustoßen - immer wenn ein IR-Echo empfangen wird, wird links gebremst - rechts bleibt immer full speed ...
Den Quelltext für den Infrarot-Linksausweicher findest Du in diesem Beitrag.
Lesezeichen