Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3045 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8  9  10  11
Auteur Sujet :

Cartes Duinomite

n°115719
fiesta9015​0
Posté le 02-03-2013 à 23:44:53  profilanswer
 

Reprise du message précédent :
daccord. par contre oui je voudrais bien la feuille =) et ausi que veut dire cls?

mood
Publicité
Posté le 02-03-2013 à 23:44:53  profilanswer
 

n°115720
Gruber Han​s
Posté le 02-03-2013 à 23:48:19  profilanswer
 

cls efface tout ce qu il y a à l'écran, sans quoi les valeurs s'empileraient.
Si tu veux tu peux le retirer pour essayer (tu met un ' devant cls, pour que la Duinomite ne lise pas cette instruction).

n°115721
fiesta9015​0
Posté le 02-03-2013 à 23:49:18  profilanswer
 

ah et donc sa vas m'afficher une liste des données?
 
Par contre il y'a une erreur dans la formule. C'est ce que me dit l'écran "incorrect expression syntaxe"


Message édité par fiesta90150 le 02-03-2013 à 23:50:15
n°115722
Gruber Han​s
Posté le 02-03-2013 à 23:52:35  profilanswer
 

Voici la feuille : http://www.partage-facile.com/2OR7 [...] 2.xls.html
 
Elle sert à 2 choses : Visualiser la courbe de tension en fonction de la température, suivant la résistance et la CTN utilisée, et elle permet de calculer les coefficients a et b pour linéariser.
Si tu regarde la courbe tu peux voir qu'elle ressemble beaucoup à une droite d'environ 10 à 40°C, ce qui est parfait car tu es dans cette plage pour ce que tu veux faire.
 
Pour mesurer la température avec une bonne précision sur une plus grande plage on utilisera plutôt un LM35 (on a alors une précision d'environ 0.5°C de 0 à 150°C).

n°115723
Gruber Han​s
Posté le 02-03-2013 à 23:53:56  profilanswer
 

fiesta90150 a écrit :

ah et donc sa vas m'afficher une liste des données?


 
Si tu "neutralise" cls à chaque mesure tu aura la valeur qui va s'ajouter en dessous. Ce n'est pas forcément gênant c'est juste que ça fait moins propre.
 

Citation :

Par contre il y'a une erreur dans la formule. C'est ce que me dit l'écran "incorrect expression syntaxe"


 
Oui en effet j'aurai du me relire, voici la ligne qu'il faut taper :
 
20 temp = (83.86 - ( 35.09 * Pin(4)))


Message édité par Gruber Hans le 02-03-2013 à 23:55:27
n°115724
fiesta9015​0
Posté le 02-03-2013 à 23:54:30  profilanswer
 

d'accord sa marche =) merci a toi

n°115725
fiesta9015​0
Posté le 02-03-2013 à 23:57:51  profilanswer
 

bon alors sa sa marche =) parfait  
 
il y'as moyen de mettre plus gros la température? et mettre un °C sur l'écran ou pas? et comment agrandir le caractère?

n°115726
Gruber Han​s
Posté le 03-03-2013 à 00:54:14  profilanswer
 

Oui c'est possible, il faut utiliser l'instruction FONT pour la taille des caractères, et pour ajouter l'unité il suffit d'ajouter ;" C" (on ne peut pas utiliser le caractère °).
Le seul problème c'est que je n'ai pas de Duinomite sous la main pour essayer (en fait je vais déménager dans les jours qui viennent, et tout mon matériel d’électronique est dans des cartons), et donc je ne peux pas vérifier et je ne suis pas sur de la syntaxe.
 
Essayes en modifiant le programme de cette façon:
 
10 SetPin 4,1
20 temp = (83.86 - ( 35.09 * Pin(4)))
30 font #1, 5
40 temp$ = str$(temp)
50 print left$(temp$, 4);" C"
60 pause (500)
70 cls
80 goto 20  
 
En changeant le 2eme chiffre de l'instruction font tu changes la taille de caractère.
à la ligne 40 on converti un nombre en chaine de caractères.
à la ligne 50 on prend les 4 premiers caractères de temp$, donc on va afficher 1 chiffre derrière la virgule (inutile d'en afficher plus, la précision n'est pas aussi bonne) et on ajoute  C derrière.


Message édité par Gruber Hans le 03-03-2013 à 00:55:11
n°115727
thierry_72
Posté le 03-03-2013 à 07:55:46  profilanswer
 

je te l'ai traduit .
 
cls = effacer l'écran  
 
ps: j'attends aussi la feuille Excel

n°115728
thierry_72
Posté le 03-03-2013 à 08:10:48  profilanswer
 

j'ai pris du retard.
 
font #2,1,0
 le premier chiffre (2) =si 1 alors lettres et chiffres de 10 x 5 pixels
                                 si 2 alors lettres et chiffres de 16 x 11 pixels
                                 si 3 alors chiffres + - , de 30 x 22 pixels
le deuxieme chiffre (1) = au multiplicateur de 1 a 8 de la taille
 
le troisieme chiffre (0) = si 0 affiche en inverse video
 
tu peut aussi utiliser locate x,y pour mettre la temperature ou tu veux dans l'ecran.
 
il faudra aussi utilise une commande pour afficher la temperature sur trois chiffres.
 
a plus tard...
 

mood
Publicité
Posté le 03-03-2013 à 08:10:48  profilanswer
 

n°115729
thierry_72
Posté le 03-03-2013 à 08:11:20  profilanswer
 

attention font "3 est tres grand.

n°115730
thierry_72
Posté le 03-03-2013 à 08:22:37  profilanswer
 

j'ai parle dans le vide  
hans avais déjà prévu la commande  50 print left$(temp$,4)
 
tu peux écrire cela en bonne place dans ton code
 
43 locate   100,100  
45 font#2,1,0
 
et essayer avec d'autre chiffres . tu verras quand tu auras un clavier a mettre directement sur ta carte que ces essais seront plus facile.
 

n°115731
fiesta9015​0
Posté le 03-03-2013 à 09:27:38  profilanswer
 

je peut utiliser un clavier USB?

n°115732
fiesta9015​0
Posté le 03-03-2013 à 09:28:57  profilanswer
 

et par contre je comprend pas pourquoi on met des lignes 43 et 45? sa ne devrait pas être des multiple de 10?

n°115733
thierry_72
Posté le 03-03-2013 à 09:48:03  profilanswer
 

pour le clavier c'est oui avec un adaptateur mini din => usb  
 
les lignes d'un programme sont numéroté de 1 en 1  
mais pour des raisons pratique (pour palier a un oubli)on les numérote de 10 en 10 ou même certain de 20 en 20 ce qui laisse des lignes pour faire de la mise en page .
maintenant ceci est bon pour ce type de matériel .
car beaucoup de compilateur n'ont plus besoin de numéro de ligne .
 
fais des essai avec font# et tu verras que cette carte est terriblement pratique pour faire des applications de ce genre .

n°115734
fiesta9015​0
Posté le 03-03-2013 à 09:51:18  profilanswer
 

J'ai essayer pour la taille: 3, 5, 0 et sa affiche en clignotant. normal?

n°115735
fiesta9015​0
Posté le 03-03-2013 à 09:58:41  profilanswer
 

Bon et ben comme programme j'ai ceci:
 
10 SetPin 4,1
20 temp = (83.86 - ( 35.09 * Pin(4)))
30 font #2, 2, 0
40 temp$ = str$(temp)
50 locate   160,160  
60 print left$(temp$, 4);" C"
70 pause (1000)
80 cls
90 goto 20  
 
 et sa marche très bien =)
 
Question:  
 
- peut-on y changer la couleur?
- Comment brancher le caaque audio pour l'alarme? tout simplement sur la sortie AUDIO1?
 


Message édité par fiesta90150 le 03-03-2013 à 10:01:22
n°115736
thierry_72
Posté le 03-03-2013 à 10:05:45  profilanswer
 

le clignotement est du je pense au temps que mets le programme a écrire après un effacement avec un temps de pause trop important .
c'est pour ceci que j'utilise un locate x,y pour écrire le message par dessus au même endroit et je supprime le cls dans le programme .
 
je mets cls en debut de programme pour effacer l'ecran une premiere fois et après je boucle sur la ligne du dessous.
 
exemple :
 
5 ' ********************
6 ' programme d'exemple
7 ' ********************
 
10 cls
20 for i = 1 to 1000
30 locate 10,50
40 font#2,1,0
50 print "bonjour"; i
60next i
70 goto 20
80 end  
 
dans cet exemple tu va voir défiler derrière bonjour un chiffre .
si il va trop vite ,tu dois trouver seul comment le faire ralentir.
je te fais faire ce petit exercice pour que comprenne mieux .
 
je ne vais pas avoir beaucoup de temps aujourd'hui car j'ai 52 bougies a souffler....
 

n°115737
fiesta9015​0
Posté le 03-03-2013 à 10:07:58  profilanswer
 

et ben bon anniversaire =)
 
je vais essayer ton program, là j'ai ce qu'il me convient donc je vais garder ceci comme sa. et pour la couleur?

n°115738
thierry_72
Posté le 03-03-2013 à 10:09:14  profilanswer
 

avec ce que tu avais ecrit je pense que tu peux deplacer le cls et faire partir le clignotement . tu peux aussi jouer sur le pause (1000) qui est très long  1 seconde..
 
question a hans :  je ne mets pas de () dans les temps de pause  ceci voudrais dire que je n'est pas la même version de basic que toi?

n°115739
fiesta9015​0
Posté le 03-03-2013 à 10:10:25  profilanswer
 

oui j'ai aumenter la pause car le chiffre varié de trop. mais je vais remettre et voir avec un plus grand format

n°115740
thierry_72
Posté le 03-03-2013 à 10:18:05  profilanswer
 

pour que le chiffre ne soit pas trop instable il faut que tu face une moyenne et non que tu ralentisse tous ton programme .
 
si tu dois faire autre chose il te faudra attendre 1 seconde avant de le faire .
 
tu fais une boucle du genre for ...next  
a l’intérieur tu lis la valeur de température tu l'additionne et au final
avant de l'afficher tu la divise par le nombre de fois que tu l'a additionné.le chiffre sera plus stable et tu ne perds pas de temps.
le temps tu le consommes a faire les calcul..
 
dit moi c'est la premiere fois que tu fais du basic...
 

n°115741
fiesta9015​0
Posté le 03-03-2013 à 10:20:46  profilanswer
 

Oh que oui c'est la première fois que je fait un truc de ce genre. meme souder, électronique, composants, résistances, LED, programmer... tout sa je ne savais pas la moindre chose dessus avant que Hans m'aide et m'as convaincu de me lancer dans le projet avec son aide très précieux.  
 
C'est pour sa que quand tu me dit que je doit écrire une boucle je ne saurais pas ou là placer dans le programme ni comment l'écrire =(.  
 

n°115742
thierry_72
Posté le 03-03-2013 à 10:27:04  profilanswer
 

je te donnerais très bientôt un petit bout de code qui fait ceci  
mais pour le moment je n’ai plus le temps........
 
a bientot    
thierry

n°115743
fiesta9015​0
Posté le 03-03-2013 à 10:45:20  profilanswer
 

pas de soucis. bonne journée a toi et merci

n°115744
Gruber Han​s
Posté le 03-03-2013 à 12:31:18  profilanswer
 

Bonjour à tous les 2

 

Je vois que le projet a avancé :)
En ce qui concerne la feuille Excel je l'avais postée dans ce message : http://forum.hardware.fr/hfr/Hardw [...] m#t8644015

 

Pour la suite il va falloir définir un seuil haut, qui commande la mise en route du ventilateur, et un seuil bas qui provoque son arrêt. Il serait possible d'utiliser une seule température (si on est au dessus on refroidit, en dessous on ne fait rien), mais c'est dangereux car si la température oscille autour de cette valeur le ventilateur sera alimenté par accoups et vite endommagé.

 

Je reprend la structure du dernier programme en retirant les numéro de lignes sauf sur l'initialisation du programme (ils ne sont pas obligatoire en MMBasic ; ça évitera de devoir les changer à chaque modification) et en utilisant des routines.

  

10 cls
20 init (seuilh, seuilb, marche)
30 debut (seuilh, seuilb, marche)
40 goto 30

 

sub init (seuilh, seuilb, marche)
  SetPin 4,1
  SetPin 3,8
  seuilh = 32
  seuilb = 28
  marche = 0
end sub

 


sub debut(seuilh, seuilb, marche)
  temp = (83.86 - ( 35.09 * Pin(4)))
  font #2, 2, 0
  temp$ = str$(temp)
  locate   160,160  
  print left$(temp$, 4);" C"
  if temp > seuilh and marche = 0 then
    pin(3) = 1
    marche = 1
  endif
  if temp < seuilb and marche = 1 then
    pin(3) = 0
    marche = 0
  endif
  pause (1000)
end sub

   


à tester parce que je ne peux pas le vérifier...

 

Donc la petite partie avec des numéro se lance à la mise sous tension de la carte. Cette partie appelle d'abord init, qui se charge d'initialiser les pin et les variables. On remarquera que les variables seuilh, seuilb et marche sont entre parenthèse derrière le nom de la routine, ce qui permet de conserver les valeurs données à ces variables (sinon elles ne sont conservées qu'à l’intérieur de chaque routine).

 

On appelle ensuite la structure principale du programme (la routine "debut" ), on ne passera plus par init.

 

La routine "debut" reprend ce qui a été fait précédemment. Par ailleurs elle compare la température avec les seuils qui ont été fixés:
Si la température est plus haute que le seuil haut ET que le ventilateur est arrêté on le met en marche.
Si la température est plus basse que le seuil bas ET que le ventilateur est en marche on l’arrête.

 


En ce qui concerne les branchements tu branches comme tu l'as fait, avec la petite modif que je t'ai indiquée à ce message : http://forum.hardware.fr/hfr/Hardw [...] m#t8643666

 

Et tu branches le fil blanc relié à la résistance de base sur la pin A2.


Message édité par Gruber Hans le 03-03-2013 à 12:41:06
n°115745
fiesta9015​0
Posté le 03-03-2013 à 12:35:49  profilanswer
 

dac je vais voir sa ce soir, là j'ai plus le temps avant ce soir. Je vous dirais si ce programme marche =)

n°115746
fiesta9015​0
Posté le 03-03-2013 à 12:37:57  profilanswer
 

d'accord. j'ai fait la modification ce matin donc sa devrais être bon .

n°115747
fiesta9015​0
Posté le 03-03-2013 à 20:36:31  profilanswer
 

Bonsoir, alors sa marche a merveille =).
 
j'ai changer les valeurs de 32 et 28 par 28 et 26 vue que la température de l'eau ne doit pas excéder les 26 (questions de sureté).
 
Maintenant il me reste plus que l'alarme à intégrer lorsque le ventilateur se met en route.
 
et si je voudrais rajouter un autre ventilateur je devrait refaire le meme montage avec un transfo et brancher pareil? juste devoir utiliser deux pin tel que la A2 et la A1. et rajouter le A1 dans le programme?
 
le programme serait ecrit comme suivant:
 
   
 
10 cls
20 init (seuilh, seuilb, marche)
30 debut (seuilh, seuilb, marche)
40 goto 30
 
 
sub init (seuilh, seuilb, marche)
  SetPin 4,1
  SetPin 3,8
  SetPin 2,8
  seuilh = 32
  seuilb = 28
  marche = 0
end sub
 
 
 
sub debut(seuilh, seuilb, marche)
  temp = (83.86 - ( 35.09 * Pin(4)))
  font #2, 2, 0
  temp$ = str$(temp)
  locate   160,160  
  print left$(temp$, 4);" C"
  if temp > seuilh and marche = 0 then
    pin(3) = 1
    pin(2) = 1
    marche = 1
  endif
  if temp < seuilb and marche = 1 then
    pin(3) = 0
    pin(2)=0
    marche = 0
  endif
  pause (1000)
end sub
 
 
est-ce correct?


Message édité par fiesta90150 le 03-03-2013 à 20:43:20
n°115748
Gruber Han​s
Posté le 03-03-2013 à 21:09:46  profilanswer
 

Tu pourrait le faire de cette façon oui, mais il suffit de brancher les 2 ventilateurs en parallèle (sur les mêmes fils) ; ils vont démarrer en même temps.
 
Pour ce qui est des limites tu peux sans doute les réduire, par exemple 25.5 et 26, je pense que l'inertie du système permettra d'avoir une régulation très fine.
 
En ce qui concerne l'alarme il y a plusieurs possibilités / tu peux utiliser le port audio et utiliser la commande pulse, ou bien brancher un simple buzzer.
Il serait plus judicieux de le déclencher avec un 3eme seuil, sinon il va sonner chaque fois que le ventilo fait son travail, ce qui risque de vite devenir énervant...
 
Tu peux aussi faire la modif proposée par Thierry ; faire la moyenne de plusieurs mesures pour avoir une indication plus stable. Pour ceci tu peux modifier la routine debut de cette façon:
 
sub debut(seuilh, seuilb, marche)
  temps = 0
    for i = 1 to 100
    temp = temp + (83.86 - ( 35.09 * Pin(4)))
    next i
  temp = temp / 100
  font #2, 2, 0
  temp$ = str$(temp)
  locate   160,160  
  print left$(temp$, 4);" C"
  if temp > seuilh and marche = 0 then
    pin(3) = 1
    marche = 1
  endif
  if temp < seuilb and marche = 1 then
    pin(3) = 0
    marche = 0
  endif
  pause (1000)
end sub  
 
 
Cette fois l'indication de température est la moyenne de 100 mesures. La Duinomite effectue environ 30 000 instructions à la secondes, donc ça ne ralenti pas vraiment le programme.

n°115749
fiesta9015​0
Posté le 04-03-2013 à 05:39:41  profilanswer
 

Je vais tester celui-ci ce soir. Pourrais-tu me donner un lien pour un buzzer?

n°115750
fiesta9015​0
Posté le 04-03-2013 à 05:46:52  profilanswer
 
n°115751
fiesta9015​0
Posté le 04-03-2013 à 20:51:51  profilanswer
 

sa sa marche et en effet sa marche mieux sa bouge moins. =).
 
Ou est-ce que je doit intégrer cette commande pulse pour l'alarm? par contre j'a un doute sur le fait que sa soit assez fort le son...?

n°115752
Gruber Han​s
Posté le 04-03-2013 à 21:16:45  profilanswer
 

Pour que le son soit assez fort il faut aussi passer par un transistor et un petit haut parleur, mais si tu utilises un buzzer ça fait déjà pas mal de bruit.
 
En fait tout dépend du fonctionnement attendu : Est ce que le ventilateur est censé se déclencher exceptionnellement, ou vas il se déclencher sans arrêt pour réguler une température ?

n°115753
fiesta9015​0
Posté le 04-03-2013 à 21:20:56  profilanswer
 

c'est exceptionnel enfaite il cas se déclencher que l'été ou si le chauffage se bloque ce qui est très rare. J'aimerais juste qu'il sonne genre 5secondes lorsque le ventilateur se met en route. Et après si possible avoir une alarm constante a partir de 30°C qui est le dernier point de température à laquel l'aquarium doit-être. Au delà c'est mortel pour les habitants.
 
L'hivr il ya le chauffae qui chauffe a 26°C et s'arrete donc l'eau se refrodit. il se remet en route et sa continue comme sa. enfaite l'hiver vu qu'il fait froid il vas just chauffer a 26 et ne jamais dépaser sauf si problème de chauffage. Après l'été il fait chaud, donc l'eau chauffe toute seule. Cet été sans que le chauffage se mettent en route l'eau est arrivé a 30°C


Message édité par fiesta90150 le 04-03-2013 à 21:23:03
n°115754
Gruber Han​s
Posté le 04-03-2013 à 21:33:47  profilanswer
 

Dans ce cas il faudra utiliser une autre sortie pour l'alarme avec un autre 2N2222 ; le montage sera identique à celui du ventilateur (sur A1 par exemple).
 
Pour te donner un ordre d'idée un buzzer s'entend vraiment très bien si tu es dans la même pièce, il s'entendra également dans une autre pièce, par contre il sera presque inaudible si tu es dehors juste devant la maison. A voir si ça suffit.

n°115755
fiesta9015​0
Posté le 04-03-2013 à 21:42:56  profilanswer
 

j'habite en appartement donc oui sa sera suffisant =). je voudrais pas que sa dérange les voisins non plus.
 
quel type de buzzer il me faut? je vais y aller demain après le boulot en chercher un. et il me faut quoi d'autre?

n°115756
fiesta9015​0
Posté le 04-03-2013 à 21:51:30  profilanswer
 

comment je met deux ventilateurs en parallèle? sur le même transformateur?

n°115757
Gruber Han​s
Posté le 04-03-2013 à 21:58:10  profilanswer
 

ceux la font un bruit assez grave : http://www.conrad.fr/ce/fr/product [...] 212L-K6406

 

Et les ronds font généralement un bruit aigu ; personnellement je préfère ceux qui sont semblables au 1er modèle je trouve qu'il s'entend mieux.
En plus de ça il te faudrait une résistance de 1k (environ ; si tu as des valeurs proches ça conviendra) et un 2N2222.
Il faut prendre gade d'en prendre un qui fonctionne en 12V.

 

Pour brancher le 2eme ventilateur en parallèle tu le branche sur les mêmes fils que l'autre ; les 2 vont donc démarrer ensemble.


Message édité par Gruber Hans le 04-03-2013 à 22:10:27
n°115758
fiesta9015​0
Posté le 04-03-2013 à 22:20:14  profilanswer
 

ah ok sa marche aussi simple que sa =). mais ils vont pas tourner au ralenti vue que il y'aura que 12V d'alimentation pour deux ventilo de 12V chacune?
 
je vais aller demain pour cette alarme. donc un 12V et une résistance de 1K tant que j'y suis. sa ne coute que 15centimes ou je vais

n°115759
Gruber Han​s
Posté le 04-03-2013 à 22:43:42  profilanswer
 

Non ils tourneront à la vitesse normale car ils reçoivent 12V tous les 2. Ils commenceraient à ralentir si tu consommais trop d'intensité par rapport à ce que peut fournir le transfo, mais il y a de la marge.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8  9  10  11

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : Cartes Duinomite


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR