Hallo erstmal.
Also, prinzipiell brauchst Du weder Entfernungssensoren noch ein RN-Control.
Kommt immer drauf an was das Gerät können soll, dafür bräuchten wir mehr Infos über Dein Wissen und Deine Möglichkeiten.
Da ein Roboter des Öfteren aus mehr besteht als aus Software, wären in erster Linie die elektronischen Kenntnisse wichtig.
Wenn Du eine kleinere Schaltung aufbauen und eventuell sogar ne Platine ätzen kannst, ist das schon ein guter Anfang.
Zum Microcontroller: Da gibts ja die diversesten Modelle, man kann selbstverständlich etwas schon "fertiges" wie ein RN-Control benutzen, muss man aber halt nicht. Eigentlich langt in diesem Zusammenhang ein AVR (z.B. Atmega32 als DIL, hat für vieles genug Pins und ist leicht zu löten) und ein Programmer für das gute Stück. Da gibts auch etliche Modelle, schau Dich mal im RN Wiki um oder kauf Dir eins, z.B. AVRISP.
Auch zum Thema LEDs leuchten/blinken lassen gibts meine ich im Wiki einen Artikel mit einer Grundschaltung.
Das lässt sich auch kurz zusammenfassen: LED mit Widerstand an einen Pin löten, das andere Ende entweder auf VCC oder GND, ist Geschmackssache.
Nun zur Software:
Den Pin als Ausgang konfigurieren und wechselweise an- respektive ausschalten, dazwischen natürlich mit einer Verzögerung, damit es nicht im MHz-Bereich blinkt.
Hier mal ein Code-Schnipsel:
Code:
#include <avr/io.h>
#define F_CPU 16000000
#include <util/delay.h>
#define led_ddr DDRA
#define led_port PORTA
#define led PA0
int main(void){
//LED-Pin als Ausgang konfigurieren
led_ddr|=(1<<led);
for(;;){
led_port|=(1<<led);
for(unsigned char j=0;j<30;j++){ //Warte...
_delay_ms(10);
}
led_port&=~(1<<led);
for(unsigned char j=0;j<30;j++){ //Warte...
_delay_ms(10);
}
}
return 0;
}
Die LED würde hierbei an PA0 hängen und blinken. So ein ähnliches Programm schreibst Du dann, kompilierst es (z.B. mit WinAVR, gibts gratis) und flashst es mit dem Programmer in den Microcontroller. Das ist eigentlich schon alles.
Lesezeichen