Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

[Realisation] Domotique pour poulailler
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1417
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#31 Message par F6FCO » mar. 25 mai 2021 00:27

Hello,
Merci pour tes précisions, je ne sais pas si elles sont vaccinées, je vais tél demain. Par contre la blanche perd beaucoup de duvet et va toujours farfouiller dans son plumage, je crains qu'elle n'aie beaucoup de puces et je ne sais pas que faire pour y remédier. Si tu as une idée...
Voilà le poulailler, c'est touffu et impénétrable et elles ont fait des galeries sous les taillis, si elles prennent l'idée de pondre au fond je suis mal.

P1040570.JPG


C'est marrant de parler de poules sur un forum PIC, je vais me faire rappeler à l'ordre par Jeremy :? :-D

Alors pour compenser un peu de technique:

Cet aprem comme il faisait un temps de chien chez nous j'ai validé l'électronique sur table qui tourne pour l'instant sur ma platine de prototypage, je m'attaquerai au PCB quand le programme sera validé, on ne sait jamais au cas ou il y aurait des modifs de dernière minute. Le Pont en H est un module L298. Il y a deux LDR, une pour le déclenchement nuit et l'autre pour le déclenchement jour.

P1040595.JPG


Le schéma, rien de bien compliqué. J'ai rajouté une RV de 5k sur chaque LDR pour un réglage fin du déclenchement. Sur la platine les LDR sont dans le tube en carton, plus pratique pour simuler la nuit.

Schéma.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

[Realisation] Domotique pour poulailler
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2618
Enregistré en : juillet 2016
Localisation : Terre

#32 Message par Temps-x » mer. 26 mai 2021 03:34

Bonsoir F6FCO, et tout le forum,

F6FCO a écrit :Source du message Par contre la blanche perd beaucoup de duvet et va toujours farfouiller dans son plumage, je crains qu'elle n'aie beaucoup de puces et je ne sais pas que faire pour y remédier. Si tu as une idée...


Si elles sont vraiment jeune c'est normal, ça veut dire quelle va passer à l'age d’adulte.

Mes poules que j'avais perdait leurs plume fin septembre, puis de nouvelle plume apparaissait juste avant l'hiver, la nature et bien faite :wink:

On se qui concerne les puces, je te laisse regardé ICI car moi j'ai jamais été embêté avec ça.

Attention à la maladie de Marek, c'est le plus courant, et il n'existe pas de remède, ça ne tue pas la poule, mais ça l’handicape, j'ai déjà vécus.

La cause est que ta poule à eut le plumage trempè, c'est un peu comme nous quand on reste sous la pluie sans protection on attrape un coup de froid.

Vu comment est ton poulailler tes poules vont s'y plaire, mais il y a une très grande change qu'il ponde sous les arbustes.

F6FCO a écrit :Source du message C'est marrant de parler de poules sur un forum PIC, je vais me faire rappeler à l'ordre par Jeremy :? :-D

Ben non, car c'est un projet avec un Pic, et ça rends le forum attractif.

Concernant ton schéma tu pourrais éliminer 4 résistance de 10k en activant les résistance sur le PORTB.

Collecteur des transistors 2N2222 branché directement sur le PORTB, idem pour les interrupteurs poussoirs.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

[Realisation] Domotique pour poulailler
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1417
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#33 Message par F6FCO » mer. 26 mai 2021 13:17

Ok pour tout, je n'avais plus pensé aux pull-up intégrées dans le PIC.
Ce n'est pas des poussoirs mais les deux micro-rupteurs (haut et bas) de la trappe. Mais comme mes poules vont se coucher avant la nuit et que je leur rends toujours une petite visite pour leur chanter une berceuse je pense que je vais rajouter un poussoir pour fermer manuellement la trappe à ce moment-là, avec une tempo pour ensuite attendre la nuit noire (tempo de 3 ou 4 heures), que le système ne la relève pas aussitôt après puisqu'il fait encore jour, il faut que le relevage n'aie lieu qu'au lendemain matin.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

[Realisation] Domotique pour poulailler
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1417
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#34 Message par F6FCO » lun. 31 mai 2021 13:39

Hello les gens,

Le projet avance, la prog est validée. Ce qui au départ semblait un truc tout simple: faire monter ou descendre une trappe suivant l'état d'une Ldr s'est finalement avéré un peu plus complexe. Comme l'a dit si justement Gérard, mes poulettes sont des êtres vivants et je n'ai pas droit à l'erreur, genre poulettes bloquées à l'extérieur du poulailler à la merci des prédateurs lors d'une absence prolongée de ma part. Donc j'ai multiplié les essais, effectué le test du singe, et pondu un truc qui me semble sérieux. Le fait d'utiliser deux LDR est confortable pour les réglages de déclenchement mais à compliqué l'algorithme. Il a fallu prendre en compte le fait qu'en se relevant la trappe libère les deux micro-rupteurs pendant un instant.
J'ai passé un bon moment sur un souci, tout fonctionnait parfaitement en pas à pas mais pas en déroulement normal, le moteur faisait n'importe quoi. J'ai fais chauffer le cerveau avant de comprendre que c'était le fait des deux LDR, qui se contredisaient pendant la période 'entre chien et loup', c'est à dire la transition entre jour et nuit et nuit et jour, il y a un petit laps de temps ou les ldr ne savent pas trop si elles sont mâles ou femelles. J'ai résolu le problème en intercalant une petite tempo le temps qu'elles puissent choisir et tout est rentré dans l'ordre.
Bref, c'était intéressant :-)

J'ai rajouté une fonction pour fermer manuellement la trappe avant la nuit, ceci étant il a fallu gérer le fait qu'à ce moment il fait toujours jour et que la trappe ne se relève pas immédiatement mais attende sagement le lendemain matin pour s'ouvrir.

Le seul truc inconnu pour l'instant c'est l'alimentation par panneau solaire, je n'ai aucune expérience dans le domaine, c'est la première fois que j'expérimente et on verra ce que çà donne, le panneau suffira-t'il à maintenir la charge de la petite batterie 12v de moto au vu de la conso du moteur ? on verra.

A ce stade l'implantation du PCB est faite, il reste juste à démarrer la cnc pour la gravure.

Le schéma définitif:

p1.jpg


L'algorithme a un peu évolué par rapport au précédent:

p2.jpeg


Le code:

Code : Tout sélectionner

;**********************************************************************
;
                                                                     
;    NOM:    Commande trappe poulailler 16F88                                          
;    Date:    mai 2021                                           
;    Auteur:    F6FCO  JC Buisson                                       
;         xtal:       8Mhz interne                                                 
;         
;                                                                     
;**********************************************************************
    List p=16F88                     
    
#include <p16F88.inc>

    ;__CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_OFF & _WDT_OFF  &_HS_OSC
    __CONFIG    _CONFIG1
, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_OFF & _WDT_OFF  & _INTRC_IO
    __CONFIG    _CONFIG2
, _IESO_OFF & _FCMEN_OFF 
      
OPTIONVAL    EQU    H
'0008'            

; ---------------------------------------------------------------------

#DEFINE in1          PORTB,5 ; pont H
#DEFINE in2         PORTB,4 ; pont H
#define SwitchHaut    PORTB,2    ; micro-rupteur haut, pressé=0
#define SwitchBas    PORTB,3 ; micro-rupteur bas, pressé=0
#define LdrNuit        PORTB,1 ; jour=0, nuit=1
#define LdrJour        PORTB,0 ; jour=0, nuit=1
#define Poussoir    PORTA,1    ; poussoir forçage descente
#define VarNuit        Lumi,0    ; jour=0, nuit=1
#define VarJour        Lumi,1    ; jour=1, nuit=0    
#define Forcage        Lumi,2    ; passe à 1 en cas de fermeture volontaire par poussoir, reste à 1 tant qu'il fait encore jour    

BANK0    macro
    bcf    STATUS
,RP0            ; passer banque0
    endm

BANK1    macro
    bsf    STATUS
,RP0            ; passer banque1
    endm

    CBLOCK 0x020                   
        Reg_1        
:1
        Reg_2        
:1
        Reg_3        
:1
        Reg_4        
:1
        Reg_5        
:1
        Lumi        
:1
    ENDC                                             

    org     0x0000            
; Adresse de départ après reset  
init
BANK1    
    movlw    b
'01101110'
    movwf    OSCCON            ; Horloge interne à 4Mhz
    clrf    ANSEL            
; broches du CAN en I/O
    movlw    OPTIONVAL        
    movwf    OPTION_REG        
; initialiser registre option
    
    movlw    b
'00000011'
    movwf    TRISA
    movlw    b
'11001111'
    movwf    TRISB            ; 
BANK0
    clrf    PORTA            
; sorties portA à  0
    clrf    PORTB

    
;   vers main
    
    


Code : Tout sélectionner



#include <Poulailler_init.asm>
    
;********************************************************************* 
;                      PROGRAMME PRINCIPAL                           *
;*********************************************************************

    ; Poussoir: relâché=1, pressé=0
    
; Switches: relâché=1, pressé=0    
    
; Ldr: jour=0, nuit=1
main    
    nop
    clrf    Lumi
    bcf    in1    
; stop moteur
    bcf    in2    
; stop moteur
    bcf    VarNuit
    bcf    VarJour
    
v1    btfsc    LdrJour
    goto    v2
    bsf    VarJour
    goto    v3
v2    bcf    VarJour

v3    btfss    LdrNuit
    goto    v4
    bsf    VarNuit
    goto    gestpouss        
v4    bcf    VarNuit

gestpouss
    call    tempo100ms
    btfsc    Poussoir
    goto    gestTrappe
    btfss    VarJour
    goto    gestTrappe
    bsf    Forcage
    bcf    in1
    bsf    in2
p1    btfsc    SwitchBas
    goto    p1
    nop
    goto    motStop    
    
gestTrappe    
    btfss    VarJour
    goto    t1
    btfsc    Forcage
    goto    t1
    btfsc    SwitchBas
    goto    t1
    nop
    nop
    nop
    bsf    in1
    bcf    in2
t2    btfsc    SwitchHaut
    goto    t2
    goto    motStop

t1    btfss    VarNuit
    goto    v1
    btfsc    SwitchHaut
    goto    t4
    bcf    in1
    bsf    in2
t3    btfsc    SwitchBas
    goto    t3
    goto    motStop
    
t4    bcf    Forcage
    goto    v1
motStop    
    bcf    in1
    bcf    in2
    goto    v1
    
    
tempo100ms
; Délai 100 000 Cycles de la machine
; Durée du délai 100 millisecond
; Fréquence de l'oscillateur 4 MHZ
    movlw       .221
    movwf       Reg_1
    movlw       .130
    movwf       Reg_2
    decfsz      Reg_1,F
    goto        $-1
    decfsz      Reg_2,F
    goto        $-3
    nop
    nop
    return    
    
    END     



https://www.youtube.com/watch?v=5-5tm_5fUTo
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

[Realisation] Domotique pour poulailler
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1661
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#35 Message par Gérard » lun. 31 mai 2021 14:20

Bonjour à tous,

Je me suis demandé si une seule LDR ne suffirait pas.
En numérisant la valeur donnée et en sachant si avant il faisait jour, la trappe ne peut que se fermer.
Inversement, avec la valeur et en sachant avant qu'il faisait nuit, le trappe ne peut que s'ouvrir.

C'est déconnant comme réflexion?
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

[Realisation] Domotique pour poulailler
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1417
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#36 Message par F6FCO » lun. 31 mai 2021 15:28

Que nenni, et çà aurait permis de régler le seuil de déclenchement à loisir, c'est une solution à laquelle je n'ai pas pensé. Avec un petit bout de code bien pensé j'aurai sans doute pu régler indépendamment le seuil d'ouverture et celui de fermeture.
Cette solution m'aurait obligé de mettre le nez dans la conversion analogique/numérique, chose que je n'ai pas encore expérimentée.
Ca m'aurait obligé à m'instruire :twisted:
J'ai mis en pratique la première idée qui m'est venue, attendre la luminosité qui amène un 1 logique sur les ponts diviseurs qui sont sur la base des transistors, le seuil étant réglable (plage d'environ 1volt) par les rv 5k, donc il me fallait deux Ldr pour régler chaque seuil.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

[Realisation] Domotique pour poulailler
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1661
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#37 Message par Gérard » lun. 31 mai 2021 17:25

Ton idée se défend mais le CAN (ADC en outre-Manche) est une possibilité sympa.
Tu aurais eu l'occasion de mettre Temps-x à contribution en ASM.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

[Realisation] Domotique pour poulailler
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2618
Enregistré en : juillet 2016
Localisation : Terre

#38 Message par Temps-x » mar. 1 juin 2021 02:13

Bonsoir F6FCO, Gérard(?), et tout le forum,

:bravo: projet mené comme d’habitude jusqu'au bout.....

F6FCO a écrit :Source du message le panneau suffira-t'il à maintenir la charge de la petite batterie 12v de moto au vu de la conso du moteur ?


Avec l'adc tu peux vérifier l'état de ta batterie de 12 volts, si ta batterie est trop faible tu fait sonner un buzzer piloter par PWM de ton Pic ou :sifflotte: tu envois un signal radio en morse ... --- ...

Gérard a écrit :Source du message Tu aurais eu l'occasion de mettre Temps-x à contribution en ASM.


:roll: Comme je sais que tu adores ASM je te laisserais se privilège.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

[Realisation] Domotique pour poulailler
venom
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 963
Âge : 38
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#39 Message par venom » mar. 1 juin 2021 07:11

Temps-x a écrit :... --- ...

[HS] SOS il me semble ? (C'est le seul que je connais) le plus important [/HS]

Bravo F6FC0 comme a ton habitude tout roule si je peux dire :-D






@++
Mon site web
Mon discord : venom#4888

[Realisation] Domotique pour poulailler
venom
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 963
Âge : 38
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#40 Message par venom » mar. 1 juin 2021 07:11

Temps-x a écrit :... --- ...

[HS] SOS il me semble ? (C'est le seul que je connaisse) le plus important [/HS]

Bravo F6FC0 comme a ton habitude tout roule si je peux dire :-D






@++
Mon site web
Mon discord : venom#4888


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : elektrax et 127 invités