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

Écran OLED 0.96 128x64
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2585
Enregistré en : juillet 2016
Localisation : Terre

#31 Message par Temps-x » dim. 9 févr. 2020 16:27

Bonsoir paulfjujo, et tout le forum,

paulfjujo a écrit :Source du message autrement : Bluetooth !


Hum...Bluetooth c'est des gros problème sur Windows XP, par contre c'est un avantage pour les smartphones, tablette,.....,

Je vais essayer avec ce que je possède actuellement ...... nRF24L01+..... Bluetooth.....

Je commanderais autre module si je n'ai pas de réussite.

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

Écran OLED 0.96 128x64
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2585
Enregistré en : juillet 2016
Localisation : Terre

#32 Message par Temps-x » lun. 24 févr. 2020 02:37

Bonsoir tout le forum,

:sifflotte: Voila je pose le problème, mais je suis sur que j'aurais pas beaucoup de réponse, je suis obligé d'envoyer une commande( DC = 0) pour que mon programme puisse tourner correctement, je comprends pas le pourquoi :mur:

J'utilise le mode SPI bit bang pour écran OLED 128x64, en mode SPI automatique j'ai le même problème.

Code : Tout sélectionner



;*************************************** assignations ***************************************** 

#DEFINE dc      LATA,2                 ; RA2 ==> sélection du mode : commande = 0 , donnée = 1
#DEFINE cs      LATA,1                 ; RA1 ==> activer ou désactiver la transmission
#DEFINE rst     LATA,0                 ; RA0 ==> reset de l'écran

#DEFINE sck     LATC,3                 ; RC3 ==> horloge de synchronisation 
#DEFINE mosi    LATC,5                 ; RC5 ==> envoyer les données sur écran oled 128x64

;********************************************************************************************

boucle             
      rcall bug                           
;  <<== ici bug, si je ne mets pas ça, le programme ne tourne plus correctement, pourquoi ?
    
      rcall scan_numérique                
; récupérer les données du signal électrique
      rcall affiche_grille                
; redessine la grille, en effaçant les données qui sont sur la grille
      rcall osc_analyse                   
; reproduit le tracé du signal électrique
      rcall volts_maxi_mini               
; rechercher le voltage maxi, et le voltage mini
      rcall affiche_voltage               
; afficher la somme du (voltage maxi - voltage mini)
      rcall affiche_freq                  ; trouver la fréquence et l'afficher (100 ms)

      bra boucle

;*********************************************************************************************** 
bug
      bcf dc                              ; mode commande

      return



Bon ça fonctionne avec cette technique hasardeuse, mais j'aimerais bien comprendre, faut t'il remettre l'écran en mode commande quand il n'est pas utilisé ?

Merci ! pour les surdoués qui trouverons la réponse.

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

Écran OLED 0.96 128x64
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2586
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#33 Message par paulfjujo » mar. 25 févr. 2020 08:35

bonjour TempsX et à tous,

je n'ai pas d'ecran OLED SPI ... pour t'aider

mais je pense qu' il faut bien envoyer à un moment donné autre chose que des datas
pour au moins positionner le depart pixel en 0,0
l'adressage page, column ou autre commence par une commande.

*************************************************************



concernant la vitesse d'acquisition et ton mini Oscilloscope

en suivant ce fil , sur MikroC forum
https://forum.mikroe.com/viewtopic.php? ... 33#p303833
ADC_Get_Simple timing (slow sampling rate?)

j'ai fait de nouveaux essai, en simplifiant au maximum l'acquisition ADC
je laisse le choix de channel constament ouvert sur RA2 ( par exemple)
et range le resultat de l'acquisition via un pointeur char sur une table de 500 mesures en integer !
Avec le Timer1 en chronometre pour mesurer la duree d'acquisition des 500 mesures , j'obtiens > 100 KSP/sec
testé avec un signal sinus 3000Hz et 8000Hz

FOSC interne 64Mhz
UART1 RC6 TX
RA2 Analog input

le projet de test

_18F26K22_64Mhz_Uart1_Test_Speed_ADC_Base_2020_02_25.zip


Test_Speed_ADC_Base_18F26K22_64MHz.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

Écran OLED 0.96 128x64
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2585
Enregistré en : juillet 2016
Localisation : Terre

#34 Message par Temps-x » mar. 25 févr. 2020 20:37

Bonsoir paulfjujo, et tout le forum,

paulfjujo a écrit :Source du message mais je pense qu' il faut bien envoyer à un moment donné autre chose que des datas
pour au moins positionner le depart pixel en 0,0
l'adressage page, column ou autre commence par une commande


Je peux même pas te réponde, car pour moi le problème vient d’ailleurs, peut être des temps à respecter (peut être)....

j'envoie absolument rien du tout quand je mets l'écran OLED en mode commande.......

paulfjujo a écrit :Source du message concernant la vitesse d'acquisition et ton mini Oscilloscope


Avec oscillateur à 64 Mhz la meilleur configuration que j'ai pu obtenir pour l'acquisition ADC et celle-ci

Code : Tout sélectionner

;*************************** configuration du registre ADCON2 ********************************** 
                   
      movlw B
'00001101'                   ; b0 à b2 = FOSC/64    
      movwf ADCON2                        
; b3 à b5 = 16 TAG 
                                          
; 
                                          
; b7 = détermine si le résultat de la conversion
                                          
; sera justifié à droite = 1 ou à gauche = 0  


Voila ce que ça donne à 10 Khz pour Sinus
Sinus.jpg


Voila ce que ça donne à 10 Khz pour Carré
Carré.jpg


Voila ce que ça donne à 13 Khz pour Scie
Triangle.jpg


En mesurant le temps pour un scanne, j'obtiens approximativement 10 µs, avec timer1 comme chronomètre, de mon points de vu je pense pas
qu'on puisse faire mieux que ça.

Pour une demi alternance, pour une fréquence de 10 Khz
(((1/10000 Hz) * 1000000))/2 = 50 µs

Donc, on pourrait théoriquement faire 5 numérisations pour 10Khz sur une demi-alternance, hors j'obtiens 10 numérisations (voir photo ci dessous)

Point.jpg


Sur l'image, on retrouve bien les 100 scannes, 5 demi-alternances positifs de 10 points, de même pour le coté négatif, ce qui nous fait les 100 scannes( ce qui était prévu dans le programme)

ça voudrait dire que les temps enregistré avec le timer 1 ne serait pas correcte....( je ne mets pas en cause le timer 1, mais surement autre chose)

J'ai été voir sur le lien que tu mets dans ton post, qui est très intéressant, :roll: c'est bien de lui montré qu'il existe ASM pour plus de rapidité :lol:

Merci ! paulfjujo pour ton investissement.

==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Écran OLED 0.96 128x64
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#35 Message par satinas » sam. 29 févr. 2020 00:48

Bonsoir, beau travail, Temps-x :-)
Je verrais bien le même avec un lcd couleur, il y aurait juste à remplacer la partie du loiciel qui gère l'affichage.

Écran OLED 0.96 128x64
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2585
Enregistré en : juillet 2016
Localisation : Terre

#36 Message par Temps-x » sam. 29 févr. 2020 01:02

Bonsoir satinas,

C'est prévu par la suite, et avec surement un circuit spécialisé pour conversion ADC (plus rapide)

Ou j'en suis actuellement : stabilisation de l'image fréquence, quasiment parfaite (déclenchement par front montant de la fréquence), écriture sans effacer les autres pixels, programme pour PC déjà écrit, et Bluetooth quasi fonctionnelle.

Voici le soft qui sera à améliorer par la suite, :lol: (en open source)

Osc-29-02-2020.jpg


Il me reste juste à joindre les points entre eux sur l'écran OLED 128x64 en ASM

Cela demande des notions de mathématique qui sont vraiment à ma limite, mais vraiment pas simple, ça risque de me prendre un temps énorme. :cry:


==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Écran OLED 0.96 128x64
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2585
Enregistré en : juillet 2016
Localisation : Terre

#37 Message par Temps-x » mar. 31 mars 2020 22:24

Bonsoir tout le forum,

Grâce à l’algorithme de Bresenham, j'ai pu rejoindre les points entre eux, ça n'a pas était facile en version ASM , car il y a beaucoup de nombre négatif.

J'ai prévu des options supplémentaires pour cette conception, mais je vous en reparlerais quand j'aurais fini l’étude de la mise en boitier

Je viens de faire une vidéo pour que vous voyez la différence une fois les points réunis, la vidéo est disponible en fin du post #1

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

Écran OLED 0.96 128x64
osf31
Membre
Membre
Messages : 2
Enregistré en : avril 2020

#38 Message par osf31 » dim. 26 avr. 2020 21:45

Bonjour,

Bravo très beau travail Temps X! :bravo:

osf31

Écran OLED 0.96 128x64
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2585
Enregistré en : juillet 2016
Localisation : Terre

#39 Message par Temps-x » lun. 27 avr. 2020 01:31

Bonsoir osf31, et tout le forum,

Merci ! mais j'ai encore pas mal de chose à faire dessus, là c'est plus de la programmation mais de l'électronique pour protéger l'entrée, sans déformé
le signal à analyser.

Pour l'instant j'ai mi de coté parce que je suis sur autre chose, mais je vais y revenir d'ici peu.

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

Écran OLED 0.96 128x64
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2585
Enregistré en : juillet 2016
Localisation : Terre

#40 Message par Temps-x » sam. 1 août 2020 22:45

Bonsoir,

Voici un Vu-mètre pour écran OLED 128x64 voir la dernière vidéo du post #1

Vu-mètre.jpg



==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités