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
Fork of lib_capteur by
Revision 1:21a24cb4d75a, committed 2017-03-31
- Comitter:
- jiahaozhang
- Date:
- Fri Mar 31 15:51:58 2017 +0000
- Parent:
- 0:5e7710677334
- Commit message:
- lib_capteur_f303;
Changed in this revision
lib_cap.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/lib_cap.cpp Tue Mar 07 14:44:53 2017 +0000 +++ b/lib_cap.cpp Fri Mar 31 15:51:58 2017 +0000 @@ -21,6 +21,45 @@ return distance(); // renvoi '0' - '3000' } } +/************************************************** +Exemple: +#include "mbed.h" +#include "lib_cap.h" + +CAP col(PA_1,COULEUR); +CAP obj(PA_7,OBJET); +CAP dis(PA_4,DISTANCE); +Serial pc(SERIAL_TX, SERIAL_RX); +DigitalOut myled(LED1); + + +int main(){ + while(1){ + if (col.valeur() != 1){ + myled = 1; + pc.printf("detecter\n"); + } + else{ + myled = 0; + pc.printf("non detecteur\n"); + } + if (obj.valeur() != 1){ + pc.printf("hi\n"); + } + else{ + pc.printf("au revoir\n"); + } + pc.printf("distance: %d \n", dis.valeur()); + } +} +**************************************************/ + + + + + + + //********************************************** // donnée retournée de cap_couleur @@ -31,7 +70,7 @@ unsigned short in_valeur = _cap.read_u16(); int cap_color; if (cap_color != 1){ - if ( in_valeur > 0xe8b9 ) cap_color = 1; + if ( in_valeur > 0xc9b1 ) cap_color = 1; } else{ if ( in_valeur < 0x41f0 ) cap_color = 0; @@ -39,6 +78,12 @@ return cap_color; } + + + + + + //********************************************** // donnée retournée de cap_objet // '1' Non détecter @@ -48,7 +93,7 @@ unsigned short in_valeur = _cap.read_u16(); int cap_objet; if (cap_objet != 1){ - if ( in_valeur > 0xe8b9 ) cap_objet = 1; + if ( in_valeur > 0xc9b1 ) cap_objet = 1; } else{ if ( in_valeur < 0x41f0 ) cap_objet = 0; @@ -57,6 +102,11 @@ } + + + + + //*********************************************** // donnée retournée de cap_distance // definie par 'mm' @@ -65,8 +115,8 @@ int CAP::distance(){ unsigned short in_valeur = _cap.read_u16(); double cap_distance; - unsigned int l_min = 0x2ded; - // quand la distance est 0, le valeur de la sortie 0x2ded (11757) + unsigned int l_min = 0x26c9; + // quand la distance est 0, le valeur de la sortie 0x26c9 (9929) // quand la distance est 3000mm, le valeur de la sortie 0xffff (65535) double d = 0.0558; // d répresente la distance de 0x0001