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
source/Camera.cpp
- Committer:
- RobinN7
- Date:
- 2015-01-14
- Revision:
- 15:b77dc649e4f3
- Parent:
- 10:3424e7b66671
- Child:
- 16:88433b5650df
File content as of revision 15:b77dc649e4f3:
#include "mbed.h" #include "Camera.h" DigitalOut clk(PTC2); DigitalOut si(PTB3); AnalogIn pix(PTB2); extern unsigned int pixel[128]= {0}; // void readline(void) // fonction de détection de la ligne { clk=0; // la clock est nulle au départ int compteur = 0,index_pixel = 0, capture_finie = 0; while (!capture_finie) { if (compteur & 1) // si compteur impair => front descendant clk = 0; else // compteur pair => montant clk = 1; if(compteur == 5) si = 1; if (compteur == 7) si=0; if ( (compteur & 1) && compteur >= 7) { // mesure sur front descendant, // pc.printf("lecture pixel\n"); pixel[index_pixel]=pix.read_u16(); index_pixel ++; } wait_us(10); compteur++; if (index_pixel == 128) capture_finie = 1; } wait_ms(1); } void passebas(int ordre) { unsigned int tamponpixel[256] = {0}; int i=0; // Passe bas en partant de la gauche sur tamponpixel[0:127] // et de la droite sur tamponpixel[128:255] for (i=ordre; i<128; i++) { for (int a=0; a<=ordre; a++) { tamponpixel[i]+=pixel[i-a]; tamponpixel[255-i]+=pixel[127-i+a]; } tamponpixel[i]/=(ordre+1); tamponpixel[255-i]/=(ordre+1); } // Prolongement par continuité à gauche et à droite for (i=0; i<ordre; i++) { tamponpixel[i]=tamponpixel[ordre]; tamponpixel[255-i]=tamponpixel[255-ordre]; } // Actualisation de l'image filtrée for (i=0;i<128;i++) { pixel[i]=(tamponpixel[i]+tamponpixel[255-i])/2; } } //fonction qui dérive le signal de la camera void derivation() { unsigned int tamponpixel[128] = {0}; for (int i=1; i<128; i++) { tamponpixel[i]=(pixel[i]-pixel[i-1]); } tamponpixel[0]=tamponpixel[1]; // Actualisation de l'image filtrée for (int i=0; i<128; i++) { pixel[i]=tamponpixel[i]; } }