​ ​ ​ ​ PICAXE 28X2 : Entrée analogique en simulation
Results 1 to 8 of 8

Thread: PICAXE 28X2 : Entrée analogique en simulation

  1. #1
    New Member
    Join Date
    May 2016
    Location
    Suisse
    Posts
    7

    Question PICAXE 28X2 : Entrée analogique en simulation

    Bonjour,

    J'ai développé un programme pour mon réseau de train.
    Pour la gestion de la signalisation, j'ai un programme spécifique en développement qui fonctionne parfaitement en simulation (je ne sais pas encore en réel mais il n'y a pas de raison, pas encore essayé). Il y a juste un problème, avec l'entrée analogique A.1 (patte 3 CI).

    Mes premières questions sont :
    • est-il possible en simulation de donner une valeur autre que 1 ou 0 à ce type d'entrée ?
    • si oui, est-ce juste en changeant la valeur de l'entrée dans la colonne ADC de variables ou faut-il faire différemment ?
    • si non, y'a-t-il une autre manière de tester ces entrées analogiques avec une valeur autre que ou 0 ?


    Pour ma part, j'ai essayé de donner une valeur, 7 par exemple, et lorsque je vérifie la valeur, elle vaut toujours soit 1 soit 0 en fonction que j'ai cliqué ou pas sur la patte A.1 du 28X2 !

    Code:
    #PICAXE 28X2
    
    ;donnees en entree
    symbol aiguille	=  pinA.1
    
    ; initialisation des donnees du programme
    init:
       readadc A.1, aiguille
    28X2.JPG28X2-Valeurs.JPG
    Pourriez-vous s'il vous plaît m'expliquer la raison et éventuellement me donner une autre solution pour la simulation ?

    Merci pour vos réponses et bon dimanche.

    dbe8f.

  2. #2
    Senior Member
    Join Date
    Oct 2011
    Location
    france
    Posts
    1,228

    Default

    Bonsoir.

    Je ne me sers pas du mode simulation, donc, je vais peut-être dire une ânerie. Mais ...

    On fait normalement (dans la vraie vie) : Readadc A.1, variable.

    Dans le code, ici, il semble que l'on transfère la valeur lue, sur une broche d'entrée.

    J'en déduis (en étant surpris que cela fonctionne), que si la valeur lue est < à 127, la pin concernée sera forcée à 0, et >127, forcée à 1.

    Dans ce cas, pourquoi utiliser la fonction Readadc ?
    Qui ne supporte la critique ne progressera point.

  3. #3
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,919

    Default

    Comme dit Jojojo, la syntaxe est readadc PIN , VARIABLE

    votre programme lui c'est readadc PIN , PIN ce qui n'a pas de sens.
    tester:

    Code:
    #PICAXE 28X2
    
    symbol aiguille   =  b1
    
    do
       readadc 1, aiguille
    loop
    Vous verrez que la valeur de b1 suit la position du curseur, modifiée en faisant un clic DROIT sur A.1
    Avec les X2, on utilise le N° de canal et non le N° de pin.
    Last edited by PieM; 04-06-2018 at 07:49.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  4. #4
    New Member
    Join Date
    May 2016
    Location
    Suisse
    Posts
    7

    Default

    Bonjour Messieurs,

    Merci pour vos réponses et j'avoue avoir un peu honte !
    En effet, je n'ai pas fait attention à ce que j'ai écrit dans le code...c'est juste, cela n'a pas de sens.

    J'ai trouvé dans la documentation le fait de devoir utiliser le canal et non un numéro de pin.
    J'ai donc essayé comme vous le suggérez PieM et en effet cela fonctionne mais en passant par une variable --> b1.
    Est-il possible de tester directement la valeur de A.1 sans passer par une variable, j’imagine que non ?

    Si je comprends bien, comme le dit jojojo, si l'on teste directement A.1, on obtient soit 0 soit 1 en fonction si j'ai cliqué ou pas la pin lors de l'exécution.

    Plus loin dans le code je dois faire :
    Code:
     maintenant        select case aiguille 
     puis-je faire     select case A.1
    			case 7	;-----/---	0000 0111 = aiguille presente + prise par la pointe = 7 decimal
    				if feuVertStatut = 1 and feuOrangeStatut = 0 then ; statut vert allume
    					SN_L1_feublanc = 1
    					SN_L2_feublanc = 1
    				elseif feuVertStatut = 0 and feuOrangeStatut = 1 then
    					SN_L1_feublanc = 1
    					SN_L2_feublanc = 1
    				elseif feuVertStatut = 1 and feuOrangeStatut = 1 then
    					SN_L1_feublanc = 1
    					SN_L3_feublanc = 1
    				endif
                      ....
    Quelques questions de mise en forme des messages dans le post :
    • Comment faites-vous pour avoir entre les balises "code" les couleurs, comme vous PieM ?
    • Faut-il les mettre personnellement ?
    J'ai copié le code du programme et collé entre les balises mais les couleurs disparaissent !

    • Comment faire pour enlever de l'indentation toujours dans la balise "code" si le code dans le programme est indenté ?
    Exemple d'indentation :
    Code:
    ;j'ai ceci, code indenté collé du programme :
                       select case aiguille 
    			case 7	;-----/---	0000 0111 = aiguille presente + prise par la pointe = 7 decimal
    				if feuVertStatut = 1 and feuOrangeStatut = 0 then ; statut vert allume
    					SN_L1_feublanc = 1
    					SN_L2_feublanc = 1
    				elseif feuVertStatut = 0 and feuOrangeStatut = 1 then
    					SN_L1_feublanc = 1
    					SN_L2_feublanc = 1
    				elseif feuVertStatut = 1 and feuOrangeStatut = 1 then
    					SN_L1_feublanc = 1
    					SN_L3_feublanc = 1
    				endif
                      ....
    
    ;j'aimerais ceci, retirer l'indentation lorsque je le colle :
    select case aiguille 
    	case 7	;-----/---	0000 0111 = aiguille presente + prise par la pointe = 7 decimal
    		if feuVertStatut = 1 and feuOrangeStatut = 0 then ; statut vert allume
    		        SN_L1_feublanc = 1
      		        SN_L2_feublanc = 1
    		elseif feuVertStatut = 0 and feuOrangeStatut = 1 then
    			SN_L1_feublanc = 1
    			SN_L2_feublanc = 1
    		elseif feuVertStatut = 1 and feuOrangeStatut = 1 then
    			SN_L1_feublanc = 1
    			SN_L3_feublanc = 1
    		endif
              ....
    Encore merci pour vos réponses et toute belle fin d'après-midi.
    dbe8f

  5. #5
    Senior Member
    Join Date
    Sep 2011
    Location
    Montpellier (FRANCE)
    Posts
    2,797

    Default

    Quote Originally Posted by dbe8f View Post
    Si je comprends bien, comme le dit jojojo, si l'on teste directement A.1, on obtient soit 0 soit 1 en fonction si j'ai cliqué ou pas la pin lors de l'exécution.
    Vous avez bien compris, et c'est confirmé par PieM.
    Donc, si vous souhaitez tester une valeur analogique, il faut passer par READADC ou READADC10.
    A noter qu'il y a une logique technique à ça : lire une valeur analogique prends un certain temps. Donc il est plus performant de mémoriser la valeur que de lire une valeur analogique à chaque CASE...
    Quote Originally Posted by dbe8f View Post
    Comment faites-vous pour avoir entre les balises "code" les couleurs, comme vous PieM ?
    Dans PE6, clic-droit / copier pour le forum...

    A noter qu'il y a une limite à la taille du code que l'on peut poster sur le forum. Si vous souhaitez publier un programme un peu long, faites le en N&B... (La couleur, c'est beau et bien lisible, mais très volumineux...)
    Quote Originally Posted by dbe8f View Post
    Comment faire pour enlever de l'indentation toujours dans la balise "code" si le code dans le programme est indenté ?
    Pas possible à ma connaissance au moment du copié/collé.
    Mais dans PE6, vous pouvez copier le code dans un nouvel onglet, puis utiliser la fonction "remove indent"="enlever les indentations"
    Last edited by BESQUEUT; 04-06-2018 at 15:55.
    There are 10 types of people in the world: those who understand binary, and those who don't.

  6. #6
    New Member
    Join Date
    May 2016
    Location
    Suisse
    Posts
    7

    Default

    Bonjour BESQUEUT,

    Merci pour vos réponses très claires.
    Vous avez répondu à toutes mes questions.

    Encore une question dans l'utilisation des posts. Lorsqu'un post comme celui-ci que je considère comme résolu et terminé, je désire le mettre en évidence dans la liste des posts, comment peut-on faire ou comment le fait-on ici afin que les autres en soient informés et qu'ils n'aient plus besoin d'y répondre ?

    Encore merci et bonne soirée.
    dbe8f

  7. #7
    Senior Member
    Join Date
    Oct 2011
    Location
    france
    Posts
    1,228

    Default

    Bonsoir.

    Dans ce forum, je ne pense pas qu'il y ai la possibilité de modifier un sujet, avec le tag "Résolu".
    Pas grave. On a lu, on sait.

    Bonne soirée.
    Qui ne supporte la critique ne progressera point.

  8. #8
    New Member
    Join Date
    May 2016
    Location
    Suisse
    Posts
    7

    Default [RESOLU] PICAXE 28X2 : Entrée analogique en simulation

    Bonsoir jojojo,

    Merci pour votre réponse et bonne soirée.
    J'ai ajouté dans l'intitulé [RESOLU] au moins si quelqu’un voit le dernier post, il le saura.

    Dans les autres posts, je ferai pareil.

    dbe8f
    Last edited by dbe8f; 04-06-2018 at 19:38. Reason: Ajouter la ligne résolu

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •