Danke shaun, dafür ist also der 40106.
OK, ich werde das über den analogen Eingang machen.
ich habe schon ein StÜck Code geschrieben.
am PC funktioniert der Code auch.
Also die "cout" müssten dann spÄter, anhalten, abbiegen oder so sein.
ich zeige euch den mal weil ich noch eine Frage habe.
Am PC, um es erst nur so zu probieren habe ich ein "cin" gemacht bei dem ich den Wert der über Vo kommt zu "simulieren".
Wie müsste ich das dann machen wenn das Programm im Roboter wÄre (sharp hÄngt am PIn RA1, ein analoger Pin).
1. Wie sage ich ihm, dass das was "reinkommt" = die Variabel "wert" ist?
2. Muss ich den Wert noch mal 100 multiplizieren? ICh sage das weil in dem array was ich oben habe alles mal 100 multipliziert wurde.
Code:
#include <iostream.h>
#define Sharp RA1 //Sharp GP2D12 Vo an PIN RA1 (analog)
//PIC 16F876 @ 1MHz
int main(){
int distance [10] = {9, 8, 10, 20, 30, 40, 50, 60, 70, 80};//Werte aus der Sharp Tabelle
int value [10] = {9,260,240,140, 96, 77, 62, 55, 49, 41};// idem
int a;
int wert;
do{
cout<<endl<<"Geben sie einen Wert ein"; //das würde Sharp
cin>>wert; // selber machen
for (a=0;a<=9;a++){
if (wert == value [a]){
cout<<distance [a];
}
else if (wert<value[a-1]&& wert>value[a]){
cout<<distance[a-1]+5; //bis zu 4cm max Ungenauigkeit
} //damit kann ich im Moment leben
else if (wert < value[a]||wert<40){
}
}//for
}while (wert != 0); //das muss ein Wert sein den der Sharp nie ereicht
}//()
Lesezeichen