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 ) 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) et le second code (music.py) ps: ci joint l'ordinogramme de l'alarme.
https://drive.google.com/open?id=0b0ogy ... gddtwv2czg
cordialement
@tom2669
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 ) 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
code: select all
pygame.mixer.music.load("257.mp3") pygame.mixer.music.play()
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)
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
Post a Comment