Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed freescal_cup_k22f
Diff: source/main.cpp
- Revision:
- 25:f9d3d30cbb5d
- Parent:
- 24:7b04db280873
- Child:
- 26:a836e62e0c98
--- a/source/main.cpp Sat Jan 17 20:58:26 2015 +0000
+++ b/source/main.cpp Wed Jan 21 10:30:39 2015 +0000
@@ -18,12 +18,12 @@
int main() {
// Initialisation
- int indexMin=0;
- int indexMax=127;
+ int indexMin=10;
+ int indexMax=118;
int compteur_uart=0;
int max_detect1=indexMin;
int min_detect2=indexMin;
- int index_milieu=(max_detect1+min_detect2)/2;
+ int max_detect=(max_detect1+min_detect2)/2;
float Kp_servo = 0;
uart.baud(115200);
init_led();
@@ -33,14 +33,19 @@
// Lancement boucle
while(1){
-
+ double ordre;
readline();
passebas(10);
derivation();
//passebas(4);
-
-
- if (compteur_uart ==50) // on envoit une trame toute les 50 acquisitions de cameras
+ for (int i=0;i<15;i++)
+ {
+ pixel1[i]=0;
+ pixel2[i]=0;
+ pixel1[127-i]=0;
+ pixel2[127-i]=0;
+ }
+ if (compteur_uart ==2) // on envoit une trame toute les 50 acquisitions de cameras
{
uart.printf("S1");//debug START
for (int indice_pixel=0; indice_pixel<128; indice_pixel++)
@@ -73,29 +78,41 @@
}
for (int j=indexMin; j<=indexMax; j++)
{
- if (pixel2[j]<pixel2[min_detect2])
+ if (pixel2[j]>pixel2[min_detect2])
{
min_detect2=j;
}
}
- index_milieu=(max_detect1+min_detect2)/2;
+ max_detect=(max_detect1+min_detect2)/2;
// Réduction proportionelle de la vitesse moteur si l'angle du servo augmente
- if (index_milieu>64)
+ if (max_detect>64)
{
- consigne_moteur_1=6*(1-(index_milieu-64)/150.);
- consigne_moteur_2=6*(1-(index_milieu-64)/100.);
+ consigne_moteur_1=6*(1-(max_detect-64)/150.);
+ consigne_moteur_2=6*(1-(max_detect-64)/100.);
}
else
{
- consigne_moteur_1=6*(1-(64-index_milieu)/100.);
- consigne_moteur_2=6*(1-(64-index_milieu)/150.);
+ consigne_moteur_1=6*(1-(64-max_detect)/100.);
+ consigne_moteur_2=6*(1-(64-max_detect)/150.);
}
// Lecture du potentiometre
- Kp_servo=2.0*pot1.read_u16()/65000.0;
+ Kp_servo=2.0*pot1.read();
+ ordre=(/*consigne*/0-((127-max_detect1)-min_detect2));//ya une merde ici
+
+
+ ordre=ordre/254+0.5;
- servo = Kp_servo*(index_milieu/128.0-0.5)+0.5;
+ if (ordre >=0.88)
+ servo=0.88;
+ else if (ordre <=0.22)
+ servo=0.22;
+ else
+ servo= ordre;
+
+ uart.printf("a=%d, b=%d \n\r",max_detect1,min_detect2);
+
-
+
}
}