Electromag1 Circuits électroniques et Picaxes

Petit site pour ceux qui bricolent en électronique en général et sur les PICAXES en particulier.
Les PICAXES sont des microprocesseurs (PIC de Microship) programmables en BASIC. Pleins de qualités, pas chers, ultra faciles à programmer.
Tout (ou presque) est sur le site du distributeur Gotronic (voir les liens).
Les pages  seront ajoutées ou modifiées petit à petit.
Dans le but d'améliorer ce blog, communiquez moi vos remarques et les erreurs que vous pouvez constater.
Pour me contacter: Envoyez un mail à l'adresse : mag1mic@free.fr .  Tout message reçoit une réponse
Pour retourner au menu, Cliquer sur "LISTE DES PAGES", ici ou en haut de la colonne de gauche
Pour laisser un message, allez dans le "LIVRE D'OR"
Bonne visite
 
 

Mesure de distance par capteur US HC-SR04

affichage sur LCD et picaxe08M2

 

On trouve ces modules sous des formes diverses, à des prix très bas, 1 euro sur eBay, moins de 4 euros en France.
Certains ont, parait il, des problèmes de blocage en cas de dépassement de limite, celui des essais ci dessous, pas cher, ne présentait pas de défaut. Les modules récents ont probablement été corrigés.
De toute façon, le programme de test palie ce défaut. Le programme ci dessous est celui proposé par Gotronic dans ce tuto, légèrement modifié pour un affichage sur LCD1602 série .

Le schéma:
Le programme:
Il intègre la procédure de reset automatique pour les modules défaillants, les autres fonctionnent aussi avec ce code.
 
' Essai 2 du capteur HC-SR04 à ultrasons-28.11.2015 L.Bachelard
' =================================================================
' Avec correction du HC-SR04 si la distance lue reste bloquée à 0
' J'ai trouvé sur internet le truc pour faire repartir le capteur :
' il faut lui appliquer une impulsion "low" de 100ms sur sa sortie "Echo"
symbol trig=C.1 ' sortie du Picaxe sur Trig du capteur
symbol echo=C.2 ' entrée sur Picaxe de Echo du capteur (note: pulsin' requiert une entrée sous la forme C.3 et non pinC.3)
symbol LCD=C.4
symbol calc=w1 ' variable 16 bits, calcul du temps et de la distance
symbol baud=T2400_4
#picaxe 08M2
#no_data
    pause 500
    serout LCD,baud, (254,1,254,1) ' effacement LCD
    low trig       ' programmation de Trig en mode sortie et mise à 0
    do             ' boucle principale    
        pulsout trig,1 ' impulsion sur Trig en dizaines de us (1 => 10us)
        pulsin echo,1,calc     ' lit la durée de l'impulsion Echo (1 = flanc montant
;**** code nécessaire au fonctionnement des modules "défaillants" ***********
        if calc=0 then                
            serout LCD,baud, (254,128,"Hors limites    ") ' affichage erreur
            reverse echo            ' inversion de l'entrée Echo en mode sortie
            low echo                    ' mise à 0 de la borne Echo
            pause 100                ' pendant 100ms
            reverse echo            ' puis, passage à nouveau en mode entrée                
            pause 1000        
        endif 
;************* fin ajout code "tout module" ***********************   

        calc=calc*17/100 ' calcul de la distance
        serout LCD,baud,(254,128,"dist = ",#calc," cm   ")  ' affichage de la distance sur le LCD           
        pause 1000                ' attente de 1s
    loop                        ' boucle sans fin

 La preuve:
Photo prise à ....21cm
 
 




 
 



Créer un site
Créer un site