Bonsoir à tous,
je me lance dans un gros projet ou j’aurais besoin de gérer un certain nombre de composants et avoir un paquet d’inter-action avec.
Donc j’ai commencé par m’occuper de mes barregraphes 10 leds . Mon projet en comptera 3 . Chaque barregraphe affiche la valeur d’un potentiomètre . Donc j’ai commencé “petit” en essayant d’en codé un . Mais comme les 3 aurons le même fonctionnement j’ai essayé de faire un librairie pour n’avoir qu’une seul fois les lignes qui gère l’affichage des leds (programme moins lourd et plus facile à lire). Et c’est la que cela ce complique (je précise que j’ai appris le codage “sur le tas” et donc que je suis assez limité niveau connaissance). Malgré les tutos lu sur le sujet des librairies je n’ai pas compris grand choses(entre les define, class, et autre. Tous me semble flou et je ne comprend pas leurs fonctionnements). Voici donc la ou j’en suis :
le fichier test.ino
int pot; //definition potentiometre utilisé par le cpp
int barfan[]={16,17,18,19,20,23,24,25,26,27}; //définition broche du 1er bargraphe
void setup(){
for(int pinbarfan =0; pinbarfan < 10; pinbarfan++ ){
pinMode(barfan[pinbarfan], OUTPUT); //Boucle pour définir les pin utilisees comme sorties du 1er bargraphe
}}
void loop(){
pot = analogRead(A0); //lecture de la valeur du 1er potar et le rend commun au cpp
//enplacement appel fonction du bargraphe fan
}}
le A_tete.h
#define "A_tete.h"
int potar(pot);
void gestbar();
le gestbar.cpp
#include "A_tete.h"
void gestbar(){
int bardef = map(pot,0,1023,0,10);//Creation d'une valeur en 0 et 10 fonction de la mesure
for(int pinbarfan =0; pinbarfan < 10; pinbarfan++){
if(pinbarfan < bardef){
digitalWrite(barfan[pinbarfan], HIGH);}
else{
digitalWrite(barfan[pinbarfan], LOW);}
}}
Je n’ai pas encore regardé comme je vais gérer les pin des barregraphes par rapport à la librairie . je me suis déja concentré sur les variables pour ajouté facilement plusieurs potentiomètres, et faire fonctionner le .h et le .cpp
or à la compilation j’ai :
In file included from gestbar.cpp:1:
/A_tete.h:1:9: error: macro names must be identifiers
In file included from gestbar.cpp:1:
A_tete.h:3: error: 'pot' was not declared in this scope
gestbar.cpp: In function 'void gestbar()':
gestbar.cpp:5: error: 'pot' was not declared in this scope
gestbar.cpp:5: error: 'map' was not declared in this scope
gestbar.cpp:9: error: 'barfan' was not declared in this scope
gestbar.cpp:9: error: 'HIGH' was not declared in this scope
gestbar.cpp:9: error: 'digitalWrite' was not declared in this scope
gestbar.cpp:11: error: 'barfan' was not declared in this scope
gestbar.cpp:11: error: 'LOW' was not declared in this scope
gestbar.cpp:11: error: 'digitalWrite' was not declared in this scope
donc j’imagine que j’ai mal gérer les #define, et autres mais alors pourquoi ? Autres il semblerais que mes variables définis dans le .ino ne soit pas pris en compte dans le .h et .cpp comment faire pour passer mes variables du .ino au .h ?