Création d'une alarme: Besoin d'aide sur le code source... - Raspberry Pi Forums


bonjour, je souhaite créer une alarme très peu complexe à base de raspberry. je possède le modèle b+.
j'ai malheureusement quelques soucis avec ce projet:

1- les branchements: je pense brancher mon détecteur magnétique sur le pin1 et le pin7 du gpio avec une résistance de pull-down.
2- mon code: (je pense qu'il y des erreurs :d :d ) je ne m'y connais pas très bien en codage mais j'apprends.
je ne sais pas comment faire pour pouvoir désactiver l'alarme avec un code numérique tapé sur le clavier connecté au raspberry.

la sirène sera diffusé sur les enceintes connectées en jack.

voici mon code (alarme pi.h)

code: select all

//input.c #include <bcm2835.h> #include <stido.h> #define pin rpi_gpio_p1_15 int main(int argc, char ** argv) {     if (!bcm2835_init()) {         return 1;    }     // fixe le gpio en entrée     bcm2835_gpio_fsel(pin, bcm2835_gpio_fsel_inpt);     //  avec une résistance de pull down     bcm2835_gpio_set_pud(pin, bcm2835_gpio_pud_down);       while (1) {         // lecture du niveau d'entrée         uint8_t value = bcm2835_gpio_lev(pin);         printf("lecture gpio22: %d\n", value);   	 		//si la valeur est égal à 1 	if ( gpio22: value=1) { 		fichier = fopen ("music.py", "r");  		   	// image 	iplimage *image1=null; 	iplimage *image2=null; 	iplimage *subimage=null;   	// capture vidéo 	cvcapture *capture;   	// ouvrir le flux vidéo,  mettre en paramètre le device de la cam (pour x = /dev/videox) 	capture = cvcreatecameracapture(atoi(argv[1]));   	//configuration de la capture par défaut, donc la taille d'une image que l'on va récupérer. 640*480 	cvsetcaptureproperty(capture, cv_cap_prop_frame_width, 640); 	cvsetcaptureproperty(capture, cv_cap_prop_frame_height, 480); 	cvsetcaptureproperty(capture, cv_cap_prop_brightness, 0.65);   	 		// on récupère une image  		image1 = cvqueryframe(capture);   		// on sauvegarde notre image 1. 		cvsaveimage("buffer1.jpg",image1,0); 		 		// on attend 2000 milisecondes 		cvwaitkey(2000);   		// on récupère une image 2 		image2 = cvqueryframe(capture);   		// on sauvegarde notre image 2 		cvsaveimage("buffer2.jpg",image2,0); 		 		// on attend 2000 milisecondes 		cvwaitkey(2000);   		// on récupère une image 3 		image3 = cvqueryframe(capture);   		// on sauvegarde notre image  		cvsaveimage("buffer3.jpg",image2,0); 	}  		//boucle infinie 	while ( gpio22: value=0) 	{ if (!bcm2835_init()) {         return 1;    }     // fixe le gpio en entrée     bcm2835_gpio_fsel(pin, bcm2835_gpio_fsel_inpt);     //  avec une résistance de pull down     bcm2835_gpio_set_pud(pin, bcm2835_gpio_pud_down);       while (1) {         // lecture du niveau d'entrée         uint8_t value = bcm2835_gpio_lev(pin);         printf("lecture gpio22: %d\n", value);   	 		//si la valeur est égal à 1 	if ( gpio22: value=1) { 		fichier = fopen ("music.py", "r") 		 	} 	 	//fin du code
et le second code (music.py)

code: select all

pygame.mixer.music.load("257.mp3") pygame.mixer.music.play()
ps: ci joint l'ordinogramme de l'alarme.
https://drive.google.com/open?id=0b0ogy ... gddtwv2czg

cordialement
@tom2669

code: select all

  if ( gpio22: value=1) {
????
tu veux dire

code: select all

if(value == 1)
la première chose serait qu'il compile. je pars pour le travail donc je n'aurai pas le temps de te donner une version corrigée.

1 - stdio.h et non stido.h (ligne 3)
2 - je n'ai aucune idée à propos de gpio22: . est-ce gpio22 une classe si oui et bien il te manque un : . mais je ne pense pas. enlève le tout simplement.
3- un test d'égalité en c c'est == et non =


daniel


raspberrypi



Comments

Popular posts from this blog

invalid use of void expresion in FlexiTimer2 library

error: a function-definition is not allowed here before '{' token

LED Strip Code