encore un nouveau avec pleins de questions .....

le belge

Senior Member
bonjour et merci à vous tous !!!
je pense faire un saut chez gotronic aujourd'hui histoire de faire une petite liste et voir le prix de l'ensemble .....
si tout va bien , je vous fais un retour ce soir !!
encore un énorme merci pour votre aide et franchement j'aime bien l'ambiance sur ce forum

Mike
 

BESQUEUT

Senior Member
En perdant un peu de reactive , car je pense pas que ce soit tres grave , faire 8 pauses de 100 ms et un test a chaque fois? c'est lourd mais ca pourrait fonctionner si la precision n'est pas primordiale . Enfin moi je dis ca , je cherche aussi des solutions , que je pourais utiliser !
Oui : c'est une bonne idée, et c'est facile à comprendre pour un débutant.
Au fait, si c'est pas indiscret, c'est quoi le but final ? l'utilisation ?
Voir #18

Comme dit plus haut, il existe sur PICAXE au moins 3 solutions pour faire plusieurs choses en même temps :
- les interruptions
- le multi-tâches PICAXE (disponible seulement sur M2)
- le multi-tâches collaboratif (technique dite du "lapin fou" ou du "lapin blanc")
Merci à MGU d'avoir proposé une solution avec une interruption.
Voici une proposition en multi-tâches:
Code:
#simtask all
#picaxe 08M2
#simspeed 0


symbol Buzzer=0
symbol Poussoir=pin2
symbol EtatPoussoir=bit0

symbol Compteur=b1


start0:
	suspend 1
	EtatPoussoir=0
	do
		if poussoir<>EtatPoussoir then
			if poussoir=1 then
				 restart 1
			endif
			EtatPoussoir=Poussoir
		endif
	loop
	end


start1:
	for Compteur=1 to 4
		pause 800
		High Buzzer
		pause 200
		low Buzzer
	next Compteur
	pause 800
	High Buzzer
	pause 2000
	low Buzzer
	suspend 1
Attention : quand vous utilisez le simulateur, pour simuler l'appui sur un bouton, il faut cliquer deux fois : une pour enfoncer le bouton, et une pour le relâcher !
 
Last edited:

dje8269

Senior Member
Oui : c'est une bonne idée, et c'est facile à comprendre pour un débutant.
Exactement ,comme je suis débutant aussi , je cherche des solutiosn de mon niveau.
Il est vrai que faire des interupt ou utliser le timer , voir la methode du lapin fou :)o) reste difficile a assimilier pour un débutant .

Effectivement le #18, je l'avais pas lus, c'est vrai q'hier soir ca as fusés les messages
 

BESQUEUT

Senior Member
Compte à rebour par la technique du lapin fou...

Et pour les fans, évidement une solution en multitâche collaboratif ...
Code:
#simspeed 0
#picaxe 20x2

symbol Buzzer=1
symbol Poussoir=pinC.0

symbol H1 =W13
symbol Tache=b1
symbol DebutBip=0
symbol FinBip=1
symbol DebutBipLong=2
symbol FinBipLong=3
symbol NeRienFaire=4

symbol Compteur=b2

symbol EtatPoussoir=b3
symbol PoussoirHaut=0
symbol PoussoirBas=1

settimer 63974	' timer en 1/10 s
tache=NeRienFaire
H1=65535
EtatPoussoir=PoussoirBas

do
	if H1<timer then
		on tache gosub BipOn,BipOff,BipLongOn,BipLongOff
	endif	
	
	if Poussoir<>EtatPoussoir then
		if Poussoir=PoussoirBas then
			H1=Timer+10
			Tache=DebutBip
			Compteur=1
		endif
		EtatPoussoir=Poussoir
	endif
loop

end


BipOn:
	high Buzzer
	h1=H1+2
	tache=FinBip
	return
	
BipOff:
	low Buzzer
	inc Compteur
	H1=H1+8
	if Compteur < 5 then
		tache=DebutBip
	else
		tache=DebutBipLong
	endif
	return
	
BipLongOn:
	high Buzzer
	H1=H1+20
	tache=FinBipLong
	return
	

BipLongOff:
	low Buzzer
	tache=NeRienFaire
	H1=65535
	return
Attention : quand vous utilisez le simulateur, pour simuler l'appui sur un bouton, il faut cliquer deux fois : une pour enfoncer le bouton, et une pour le relâcher !

Dans tous les exemples conformes au CDC, on voit bien avec le simulateur que le PICAXE passe l'essentiel de son temps à attendre qu'on appuie sur le bouton. Le pilotage du buzzer est une tâche secondaire qui se produit en fait rarement.

Il n'y a aucun commentaire, mais je me ferai un plaisir d'expliquer si la lecture de chaque programme n'est pas parfaitement claire.
 
Last edited:

le belge

Senior Member
honnetement , j'ai essayé les codes dans le simulateur et pour l'instant ça ne représente pas grand chose pour moi ...
je vais attendre d'avoir le tout pour comprendre un peu plus !!!
par contre , pour les branchements , je peux prendre le schéma en #38 ou il faut modifier ???


edit , je viens de simuler le dernier code , c'est moi ou c'est vachement rapide pour des secondes ???
 

MGU

Senior Member
honnetement , j'ai essayé les codes dans le simulateur et pour l'instant ça ne représente pas grand chose pour moi ...
je vais attendre d'avoir le tout pour comprendre un peu plus !!!
par contre , pour les branchements , je peux prendre le schéma en #38 ou il faut modifier ???


edit , je viens de simuler le dernier code , c'est moi ou c'est vachement rapide pour des secondes ???
Bonjour,

J'ai pas essayé les schémas en #38, mais devrait pas y avoir de surprises.
Celui avec la résistance est celui code fourni, sans activation pullup.
Pour une prise en main du code, voir ici
http://electromag1.wifeo.com/les-picaxes-et-leur-basic.php

Ajoutez une diode haute luminosité à la liste.

MM
 

BESQUEUT

Senior Member
edit , je viens de simuler le dernier code , c'est moi ou c'est vachement rapide pour des secondes ???
Le code tourne effectivement super-vite : c'est l'intérêt de la méthode...

Par contre, en cliquant deux fois sur C.0 dans la fenêtre de simulation,
vous devez voir clignoter un carré vert nommé B.0 qui simule le Buzzer.
Chez moi, il bat la seconde, sauf la cinquième fois qui dure 2 secondes.

Si vous n'êtes pas à l'aise avec le simulateur, merci de parcourir le manuel pour débutants...
 

dje8269

Senior Member
Il y auras une petite subtilité pour le chargement du programme . Car avec ton schéma il devras "modifier" son cable , il me semble ? il lui faudrait un connecteur jack tout simple non ?
 

MGU

Senior Member
L'axe 021 a un jack donc un cordon avec jack.

Un bout de code pour utiliser la led haute luminosité, en "multitaches", pour des fonctionnement indépendants:
la diode est sur C.1, avec un R de 1 k (ou plus)

Code:
#picaxe 08M2

symbol pous=pinC.3
symbol cpt=b1
symbol buz=C.2
symbol lum=C.1


'pullup %01000	;ne fonctionne pas en simulation
start0:
	Do	
		setint off
		Do loop while pous=0	;logique du poussoir à inverser avec pullup
		do loop while pous=1
		setint %00001000,%00001000
		for cpt=0 to 3
			pause 800
			high buz
			pause 200
			low buz
		next
		pause 1000
		high buz
		pause 2000
		low buz	
	loop

interrupt:
	do loop while pous=1
	reset
	return

start1:
	do
		high lum
		pause 100
		low lum
		pause 1200
	loop
MM
 

le belge

Senior Member
bonjour ,

du coup je ne sais pas quel code je dois utiliser ???
encore une petite chose , serait-il possible d'avoir un schéma d'installation des composants ???
au final , je ne pense pas utiliser de led mais uniquement un bouton on/off ....
je vais chez gotronic en fin d'après midi chercher mon matériel ... voici la liste de ce que je veux prendre :

devis gotronic 001.jpg

merci à vous !
ps : je vous expliquerais plus en détail le pourquoi du comment à mon retour de chez gotronic
 

dje8269

Senior Member
J'en déduis que tu n'as pas possibilité d'utilisé en port rs232 si tu prends un cordon USB. C'est dommage car ça te fais monter ta facture.
Peut être qu'ils pourront t'en prêter un . Demande on ne sait jamais !
 

le belge

Senior Member
Malheureusement pas de rs232 a dispo ....
Tant pis ,je vais le payer moi même et le reste c'est l'asso mais je ne compte pas en rester la , j'ai d'autres projets en tête donc il me sera utile ....
Sinon la liste te convient ?
 

PieM

Senior Member
@ le belge

sur la vidéo, moi j'ai l'impression que le BP est maintenu appuyé pendant tout le temps . Me gourre-je ? parce que si c'est ça, c'est encore plus simple. c'est le BP qui met sous tension le picaxe !
 

le belge

Senior Member
pas faux , donc si on lâche le bouton , on revient à zero ???
et du coup pas besoin de la fonction reset en cours de route ....
on maintient le bouton tant que le chien est sur la table et si il descend on lâche !!!
 

PieM

Senior Member
pas faux , donc si on lâche le bouton , on revient à zero ???
et du coup pas besoin de la fonction reset en cours de route ....
on maintient le bouton tant que le chien est sur la table et si il descend on lâche !!!
Ben oui ! et pas besoin d'inter pour la pile.
 

le belge

Senior Member
du coup , je ne sais plus quoi faire !!!
je ne vais plus chercher mes pièces , faut que je regarde pour faire le code avec cette nouvelle façon de faire ....
 

PieM

Senior Member
encore mieux !!!

une petite vidéo pour expliquer l'utilisation du beeper ...
http://www.youtube.com/watch?v=VpSPSirvDpk
là c'est un tapis donc c'est autonome , pas besoin de le déclencher .... ça doit marcher avec des capteurs de poids ou autre

par contre j'espère que l'on entendra bien le buzzer !!!
Dans la liste, le buzzer choisi est un modèle 12V 83 dB . Pas génial car sous 5V on ne va pas entendre grand chose.
Il faut choisir un buzzer 5V 87dB ( 2 fois plus puissant que l'autre alimenté en 12V!), et comme il consommera plus, garder le transistor.

La liste est bonne mais enlever l'inter, changer de buzzer . Je viens de voir d'ailleurs que c'est celui que MGU avait préconisé. Je comprends mieux son transistor bien sûr!
Quant au code pas de problème, il va être archi simple. Bonne occasion pour le faire vous même ... hein ? :rolleyes:
 

PieM

Senior Member
ok pour le buzzer
je suis en train d'essayer avec logicator ... pas simple
refléchissez à ce que vous souhaitez :

un bip de 200 ms suivi d'une pause de 800ms
à répéter 4 fois
ensuite un bip long (ou une succession de bips courts comme sur la vidéo)
et c'est tout.

commencez votre programme et faite le passer...
 

le belge

Senior Member
est ce que je commence à comprendre ou pas du tout ..??


main:
label_2:
high 2
pause 200 'Wait command
low 2
pause 800 'Wait command
high 2
pause 200 'Wait command
low 2
pause 800 'Wait command
high 2
pause 200 'Wait command
low 2
goto label_2
 

PieM

Senior Member
Oui mais on peut faire mieux: comme on répète plusieurs fois la même chose, on peut écrire:

for b1 = 0 to 4 'on fait un compteur avec une variable quelconque qui va s'incrémenter de 0 à 4
high 2
pause 200
low2
pause 800
next ' on boucle

et après si on veut un buzzer long:

high 2
pause 2000 'pour 2 secondes
low 2

et c'est tout!
 

le belge

Senior Member
donc je n'étais pas si loin que ça ...
par contre avec ce code , le pic fonctionne que quand j'appuie et je garde le bouton appuyé , mais si je le lâche , je reprends au début de la séquence ??

edit : par contre en simulant : ça me fait 5 bip court et 1 long .... si j'ai bien compris , il buzz une fois puis fait la boucle 4 x puis buzz long
 
Last edited:

PieM

Senior Member
Oui, tout à fait

le prog en flowsheet: View attachment Flowsheet1.plf sous logicator

par contre en simulant : ça me fait 5 bip court et 1 long .... si j'ai bien compris , il buzz une fois puis fait la boucle 4 x puis buzz long
oui, il y a un bip au démarrage pour s'assurer que l'on est synchrone avec l'animal.
sinon, commencer avec la pause de 800 ms
 

le belge

Senior Member
trop fort , je n'avais pas vu la fonction répéter .... je me suis fais ch.er à recopier à chaque fois ....
 

MGU

Senior Member
Bonjour,

Bon, alors voilà, on fait un truc qui répond au CDC, avec interruption, "multitâche" pour la led, on tourne le dos 5 mn et en fait, c'est beaucoup plus simple ;)

Et pour la table, le tapis sensible, c'est sophistiqué. Une petite plaque de contreplaqué posée sur 4 ou 5 poussoirs en //, ça devrait aller aussi, même pour des petits chiens.

MM
 

PieM

Senior Member
Bon, alors voilà, on fait un truc qui répond au CDC, avec interruption, "multitâche" pour la led, on tourne le dos 5 mn et en fait, c'est beaucoup plus simple ;)
Pas de ma faute moi si personne n'a regardé la vidéo !! :D

Et pour la table, le tapis sensible, c'est sophistiqué. Une petite plaque de contreplaqué posée sur 4 ou 5 poussoirs en //, ça devrait aller aussi, même pour des petits chiens.
Tout à fait et simple à faire pour pas cher! faudra une moquette dessus: il y en a une sur la vidéo !! ... :rolleyes:
 

le belge

Senior Member
Vraiment désolé !!!
c'est vrai que je n'avais pas fait attention à la vidéo , le système est bien plus facile pour la personne qui s'occupera de la mise en route !!!

hs : juste pour vous raconter un peu ma life .... parce que je n'aime pas arriver sur un forum sans me présenter (je sais que c'est un peu tard , mais bon )
je m'appelle Michael mais tous le monde m'appelle Mike , j'ai 34 ans et une petite fille de 6 ans et nous attendons la deuxième pour avril
je suis moniteur d'éducation canine dans une association : le http://www.sportcaninsedanais.fr/
de plus je fais de l'agility en compétition avec ma petite chienne
une petite vidéo d'un concours http://www.youtube.com/watch?v=rvH7gU6Sakg

a coté de ça lol , je suis mécano/chauffeur poids lourds de toupie à béton ....

en tous cas , vous êtes super accueillant !!!

merci à vous tous

voili voilou

Mike

ps : sérieux , c'est faisable facilement le système de la table parce que j'ai une petite idée en tête une fois que j'aurais fini le projet du beeper !!!
 

PieM

Senior Member
Vraiment désolé !!!
c'est vrai que je n'avais pas fait attention à la vidéo , le système est bien plus facile pour la personne qui s'occupera de la mise en route !!!
Ben faut pas être désolé ! Au contraire ! on a des rapides ici sur le forum ... ça leur entretient les synapses ...
On a même le Luky Lucke de la programmation ! le seul qui sait programmer sans savoir ce qu'il va faire avec !
Non je plaisante .... ;)
 

MGU

Senior Member
ps : sérieux , c'est faisable facilement le système de la table parce que j'ai une petite idée en tête une fois que j'aurais fini le projet du beeper !!!
En fait, il n'y a pas besoin de poussoir

4 ou 5 (ou plus) ressorts spirales de chez caostomerlin et 4 vis
Poser un poids de 1 kg sur la plaque et régler les vis pour faire le contact, sans le poids, les contacts doivent s'ouvrir.
 

Attachments

le belge

Senior Member
excellent !!!
je connais déjà mon prochain projet alors ....
par contre , je vais chercher mon picaxe demain matin
avez vous des choses à me conseiller à prendre ??
Mike
 

MGU

Senior Member
Pour le bip, Un 08M2 est largement suffisant, un buzzer 5 V
La petite carte AXE021, un chimique 100µF 25V en plus, un coupleur 3 x LR6, un petit boitier
Après, il faut le cordon (UBS ou série), il sera amorti si il y a d'autres projets...

MM
 

dje8269

Senior Member
par contre pourquoi un condo chimique
Je suppose que MGU veut le mettre sur l'alim du picaxe entre les broches Vcc( patte1) et la masse(patte8). afin de palier aux différentes variations de tension lors de l'allumage du buzzer . Ce condo n'est pas obligatoire , mais conseillé .

Oui si tu prends un buzzer de 20mA il est conseillé de le "booster" ! avec un transistor.

attends la vérification des pros !! hein .... moi je propose seulement
 

MGU

Senior Member
Bonjour,

Le chimique est un découplage, il améliore le fonctionnement lorsque la pile s'use et que sa résistance interne augmente.
Le buzzer 5 v consomme 25mA, il faut le transistor.
Prends des R de 1k et 10k, ça peut toujours servir.

MM
 

Attachments

le belge

Senior Member
Bonjour à tous !!

merci pour les explications et pour le schéma !
je bois mon café et je fonce chercher tout ça ....
 

le belge

Senior Member
c'est ok !!!!
ça bip !!!
conforme au cahier des charges ....
juste que j'ai pris des résistances 10k au lieu de 1k donc je pense que le buzzer ne buzz pas assez fort
un énorme merci !!!

Mike
 
Last edited:
Top