Forum Électro-Bidouilleur

Sections => Vos projets et Montages d'Électronique => Discussion démarrée par: Arckont le février 21, 2018, 02:21:27 pm

Titre: Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le février 21, 2018, 02:21:27 pm
Bonjour à tous et toutes.

Je suis très nouveau dans le domaine de l'électronique. je débute à peine et n'ai aucune réelle base. j'ai une compréhension très limitée de l'ensemble et souhaite pogresser.
En ce sens j'aimerais mettre au point un projet qui serait à la fois ludique et intéressant en concevant un tableau qui serait présent dans mon bureau et me permettant d'observer certaines données environnementales, telles que la pression atmosphérique, la qualité de l'air, la température , humidité, et même le taux de radiation.

j'aimerais concevoir un tel projet avec l'aide de personnes motivées à aider quelqu'un à qui il faudra tenir la main de A à Z... et je sais que c'est pas facile! :)

Est-ce que des Bidouilleurs dans le coin veulent participer à un tel projet?
J'ai songé mettre en place un petit salon Discord afin de pouvoir discuter en temps réel et pouvoir faire avancer le projet en mettant le forum à jour régulièrement sur son avancée...
en démarrant des bases jusqu'à l'évolution, les révisions du projet et sa réalisation...

Merci à tous et à bientôt! :)
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mars 04, 2018, 07:55:21 pm
Bonjour bidouilleurs, bidouilleuses,

1) Il faut faire un organigramme.

2) Choisir les capteurs que tu vas utiliser.

3) émetteur, récepteur des données reçu sur ton tableau ou PC.

4) Obligé de prendre un microcontrôleur pour réduire la taille.

T'aider moi je veux bien, mais il faut pas que ça soit juste une envie, et puis tous lâché par la suite.

Commence par faire un organigramme par écrit, en précisant exactement ce que tu veux. ;)

  A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le mars 12, 2018, 08:26:55 am
Bonjour Bonjour!

Alors, concernant ce projet, je suis totalement novice et donc justement je ne sait pas ce qui est nécessaire pour mener à bien un projet :)

donc du coup...
pour créer l'organigramme, existe-t-il des outils afin de structurer ça et faire quelque chose de propre?

Pour les capteurs, j'ai une bonne idée du contenu que je souhaite , mais je ne sais pas si tout est exploitable...
pour le display, encore une fois ne sachant pas trop ce qui est possible de faire, j'ai une idée globale mais non précise, faute de connaissances...

pour le microcontrôleur, on peut probablement partir sur un arduino couplé à un raspberry pour gérer le display et l'interactivité je présume ?

Par Organigramme, qu'entends-tu ?
un schéma général du "scope" du projet, avec une esquisse du résultat souhaité (contenu et utilisation?)

Merci pour ta réponse :)
a bientôt!
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mars 13, 2018, 12:59:09 am
Bonjour bidouilleurs, bidouilleuses,

Pas besoin d'outil pour créer un organigramme, un simple éditeur de texte suffit.

Ce que je voudrais savoir c'est ce que tu veux exactement, donc l'écrire un peu comme cela :

1 ) Contrôle de température
2 ) Contrôle d'humidité 
3 ) Pression atmosphérique
4 ) Qualité de l'air
5 ) Taux de radiation
6 ) Vitesse du vent
7 ) Intensité de la lumière à une heure précise
8 ) Quantité d'eau tombé

Comme tu vois plein de chose, il faut déjà savoir ce que tu veux faire exactement.

Citer
Pour le microcontrôleur, on peut probablement partir sur un arduino

Personnellement je programme les microcontrôleurs Microchip (PIC), je connais pas le monde Arduino
Maintenant si tu veux partir sur Arduino je suis pas contre, mais je serais comme toi novice.

Quand tu auras décidé exactement ce que tu veux faire, on choisira les capteurs appropriés.

 A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le mars 14, 2018, 09:31:35 am
Bonjour!

Alors c'est plutôt simple à définir:

--Contrôle de température,
--Contrôle de l'humidité
--Contrôle de la qualité de l'air (différents gaz)
--Pression atmosphérique
--Quantité radiations

Input de probes distantes par RF depuis d'autres emplacements de la maison (BONUS :) )

un écran de display (contrôlé à distance, j'ai songé à un display posé sur un raspberry par exemple, contrôlable depuis mon ordinateur en page web ou ssh, mais je suis ouvert aux propositions! :D)

je ne suis pas nonplus fixé à un Arduino, je suis totalement ouvert.

mon objectif est d'apprendre les concepts de base dans un projet pratique qui sera à la fois utile et qui m'apprendra l'ensemble depuis le début.
j'ai fait une commande pour du matériel et j'ai commencé à en recevoir, je devrais avoir un choix suffisant de pièces de base, il me faudra juste trouver les modules de capteurs et puis surtout... Apprendre! :)

A bientôt!
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mars 15, 2018, 07:00:28 pm
Bonjour bidouilleurs, bidouilleuses,

Ben voilà un bon organigramme, on va pouvoir travailler dessus.

--Contrôle de température et contrôle de l'humidité
https://www.ebay.fr/itm/DHT11-Module-de-capteur-de-temperature-et-dhumidite-relative-pour-Arduino/273008563890?hash=item3f909416b2:g:OCEAAOSwmOJZ6sOw (https://www.ebay.fr/itm/DHT11-Module-de-capteur-de-temperature-et-dhumidite-relative-pour-Arduino/273008563890?hash=item3f909416b2:g:OCEAAOSwmOJZ6sOw)

--Contrôle de la qualité de l'air (différents gaz)
https://www.ebay.fr/itm/Arduino-MQ-135-Air-Quality-Sensor/273070803312?hash=item3f9449c970:g:XFwAAOSwSwVaYjLV (https://www.ebay.fr/itm/Arduino-MQ-135-Air-Quality-Sensor/273070803312?hash=item3f9449c970:g:XFwAAOSwSwVaYjLV)

--Pression atmosphérique
https://www.ebay.fr/itm/Module-Arduino-de-capteur-de-pression-atmospherique-BMP280/162783109151?hash=item25e6a1201f:g:cZkAAOSwH2VaIPxo

--Quantité radiations
Pour les radiations, je te propose de lire ceci : http://www.pascalchour.fr/ressources/cgm/cgm.html (http://www.pascalchour.fr/ressources/cgm/cgm.html)


Quelque questions pour voir ou tu en aies dans le monde de l'électronique, car apprendre commence par ça

Quelle est l'unité de mesure de la résistance ?
Quelle est l'unité de mesure de puissance électrique ?
Quelle est l'unité de mesure du condensateur ?
Quelle est l'unité de mesure de la fréquence ?
Quelle est l'unité de mesure de la self ?

Quelle différence entre courant alternatif et courant continu ?
Quelle différence entre intensité, et tension ?

Quelle différence entre décimal, hexadécimal, binaire ?

Je sais, c'est tous bête, mais c'est important de bien saisir ça au départ.

Citer
écrit par Arckont

et puis surtout... Apprendre! :)

Apprendre n'est pas facile, mais à la fin on y gagne un chalenge qui est le savoir.  ;)

  A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le mars 16, 2018, 08:33:49 am
Bonjour, bonjour!

Concernant les capteurs, j'avais en tête à peu près les mêmes, je farfouillais chez Adafruit également...
pour le tube à radiations je sait qu'il existe des projets existants pour un "compteur geiger" maison, et l'idée aurait été de l'incorporer dans le projet, globalement...
ça fournit une mesure mais plutôt que d'avoir un display, je voudrais avoir une donnée exploitable dans le système.

Concernant les questions, je n'en suis qu'aux débuts, donc je vois , selon la lecture et les vidéos que j'ai consulté(e)s quels signes et valeurs sont utilisées mais ça reste abstrait encore pour moi...

mais je vais tenter de répondre au mieux, sans google, de tête.

Quelle est l'unité de mesure de la résistance ?  les Ohm (Ω)
Quelle est l'unité de mesure de puissance électrique ? est-ce qu'il s'agit des ampères?
Quelle est l'unité de mesure du condensateur ? un condensateur est chiffré en Farad µf,millifarad etc... je crois.
Quelle est l'unité de mesure de la fréquence ? Hz (?) ou Volts?
Quelle est l'unité de mesure de la self ? là aucune idée, je ne sait même pas quel est l'usage précis d'une self...

Quelle différence entre courant alternatif et courant continu ? continu est une tension ininterrompue, alternatif sont des impulsions
Quelle différence entre intensité, et tension ? j'ai du mal à répondre à cette question... je sait que le "jus" (en Watt) est une combinaison des deux, mais, intensité serait pour moi l'ampérage, et la tension la fréquence du courant ? (genre 220V)

Quelle différence entre décimal, hexadécimal, binaire ?
là c'est plus facile :p
décimal , chiffres classiques qu'on utilise dans la vie de tous les jours en chiffres arabes, hexadécimal, est un système à 16 valeurs (de 0 à F) le binaire est un language plutôt machine basé d'impulsions 1 et 0, le 1 étant un signal et le 0 un "trou" , et les messages peuvent être lus sur base de bits, et selon la longueur du message on peut constituer un caractère en additionnant les valeurs.

je suis tout à fait d'accord, apprendre est plutôt difficile, car on sort de sa zone de confort, mais chaque chose apprise est une arme de plus pour comprendre le monde qui nous entoure...

Merci pour tes réponses, Curiosus, et à bientôt!
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le mars 16, 2018, 09:41:35 am
Je viens de voir sur Humble Bundle un package de livres sur le sujet...
https://www.humblebundle.com/books/diy-electronics-books

je viens de l'acheter, et si ça peut intéresser d'autres gens, je pense que ça vaut les 15$...
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mars 17, 2018, 08:51:37 pm
Bonjour bidouilleurs, bidouilleuses,


Pas besoin de tube pour la radiation, il existe une diode BPW34 à moins de 1 euro.

Voici un montage réalisé avec la diode BPW34 :http://home.earthlink.net/~bat-detector/Loggers/RadMon.html (http://home.earthlink.net/~bat-detector/Loggers/RadMon.html)

Tu peux en trouver 5 pour 2,37 euros : https://www.ebay.fr/itm/5Pcs-Bpw34-Bpw34s-Infrarouge-A-Puces-Photodiode-Vitesse-Haute-Sensibilite-Di-J/262871644797?hash=item3d345efa7d:g:qdQAAOSwcLxYHZgk (https://www.ebay.fr/itm/5Pcs-Bpw34-Bpw34s-Infrarouge-A-Puces-Photodiode-Vitesse-Haute-Sensibilite-Di-J/262871644797?hash=item3d345efa7d:g:qdQAAOSwcLxYHZgk)

Tu veux dire quoi quand tu dis exploitable dans le système ?

C'est bien de ne pas avoir utilisé Google pour répondre.


Quelle est l'unité de mesure de la résistance ?  -- oui

Quelle est l'unité de mesure de puissance électrique ?  -- le watt

Quelle est l'unité de mesure du condensateur ? -- oui

Quelle est l'unité de mesure de la fréquence ?  -- hertz

Quelle est l'unité de mesure de la self ?

La self : qui s'exprime en henry, millihenry, microhenry

Elle peu opposer en fonction de sa valeur une résistance plus au moins élevé à certaine fréquence.(filtre)

Elle peut être utilisé pour créer une résonance électrique. (principe du récepteur radio) 

Quelle différence entre courant alternatif et courant continu ? -- oui

Quelle différence entre intensité, et tension ?

La tension : qui s'exprime en volt, millivolt, microvolt 

c'est une différence de potentiel entre un point et un autre, plus la différence est grande, plus grande seras la tension.

Je dirais que sais une inégalité, et la nature n'aime pas ça.

l'intensité : qui s'exprime en Ampère, milliampère, microampère

Pour faire simple, je dirais que c'est une quantité électrique, plus la quantité est importante plus l'intensité
seras forte.

Quelle différence entre décimal, hexadécimal, binaire ? -- oui

Bon, je me rends compte que tu confonds , hertz, volt, watts, on va y revenir dans les montages.

Coté microcontrôleur tu peux prendre Arduino, mais tu n'apprendras pas grand chose.
tu vas utiliser les bibliothèques, sans savoir ce que tu fais.

Si tu veux vraiment apprendre, prends plutôt les microcontrôleur Pic.

A savoir Arduino est un environnement qui ne dépends pas du microcontrôleur, un Arduino peut être
fait avec n'importe quelle type de microcontrôleur.

Généralement Arduino utilise Atmega pour faire leurs platine électronique qui n'est qu'un processeur
de la société Microchip, ceux qui fabrique le microcontrôleur Pic.

Pour commencer il faudrait acheté une ceci : https://www.ebay.fr/itm/MB-102-Solderless-Breadboard-Protoboard-830-Tie-Points-2-buses-Test-Circuit-New/263168347829?hash=item3d460e4eb5:m:mHR8aXJCLf5tUbtmMpJhIEQ

A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le mars 21, 2018, 06:16:41 pm
Bonjour bonjour!

j'ai passé commande pour les capteurs, et j'ai pris deux kit complet avec le proto board, l'alim et les câbles dans le lien ebay que tu m'a donné.

ça devrait arriver aux alentours du 10  avril.

désolé du délai de réponse j'ai été un peu débordé et très malade donc... j'ai un poil perdu le fil.

je confonds effectivement plein de choses... j'ai besoin d'apprendre... énormément.
j'ai reçu mes premières livraison de matériel de base...
resistances, condensateurs, mosfet etc...

j'ai en stock:

Transistors:
    2N2222: NPN / 40V / 600mA
    2N3904: NPN / 40V / 200mA
    2N3906: PNP / 40V / 200mA
    2N5401: PNP / 150V / 600mA
    2N5551: NPN / 160V / 600mA
    A1015: PNP/ 50V / 150mA
    C1815: NPN/ 50V / 150mA
    C945: NPN / 50V / 150mA
    S8050: NPN / 40V / 500mA
    S8550: PNP/ 40V / 500mA
    S9012: PNP/ 40V / 500mA
    S9013: PNP/ 40V / 500mA
    S9014: NPN/ 50V / 100mA
    S9015: PNP / 50V / 1000mA
    S9018: NPN / 50V / 50mA
A1015, A733, C945, C1815, S8050, S8550, S9012, S9013, S9014, S9015, S9018, SS8050, SS8550, 2N2222, 2N3904, 2N3906, 2N5401, 2N5551
TL431A, SS8050D, SS8050D, MPSA42, 2SC945, 2N5551, 2N3904,

Mosfet:
IXGR40N60C2D1, 7805, 7905, LM317, 7909, 7806, 7906, 7809, 7812, IRFZ48N, L7805CV, L7824CV, IRF4905PBF

Condensateurs:
10uF 25V Tantalum, 63V 104 / 0.1uF Thin Film CBB,
aluminium:
35V 4700uF
47uF 16V
100uF 16V
220uF 16V
470uF 16V
1000uF 16V
10uF 25V
47uF 25V
100uF 25V
220uF 25V
330uF 25V
470uF 25V
1000uF 25V
2200uF 25V
1uF 50V
3.3uF 50V
4.7uF 50V
6.8uF 50V
10uF 50V
33uF 50V
47uF 50V
100uF 50V
220uF 50V
330uF 50V
470uF 50V
1000uF 50V
50V0.1UF, 50V0.22UF, 50V0.47UF, 50V1UF, 50V2.2UF, 50V3.3UF, 50V4.7UF, 25V10UF, 25V22UF, 16V33UF, 16V47UF, 25V47UF, 25V100UF, 16V100UF, 10V220UF
en céramique:
6PF, 10PF, 15PF, 20PF, 22PF, 30PF, 33PF, 75PF, 68PF, 82PF, 101PF, 151PF, 201PF, 221PF, 331PF, 471PF, 102PF, 222PF, 332PF, 472PF, 562PF, 682PF, 223PF, 333PF, 473PF, 104PF
10pF/20pF/30pF/47pF/56pF/68pF/100pF/1nF/10nF/100nF
3KV102,3KV222,3KV472,3KV103,3KV101,
3KV221,1KV222,1KV103,1KV223,2KV471,
2KV561,2KV681,2KV102,2KV152,2KV332
1pf~100nf

résistances:
0.1Ω, 0.22Ω, 0.33Ω, 0.5Ω, 0.68Ω, 0.82Ω
1/4W 1Ω~1MΩ
1, 1.2, 1.5, 2, 2.2, 2.7, 3, 3.3, 3.9, 4.7, 5.1, 5.6, 6.8, 7.5, 8.2, 9.1
10, 12, 15, 20, 22, 27, 30, 33, 39, 47, 51, 56, 68, 75, 82, 91
100, 120, 150, 200, 220, 270, 300, 330, 390, 470, 510, 560, 680, 750, 820, 910
1K, 1.2K, 1.5K, 2K, 2.2K, 2.7K, 3K, 3.3K, 3.9K, 4.7K, 5.1K, 5.6K, 6.8K, 7.5K, 8.2K, 9.1K
10K, 12K, 15K, 20K, 22K, 27K, 30K, 33K, 39K, 47K, 51K, 56K, 68K, 75K, 82K, 91K
100K, 120K, 150K, 200K, 220K, 270K, 300K, 330K, 390K, 470K, 510K, 560K, 680K, 750K, 820K, 910K,1M 
1 ohm ~ 3M ohm

potentiomètres:
RM065, 3296W

diodes:
1W Zener Diodes, IN4007 Rectifier Diode

il y a potentiellement beaucoup de doublons mais j'ai mis en vrac... je suppose qu'avec l'habitude on reconnait aux références de quelles pièces on parle?
j'ai ratissé large mais j'attends encore du matériel et je dois en commander d'avantage à l'avenir...

est-ce qu'il y a des composants qu'on utilise en plus grande quantité, ou des choses cruciales qui me manquent?
le temps que les proto board arrivent j'ai le temps de regarder à ça... :)

j'ai aussi quelques plaquettes de PCB de formes et tailles variées.
j'ai aussi un oscilloscope (ok c'est un DS0138 mais c'est mieux que rien) , un générateur de signal de même genre, et un appareil pour tester les résistances et les condo.

je suis intéressé par le principe de me passer d'arduino. je préfèrerais apprendre à faire ça moi-même, je comprendrai alors comme ça fonctionne :)

Merci de passer du temps pour apprendre à un boulet en puissance tel que moi, c'est vraiment super!
A très bientôt!
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mars 23, 2018, 09:53:10 pm
Bonjour bidouilleurs, bidouilleuses,

Pour le délai de réponse, c'est pas important, je suis comme toi, je réponds quand je peux.
 
De toute façon si tu te mets dans l'électronique, le matériel que tu as ne seras pas perdu

Ok , mais tu dois avoir un appareille indispensable qui est le multimètre numérique.

as tu un  multimètre numérique ?

C'est bien d'avoir fait une liste, même si c'est en vrac, c'est pas grave.   

Le plus utilisé dans l'électronique des microcontrôleurs sont

Pour résistances : de 10 kiloohms , 1000 ohms, 470 ohms.

Pour les condensateurs : 1 microfarad, 100 nanofarad, 10 nanofarad, 22 picofarad

Pour les quartz : 4 mégahertz, 8 mégahertz, 16 mégahertz, 20 mégahertz

Il faut aussi des boutons poussoir
https://www.ebay.fr/itm/100X6x6x4-5mm-4-Broches-DIP-Interrupteur-a-bouton-poussoir-tactile-de-PCB-Y8B3/282708922492?hash=item41d2c3d07c:g:PtoAAOSwB4BZ8eaZ

Des led
https://www.ebay.fr/itm/Lampe-A-Ampoule-100Pcs-Blanc-Vert-Rouge-Bleu-Jaune-3Mm-Diode-Electroluminescen-J/252601050748?_trkparms=aid%3D222007%26algo%3DSIM.MBE%26ao%3D2%26asc%3D20161027085944%26meid%3Dfccf171dba8249f5ad3dada026dddf00%26pid%3D100623%26rk%3D2%26rkt%3D6%26mehot%3Dag%26sd%3D162787410056%26itm%3D252601050748&_trksid=p2047675.c100623.m-1

Est le plus important le microcontrôleur, voilà celui que j'ai choisi pour toi
https://www.ebay.com/itm/1PCS-MCU-IC-MICROCHIP-DIP-40-PIC16F887-I-P-PIC16F887/401500435586?epid=732007785&hash=item5d7b4a7482:g:EJoAAOSwc-tY5gob

Il faudra aussi un Pickit3 pour le programmer ton microcontroleur
https://www.ebay.com/itm/PICKit-3-PICKit3-Programmer-PIC-Kit3-PIC-Simulator-Emulator-With-USB-Cable/263021099329?epid=940748454&hash=item3d3d477941:g:y~gAAOSwJH1ZNUUt

Si tu as un petit oscilloscope c'est très bien, pour l'instant ce qu'on veut c'est apprendre, donc pas besoin
de gros moyen.

Comme on attends du matériel, un petit exercice qui doit être fait sans tricher !!

Trouve la valeur binaire des nombres décimaux ci dessous ?

37       
105     
205     
1029   
65231 

Trouve la valeur décimal, des nombres binaire ci dessous ?

10001110
11011110
10001111
1110111101000110
1110111101100111

si tu sais pas, tu me le dit et je t'expliquerais.

Arrête d'avoir des préjugés, si tu veux apprendre c'est que tu es intelligent, l'être humain et fait pour
cela ;)

A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le mars 24, 2018, 03:38:21 pm
bonjour Bonjour,

le multimètre est en chemin :) bon c'est pas un truc haut de gamme j'espère qu'il sera acceptable pour un début.
j'ai regardé et j'ai pas mal de matériel à part les quartz... je dois commander ce genre de choses mais... ça représente pas mal de sous et je dois faire une petite pause de dépenses pour l'instant :) ça viendra dans les mois à venir, ça me laisse le temps de comprendre et apprendre!

j'ai commandé les boutons, les leds, 3 microcontroleurs de la référence indiquée et le kit pickit3

pour les exercices, je me suis remémoré mes cours qui remontent à longtemps, looongtemps...
j'ai donc sorti une vieille calculatrice, du papier et un crayon couvert de poussière
donc en reconstituant la table depuis le binaire, j'ai constitué:

37 : 00100101
105: 01101001
205: 111001101
1029: 0000010000000101
65231: 1111111011001111

10001110             : 144
11011110             : 222
10001111             : 143
1110111101000110: 61254
1110111101100111: 61287
en espérant ne pas m'être trompé, avec tous ces chiffres je ne suis pas à l'abri d'une boulette...

j'ai avancé sur la préparation de mon poste pour souder:
https://cdn.discordapp.com/attachments/293731366976356352/427128559015034892/20180324_163513.jpg

voilà voilà.
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mars 25, 2018, 12:55:59 am
Bonjour bidouilleurs, bidouilleuses,

Pas besoin d'avoir un multimètre de professionnelle pour commencer, du moment qu'il fasse

Tension continu
Tension alternative

Ampérage continu
Ampérage alternative

Ohmmètre.

Pour les quartz tu peux attendre, car pour l'instant tu en auras pas besoin, car le pic que j'ai choisi n'a pas
besoin de quartz pour fonctionner.

On utilise le quartz quand on veux de la précision dans un montage. ;)

C'est bien d'avoir commandé 3 microcontrôleurs, car comme tu es débutant tu peux faire une
fausse manœuvre.
   
Ok, je vois que tu sais ce que sait une table binaire, c'est important de le savoir.

-------------------------------------------------------------------
32768|16384|8192|4096|2048|1024|512|256|128|64|32|16|8|4|2|1|
-------------------------------------------------------------------

37 : 00100101                     Ok
105: 01101001                    OK 
205: 111001101                   Erreur, tu as écrit en binaire 461, c'est 11001101 
1029: 0000010000000101      OK
65231: 1111111011001111    OK

10001110             : 144      Erreur, tu as écrit 144, c'est 142
11011110             : 222      OK
10001111             : 143      OK
1110111101000110: 61254   OK
1110111101100111: 61287   OK

Je dirais que tu sais très bien le faire, et surtout que tu as compris comment on se sert d'un telle
tableau  :)

Les erreurs que tu as fait, je dirais que c'est des erreurs d'étourderie, bon je vais te parler de ton
microcontrôleur PIC16F887.

Déjà tu téléchargeras son datasheet ici   

https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwik_eT6nIbaAhUIDuwKHUGcDgcQFggnMAA&url=http%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2FDeviceDoc%2F41291D.pdf&usg=AOvVaw1zU4xab7N3Vr8i2QMiaK2L (https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwik_eT6nIbaAhUIDuwKHUGcDgcQFggnMAA&url=http%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2FDeviceDoc%2F41291D.pdf&usg=AOvVaw1zU4xab7N3Vr8i2QMiaK2L)

C'est un microcontrôleur 8 bits, ont peut configurer 35 pattes, soit en entrée, soit en sortie.

Il peut fonctionner sous une tension mini de 2.0V et maxi 5.5V

Puissance à ne pas dépasser 800 mW, chaque PORT ne peu dépasser  200 mA

Les sorties te permette d'envoyer une tension de 5 volts quand celui-ci est alimenté en 5 volts, sous  un
maximum de 25 mA par patte.

Les entrées te permette de recevoir une tension, qui est limité à la tension d'alimentation de ton Pic

Tu va me colorier chaque ports existant, d'une couleur différente, comme pour l'exemple ci-dessous

(https://zupimages.net/up/18/12/yz3m.jpg)

écrit moi tout les port en les groupant comme pour l'exemple ci-dessous

RE0, RE1, RE2, RE3

Ici j'ai cité tous le PORTE

Je vais avancer très doucement, pour que tu comprennes bien.

A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le mars 26, 2018, 08:15:16 am
Bonjour!

voici le schéma avec les pattes colorées:

(https://cdn.discordapp.com/attachments/293731366976356352/427740554529341440/Untitled.png)

en espérant avoir bien compris l'exercice :)

en gros on a 5 groupes de ports
RA RB RC RD RE


concernant les traductions binaires, effectivement j'étais un peu dans le gaz, je suis sous médication assez lourde et j'ai beaucoup de mal à me concentrer pour le moment.


j'ai reçu mon flux et d'autres parties de matériel, j'attends de recevoir les pièces pour alimenter mon testeur de résistances et pouvoir les trier :)


est-ce qu'il existe un moyen facile de trier des résistances? j'ai reçu environ 5000 pièces en vrac, par languette de 20... j'ai un petit testeur de résistances mais je ne sait pas si c'est super fiable...
https://www.amazon.fr/gp/product/B01HCU8UNO/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1

je suis prêt pour la suite :)

Merci encore et à bientôt!
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mars 28, 2018, 12:20:40 am
Bonjour bidouilleurs, bidouilleuses,


Citer
Est-ce qu'il existe un moyen facile de trier des résistances ?

La première solution consiste à apprendre les couleurs, comme je l'ai fait.

Citer

Noir = 0
Marron = 1
Rouge = 2
Orange = 3
Jaune = 4
Vert = 5
Bleu = 6
Violet = 7
Gris = 8
Blanc = 9


Sinon tu regardes sur ce site, ou tous est expliqué, si tu comprends pas dis le moi. 

https://translate.google.com/translate?hl=fr&sl=auto&tl=fr&u=https%3A%2F%2Fwww.inventable.eu%2F2015%2F06%2F04%2Fcomo-se-leen-los-colores-de-las-resistencias%2F&sandbox=1 (https://translate.google.com/translate?hl=fr&sl=auto&tl=fr&u=https%3A%2F%2Fwww.inventable.eu%2F2015%2F06%2F04%2Fcomo-se-leen-los-colores-de-las-resistencias%2F&sandbox=1)

Bon pour l'exercice c'est très bien pour la colorisation des pattes par PORT, mais pour le deuxième exercices
c'est pas ce que je te demande, regarde l'exemple, pour cette réponse je te laisse réfléchir, j'ai mes raisons.

Très bien, il y a effectivement 5 PORT Qui sont PORTA, PORTB, PORTC, PORTD, PORTE pour ce Pic là.

Il y a bien d'autre chose à savoir sur ce microcontrôleur mais  pour l'instant on va se limiter aux entrées et sorties.

Quand tu sauras parfaitement manipuler les entrées et sorties, on passeras à autre chose.

Bon ça va se corser, tu ouvres le datasheet que tu dois avoir téléchargé suite à notre conversation du poste N°#12
tu vas à la page 25, si tu as une imprimante tu imprimes cette page, qui va nous servir tout le temps.

Maintenant je vais te présenter les registres du Pic16F887 qui sont en 8 bits.

Chaque registre on une fonction, et chaque bit d'un registre permette de configurer ton microcontrôleur.

Les registre sont placés par bank, alors je demande de bien regardé ta page 25, et je te demande que tu me dises

Combien le Pic16F887 comporte t' il de bank ?   

Combien le Pic16F887 à t' il de registres ?

Tous et marqué dans la page 25, ne va pas chercher ailleurs

Le meilleur moyen d'apprendre, c'est trouvé pas soit même. ;)

A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le mars 28, 2018, 09:58:03 am
Bonjour!

Alors, pour les résistances, ça va me permettre de les trier c'est déjà pas mal, mais j'ai du mal à voir tout ça avec mes petits yeux fatigués. Heureusement mon épouse est patiente... :p

Pour l'exercice avec les ports, j'avoue que je ne vois pas trop ou est la question, et en quoi consiste l'exercice...
je pensait qu'il fallait identifier les "groupes" de pattes, mais à priori quelque chose m'échappe.
Je vois bien les pattes dédiées au IN et au Out, et d'autres références que je ne comprends pas encore mais globalement... je suis un peu perdu là :)

Pour tes questions concernant la documentation technique du PIC, je vois 4 Bank , la Bank0, Bank1, Bank 2 et Bank 3 .
Pour les registres si j'ai bien compris, il y en a :
Bank 0 : 31
Bank 1 : 32
Bank 2 : 16
Bank 3 : 14

et je constate aussi la présence de champs vides, qui doivent être la mémoire morte utilisable pour stocker des data à consulter ou interpréter ensuite ?

J'ai à mon tour une petite question... Bertrand explique dans une de ses vidéos que les Pic 16 sont en déchéance, et il préfère les Pic 18 qui offrent plus de possibilités.
Du coup... Qu'est-ce qui justifie l'emploi du pic 16 ? une question de coût, ou de facilité pour l'apprentissage ? ou simplement par habitude ? Bref, dis-moi ce que tu pense de ça?

Merci et bonne journée!
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mars 28, 2018, 07:14:40 pm
Bonjour bidouilleurs, bidouilleuses,

Sinon pour les résistances, attends d'avoir ton multimètre, tu les contrôleras avec, généralement c'est
très fiable.

Pour répondre à ta question sur le lien https://www.amazon.fr/gp/product/B01HCU8UNO/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1

J'aime pas ce type d'appareil, qui fait tous et rien.

Comme tu as fait l'effort d'essayer de comprendre,  je te donne la solution.

RA0, RA1, RA2, RA3, RA4, RA5, RA6, RA7

RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7

RC0, RC1, RC2, RC3, RC4, RC5, RC6, RC7

RD0, RD1, RD2, RD3, RD4, RD5, RD6, RD7

RE0, RE1, RE2, RE3

Pourquoi j'ai voulu t'embêter sur cette question, tout simplement parce que tu vas les retrouver en programmation
assembleur, se sont les numéros de tes pattes qui s'appelle comme ça.

Et le seule moyen de les retenir, c'est de marquer le coup. ;)

On va passé pas mal de temps à étudier cette page, pour que tu puisses bien démarrer par la suite.

Bravo, oui effectivement il y 4 bank, si tu as compris ça on va pouvoir avancé

Les registres sont classés par bank, apparemment on dirais que le constructeur les as classé aléatoirement. ::)

Pour la bank0 effectivement il y a 31 registres

Pour la bank1 tu t'es trompè
Pour la bank2 tu t'es trompè   
Pour la bank3 tu t'es trompè

Essai de trouvé le nombre de registre pour les autres(bank1, bank2, bank3) je suis sur que tu le peux


Encore une fois bravo, et chapeau d'avoir deviner ça, je suis surpris ;)

Effectivement le pic à une mémoire quand appelle SDRAM, pour échanger les données.
Elle et très rapide, c'est un avantage, mais une fois l'alimentation coupé tous est perdu.

C'est pour cela qu'il existe dans le Pic une EEPROM de 256 octets ou l'on peu stocker
des données, mais elle est très lente.

On peu aussi stocker les données dans le programme que tu écris.

Enfin on y reviendras

Citer
J'ai à mon tour une petite question... Bertrand explique dans une de ses vidéos que les Pic 16 sont en déchéance, et il préfère les Pic 18 qui offrent plus de possibilités.

Comme il le dit il préfère, on réalité Microchip qui est le fabricant du microcontrôleur
Fait des 16F, et des 18F, on trouve dans des 16F des caractéristiques aussi évolué que les 18F avec
le même type de langage de programmation.

C'est juste une question de référence, car Microchip continu à fabriquer des nouvelles version de 16F évoluer.

Mais en général les 18F sont un peu plus évolué et moins chère, mais c'est juste parce que Microchip
le veux bien.

Pour ton Pic16F887, Il est assez vieux, mais très bien pour apprendre et faire tous ce que tu veux.

Essai de refaire l’exercice sur le nombre de registre.

Et d'après toi, quelle taille fait la SDRAM, attention les unités sont exprimé en hexadécimal
toujours en page 25.
 

A+

Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le avril 03, 2018, 09:22:16 am
Bonjour!

à mon retour de vacances j'ai attaqué les questions.
pour les registres je pense avoir pris le "Accesses" des 3 banques (1 2 et 3) pour des registres mais a priori ce n'est pas des registres...
donc du coup...
Bank1 31 registres
bank2 15 registres
bank3 13 registres

j'espère que c'est bien ça et si c'est pas le cas j'ai encore du travail pour comprendre la structure du tableau. le contenu ça va, je parviens à bien visualiser les champs d'adressages, un peu comme des variables en scripting/programmation pour définir qu'on pose une valeur dans un champ en spécifiant sa position, type 111h = xxx

et donc pour la SDRAM

je vois donc des champs séparés, je ne sait pas si c'est pertinent, mais:

bank 0 : 96 bytes de "general purpose registers" mais du coup j'en ai pas compris l'usage encore, c'est pas une sdram à mon idée mais doit être utilisable en la programmant en y implantant une fonction par ex?

bref
bank 1, je dirais une sdram de 24 bytes et aussi un "general purpose registers" comme la bank0

bank 2 : 128bytes + 56bytes
bank 3 : 128bytes + 56bytes

du coup vu que c'est écrit en hexa, c'est 8 bytes par champ si je ne m'abuse?


pour le pic18 / pic16
je comprends. la question était juste due au fait que j'aime essayer de comprendre pourquoi on choisis un tel ou tel matériel et savoir ou je vais et pourquoi.
entretemps j'ai fait des petits labos pour apprendre comment se comportent certains composants, genre résistance et condensateurs et aussi quelles différentes technologies existent et ce qui les différencie. j'ai un peu peur d'avoir acheté de la qualité un peu trop faible mais dans un premier temps pour apprendre ça devrait aller.

Merci et bonne journée! ;)
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le avril 04, 2018, 07:59:53 pm
Bonjour bidouilleurs, bidouilleuses,

J'espère que tu as prie des forces pendant tes vacances, et surtout un bon repos. ;)

Bon pour les registres :

Bank1 31 registres -- ok
Bank2 15 registres -- ok
Bank3 13 registres -- ok

Ouais tu avait prie "Accesses" qui n'a rien à voir avec tout cela.

Comme je veux pas t’embrouiller, je t'en reparlerais plus tard, au moment de la programmation. 

Voici tous tes registres, comme tu l'auras compris, c'est ceux qui ne son pas colorié

(https://zupimages.net/up/18/14/jsam.png)


En page 2 de ton datasheet tu peux voir ceci :

Taille maxi que peux avoir ton programme 8192 octets
Taille de ta Sdram 368 octets
Taille de ton eeprom 256 octets

Nombre de sorti ou entrée I/O 35

La Sdram c'est comme pour les registres, elle est divisé en 4 bank

Comme tous est écrit en anglais tu es excusable, ne t’inquiète pas je suis comme toi, je comprends pas l'anglais.

J'arrive juste à deviner par habitude, avec mon maigres cerveau.

Aller je te donne la solution pour la Sdram car c'est pas simple,

En Bank0 début de la sdram H'20' fin H'6F' soit 80 octets   

En Bank1 début de la sdram H'A0' fin H'EF' soit 80 octets

En Bank2 début de la sdram H'110' fin H'16F' soit 96 octets

En Bank3 début de la sdram H'190' fin H'1EF' soit 96 octets

En Bank0, Bank1, Bank2, Bank4, début de la sdram H'70' fin H'7F' soit 16 octets


Si tu fais le calcul tu vas trouver 368 octets, les 16 octets sont commune à toutes les bank.

Maintenant une chose à retenir :

Le D placé derrière veut dire décimal, exemple : D'125'

Le B placé derrière veut dire binaire, exemple : B'00100100'

Le H placé derrière veut dire héxadécimal, exemple : H'F8'


--------------------------------------------------------------------------------------------------------------------------------------------------------------

Dans l'écriture de ton programme en version ASM, le nombre décimal ne pourras dépasser 255 pour un microcontrôleur 8 bits

Dans l'écriture de ton programme en version ASM, le nombre binaire s'écrire par paquet de 8 pour un microcontrôleur 8 bits

Dans l'écriture de ton programme en version ASM, le nombre hexadécimal ne pourras dépasser FF pour un microcontrôleur 8 bits

--------------------------------------------------------------------------------------------------------------------------------------------------------------

Alors pour voir si tu as compris, tu vas me dire dans quelle bank se trouve les registres cité ci-dessous.

PORTA
OPTION_REG
ANSEL
CMCON
TRISB
ADCON1
ADCON0
PR2
T2CON
CCP1CON
INTCON

--------------------------------------------------------------------------------------------------------------------------------------------------------------

Cite moi au hasard 2 registres en bank0
Cite moi au hasard 2 registres en bank1
Cite moi au hasard 2 registres en bank2
Cite moi au hasard 2 registres en bank3
Cite moi au hasard 2 registres en bank commune

--------------------------------------------------------------------------------------------------------------------------------------------------------------

Je sais bien que c'est lourd, mais après tu vas voir, tout seras plus facile.

--------------------------------------------------------------------------------------------------------------------------------------------------------------

Je comprends ton inquiétude sur le choix de ce Pic16F887, pour apprendre faut commencer petit.
car tu vas voir qu'il y à pas que la compréhension du microcontrôleur, car l'électronique c'est de la science avant
toute chose.
 
Et je peux te dire qu'il mets arrivé de réécrire un programme qui était fait pour un microcontrôleur 16 bits
en microcontrôleur 8 bits.

La plupart des personnes disent qu'un 18F est mieux qu'un 16F c'est du n'importe quoi, tous dépends de l'utilisation.

C'est comme ci tu me dirais, je vais au marché qui se trouve à 500 mètres de chez moi, je prends ma Ferraris,
ça iras plus vite.

Entre la 2Cv et la Ferraris rien ne changeras, les deux arriverons en même temps vu la distance
et l'encombrement.

En ce qui concerne la qualité des composants, ça iras très bien ce que tu as, crois en mon expérience.


  A+


Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le avril 09, 2018, 09:53:44 am
Bonjour, bonjour!

Alors, essayons de répondre à tout ça ...

--------------------------------------------------------------------------------------------------------------------------------------------------------------

Alors pour voir si tu as compris, tu vas me dire dans quelle bank se trouve les registres cité ci-dessous.

PORTA         :Bank0
OPTION_REG :Bank3
ANSEL         :Bank3
CMCON        :? (BANK2 CM1CON0, CM2CON0 CM2CON1 ?)
TRISB          :Bank1 et Bank3
ADCON1       :Bank1
ADCON0       :Bank0
PR2             :Bank1
T2CON         :Bank0
CCP1CON      :Bank0
INTCON        :Bank3

--------------------------------------------------------------------------------------------------------------------------------------------------------------

Cite moi au hasard 2 registres en bank0
     -- TMR2, CCPR1H
Cite moi au hasard 2 registres en bank1
     -- PIE1, VRCON
Cite moi au hasard 2 registres en bank2
     -- WDTCON, PCLATH
Cite moi au hasard 2 registres en bank3
     -- BAUDCTL, ANSELH
Cite moi au hasard 2 registres en bank commune
     -- STATUS, FSR
je pense avoir pigé pour les registres partagés, ils sont au même niveau et pas forcément partagés sur les 4 bank , comme TRISB

--------------------------------------------------------------------------------------------------------------------------------------------------------------

est-ce bien ça ? :)


En revanche je suis bilingue et je comprends parfaitement l'Anglais, à vrai dire...

Bonne journée et à bientôt!
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le avril 09, 2018, 08:25:15 pm
Bonjour bidouilleurs, bidouilleuses,

PORTA         : Bank0 -- ok
OPTION_REG : Bank3 -- ok mais il existe aussi en Bank1
ANSEL         : Bank3 -- ok

TRISB          :Bank1 et Bank3 -- ok
ADCON1       :Bank1 -- ok
ADCON0       :Bank0 -- ok
PR2             :Bank1 -- ok
T2CON         :Bank0 -- ok
CCP1CON      :Bank0 -- ok
INTCON        :Bank3 -- ok

--------------------------------------------------------------------------------------------------------------------------------------------------------------

CMCON        : excuse moi j'ai fait une boulet :( :-[ J'ai confondu avec un autre PIC, bon j'ai le droit à une punition. 

--------------------------------------------------------------------------------------------------------------------------------------------------------------

Cite moi au hasard 2 registres en bank0
     -- TMR2, CCPR1H                           -- ok
Cite moi au hasard 2 registres en bank1
     -- PIE1, VRCON                             -- ok
Cite moi au hasard 2 registres en bank2
     -- WDTCON, PCLATH                      -- ok mais PCLATH est en Bank commune
Cite moi au hasard 2 registres en bank3
     -- BAUDCTL, ANSELH                     -- ok
Cite moi au hasard 2 registres en bank commune
     -- STATUS, FSR                            -- ok

Citer
je pense avoir pigé pour les registres partagés, ils sont au même niveau et pas forcément partagés sur les 4 bank , comme TRISB

Exacte et bien vu pour ta remarque, je peux dire que tu as réussi avec succès l’exercice.

Bon maintenant que tu as compris tout cela, on va passer au niveau supérieur.

Tu vas installes le compilateur, et l'éditeur qui fait office de débogueur, qui est bien pratique

Tu télécharges MPLAB 8.92 à cette endroit www.digitale-elektronik.de/product_downloads/MPLAB_IDE_8_92.zip (http://www.digitale-elektronik.de/product_downloads/MPLAB_IDE_8_92.zip) et tu  l'installes.

--------------------------------------------------------------------------------------------------------------------------------------------------------------

Pour t' apprendre à utiliser MPLAB 8.92  j'ai  créé un bout de code ASM qui sert à rien

C'est pour t'apprendre la compilation d'un fichier ASM, après on se serviras de ce même fichier pour écrire
un petit programme.

La première chose à faire est de créer un dossier qu'on nommera Debut sur le lecteur de ton choix, mais
à la racine de ton disque dur.

Tu télécharges le fichier Debut.zip et tu le décompresse en mettant les fichier dans le dossier
Debut

Une fois que tu as fait tout cela, tu me prévient, car je vais me restaurer.

Citer
En revanche je suis bilingue et je comprends parfaitement l'Anglais, à vrai dire...

Et ben tu vas pouvoir m'aider, parce que moi et l'anglais on est en guerre >:( j'y comprends que dalle.

  A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le avril 10, 2018, 07:16:05 am
Coucou!

programme installé, fichier télécharge, prêt à l'action :)


pour tes problèmes avec l'Anglais, je suis bien sûr prêt à t'aider, ce ne serait qu'un juste retour des choses :)

Bonne journée à toi et à bientôt!
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le avril 10, 2018, 07:39:12 pm
Bonjour bidouilleurs, bidouilleuses,

Si tes fichier sont installés correctement tu dois avoir dans le dossier Debut le fichier Debut.asm et P16F887.inc

Le fichier P16F887.inc et l'endroit ou son marqué l'emplacement mémoire des registres, il sert au compilateur.

Chaque Pic à un fichier d’extension *.inc, il se trouve dans le répertoire de MPLAB IDE\MPASM Suite\

Dans ce répertoire se trouve le compilateur qui s'appelle MPASMWIN.exe.

Le fichier Debut.asm et celui que tu vas utiliser pour écrire ce que tu veux faire avec ton Pic.

Bon maintenant tu dois avoir un icône sur ton bureau marqué en dessous MPLAB IDE v8.92

(https://zupimages.net/up/18/15/r6qk.jpg)

Tu clips dessus et tu suis les photos joint :

Ouvrir

(https://zupimages.net/up/18/15/7riz.jpg)

Aller chercher le fichier

(https://zupimages.net/up/18/15/a24g.jpg)

Voilà tu viens de chargé le fichier dans l'éditeur de MPLAB IDE v8.92 si la couleur de mon éditeur et différente c'est normal, je l'ai paramétré comme cela.

(https://zupimages.net/up/18/15/fh5k.jpg)

Sélection du Microcontrôleur

(https://zupimages.net/up/18/15/w2hl.jpg)

Sélection du microcontrôleur Pic16F887

(https://zupimages.net/up/18/15/7hur.jpg)


Compilation du Fichier d'extension ASM

(https://zupimages.net/up/18/15/ifrw.jpg)

Un message doit apparaître, qui t'indique un Sucées 

(https://zupimages.net/up/18/15/79d8.jpg)


Voilà tu viens de compiler ton premier fichier, tu dois avoir dans le dossier Debut un fichier qui s'appelle Debut.hex, c'est celui-ci que tu mettras dans ton Pic.

Comme tu n'as pas encore le programmeur, n'y le microcontrôleur, on peu pas le faire.

D'autre par il existe un autre fichier qui s'appelle Debut.err dans le dossier Debut c'est celui ou son marqué les erreurs que tu as pu faire.

Si tu n'as pas fait d'erreur il doit faire zéro octet, toujours vérifier si celui-ci et à zéro octet.

Maintenant on va travailler sur chaque registre, on réalité on utilise généralement ceux qu'on a besoin.
Mais certain registre même si on les utilises pas on besoin d'être configuré pour divers raison.



Comme tu peux le voir en haut du fichier *.asm il y a ceci

Errorlevel-302                         ; Supprime le message "Ensure that bank bits are correct"


list      p=16F887                  ; processeur utilisé

#include    <p16F887.inc>          ; Définitions des constantes




__CONFIG _CONFIG1, _DEBUG_OFF & _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT

 __CONFIG _CONFIG2, _WRT_OFF & _BOR21V


Pour l'instant je vais pas t'expliquer à quoi ça sert, tu le laisse comme telle, car bien d'autre chose à voir avant.

La prochaine fois on regarderas les déclarations des variables.

D'après toi c'est quoi une variable ?  ;)

Je te propose de faire un premier programme pour faire clignoter une LED, pour commencer.

A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le avril 11, 2018, 07:07:43 am
Bonjour Curiosus!

Alors, j'ai bien mon petit fichier .hex, rien dans le log d'erreur tout va bien :)

vu que je suis system engineer je suis plutôt habitué à tout ce qui est scripting, enfin en powershell, du moins.

donc tout ce qui est variables,boucles, traitement, parsing etc... ça devrait aller :) juste que d'un langage à l'autre c'est pas forcément simple de s'adapter, mais je vais m'en sortir ^^
on peut tout à fait commencer par un petit programme qui fait blink une led, effectivement c'est le "Hello World!" de l'électronique si j'ai bien compris :)

ça me permettra de comprendre en pratique comment ça se passe...
j'ai reçu le programmateur pickit , mais toujours pas les microcontrôleurs, ni les breadboards, on va donc devoir faire preuve de patience... mais j'ai déjà une pièce c'est pas mal en soi :)

Bonne journée et à bientôt!
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le avril 12, 2018, 11:22:30 am
Bonjour bidouilleurs, bidouilleuses,

Maintenant on va déclarer nos variables

Microchip utilise des directives qui seront traduit par le compilateur, les directives serve à nous simplifier la vie.

Pour les déclarations de nos variables ont utilisera la directive qui se nome CBLOCK 

Toute zone définie par l’utilisateur comme « déclarant » des variables commence avec la directive CBLOCK,
suivie par l’adresse du début de la zone.
 
Pour placer nos variables, qui sont des emplacements mémoires auxquels on a donné un nom, nous consultons
de nouveau la page 25.(celle que tu as étudié.)   

Nous voyons que la zone SRAM est librement utilisable à l'adresse H'20', pour la bank0

Notre zone de variable contiendra donc la directive
 
  CBLOCK H'20'                        ; début de la zone variables
 
Ensuite, tu peux utiliser 80 emplacements mémoire, qui répondront à la syntaxe Suivante :

Nom de la variable suivi du signe « : » (les espaces sont ignorés) suivi de la taille utilisée.
 
Par exemple :
 
loop1 : 1                 ; Zone de 1 octets qui représente 8 bits
boucle :4                ; Zone de 4 octets qui représente 32 bits
temps : 8                 ; zone de 8 octets qui représente 64 bits
 
Ensuite, tu dois préciser la fin de la zone en cours à l’aide de la directive ENDC 
 
Exemple complet :

 CBLOCK H'20'              ; début de la zone de la sdram en bank0   
      ok : 1                     
      tourner : 2
      hello : 4
 ENDC



Peux tu me refaire la même chose pour le début de la bank1, bank2, bank3 et bank commune, en mettant des variables du non de ton choix avec 1 octet, 2 octets, 5 octet ?



Là, on va passer pas mal de temps, mais c'est nécessaire, de toute façon comme il faut faire pas mal de théorie
le microcontrôleur n'est pas forcément important, pour l'instant, car encore plein de chose à voir.

Citer
effectivement c'est le "Hello World!" de l'électronique si j'ai bien compris :)

Oui, bien vu, c'est la première chose que l'on doit faire avec un microcontrôleur, même si on n'est pas débutant. ;)

Bon pour l'instant j'attends de voir si tu as compris, c'est pas évident, je le reconnais, c'est pas mon métier l'électronique
je suis juste un passionner.
.
  A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le avril 16, 2018, 02:17:20 pm
Bonjour, Cher Curiosus,

voilà voilà, je prend une petite pose pour lire l'énoncé et y répondre.

donc je vois que la définition des variables est comme dans le bon vieux basic, on doit définir le "tiroir" dans lequel on store le contenu, c'est pas sélectionné au fur et à mesure.

donc je dirais que pour donner les premiers emplacements de variablbes utilisables sur les bank 1 , 2 et 3 ce serait:

bank1 : h'A0'
bank2 : h'110'
bank3 : h'190'
donc je dirais que pour répondre à la question, ce serait:

bank1:
CBLOCK H'A0'
     oiseau : 1
     felin    : 2
     reptile : 5
ENDC

bank2:
CBLOCK H'110'
     porcelaine : 1
     metal       : 2
     bois         : 5
ENDC

bank3:
CBLOCK H'190'
     liquide  : 1
     solide   : 2
     gaz      : 5
ENDC

et aussi du coup pour les emplacements communs...

je ne vois pas de "file address" commun, même si je vois des registres communs...

tu peux m'en dire plus ?
j'ai cherché un peu sur google mais je ne suis pas sûr de comprendre, je m'y perds... je vois des gens qui parlent de créer un nouveau registre commun en définissant des plages dans chaque bank qu'on veut mettre en commun... mais vu là ou on en est ça me semble un peu trop avancé...

sinon est-ce possible de déclarer une variable au même nom dans trois ou quatre bank différente?
par exemple

CBLOCK H'04'
 test : 1
ENDC
CBLOCK H'84'
 test : 1
ENDC
CBLOCK H'104'
 test : 1
ENDC
CBLOCK H'184'
 test : 1
ENDC

je suis toute ouie :)
désolé si je semble être lent à apprendre, j'avoue que je découvre un petit monde là et c'est pas si simple pour mon vieux cerveau d'intégrer tout ça...
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le avril 18, 2018, 07:51:34 pm
Bonjour Arckont, et tout le forum

Un peu fatigué cette semaine, ce qui explique mon retard, je vais essayer de répondre à toutes tes questions.



bank1:

CBLOCK H'A0'
     oiseau : 1
     felin    : 2
     reptile : 5
ENDC



bank2:

CBLOCK H'110'
     porcelaine : 1
     metal       : 2
     bois         : 5
ENDC



bank3:

CBLOCK H'190'
     liquide  : 1
     solide   : 2
     gaz      : 5
ENDC



C'est parfait pour la déclaration de la bank1, bank2, bank3, en ce qui concerne la bank commune elle commence
à H'70' et fini H'7F', ce qui fait H'7F -  H'70' = 16 octets

Regarde bien à la page 25 du datasheet, tu vas vite comprendre, voila la solution.

CBLOCK H'70'
    solution:1       1 octet
    trouver :2      2 octets
    bravo :5        5 octets
ENDC

ce qui fait au total
 1+2+5 = 8 octets, il te reste 8 octets

En réalité quand tu déclares une variables elle prend un emplacement mémoire qu'on appelle adresse

Exemple :


CBLOCK H'110'                                     ; bank2:
     porcelaine : 1                               
     metal       : 2
     bois         : 5
     ok           : 1
ENDC

Porcelaine  se trouve au début à  H'110' , car elle fait 1 octet

metal        se trouve au début à H'111' et H'112', car elle fait 2 octets

bois          se trouve au début à H'113' et H'114' et H'115', et H'116' et H'117' , car elle fait 5 octets

ok           se trouve à H'118'

Suffit d'additionner pour savoir l'emplacement de ton adresse mémoire, en suivant l'ordre de tes déclarations.

Attention c'est de l'hexadécimal, si tu fais une opération sert toi de la calculatrice de Windows, en mode
scientifique.

Par pitié ne confond pas les registres avec les variables, laisse les de coté pour l'instant.
 
Dans une variable on peut y mettre une valeur dans un emplacement que tu lui as attribué
nous verrons plus loin comment faire.

Citer
sinon est-ce possible de déclarer une variable au même nom dans trois ou quatre bank différente ?

Non c'est pas possible de déclarer le même non de variable dans chaque bank.

Attention de ne pas s'écarter dans les adresses mémoires, comme tu l'as fait dans ton exemple, car là
tu n'es plus dans la mémoire que tu as le doit d'utiliser.

CBLOCK H'04'
 test : 1
ENDC



Maintenant je vais te parler de la directive ORG



La directive ORG, suivie de l’adresse, précise à quelle adresse l’instruction suivante sera
placée dans la mémoire programme du PIC.
 
 Il est important de savoir 2 choses :
 
Après un reset ou une mise sous tension, le PIC démarre toujours à l’adresse H'0'

Le début de ton programme doit donc se situer là.
 
L’adresse H'4' est l’adresse utilisée par les interruptions pour ce Pic (nous verrons le principe plus tard).


  ORG H'0'                                 ; Adresse de départ après reset
 goto debut   
 
La première ligne est notre directive ORG, qui indique que la ligne suivante sera placée à l’adresse H'0'
 
La seconde ligne est une instruction, goto

Si tu as fait du basic tu dois savoir à quoi sert un goto suivit du non de l’étiquette.

Après le reset le PIC exécute donc l’instruction qui se trouve à l’adresse H'0' suivie par l’instruction qui se trouve
à l’adresse goto debut plus bas dans le programme (donc juste en dessous de l’étiquette goto debut

Exemple :

 ORG H'0'
  goto salut

salut

Alors essaye de me faire une étiquette qui n’arrête pas de se renvoyer l'un vers l'autre avec l'instruction goto

Si ça commence à être hard tu m'arrêtes et tu m'explique ou tu butes.

   A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le mai 03, 2018, 12:22:59 pm
Bonjour, Bonjour!

désolé pour le délai, j'ai été surchargé de boulot ces derniers temps et je n'ai pas pris le temps de passer...

Donc...
*replace ses lunettes*

En gros c'est assez simple ce que tu me demande...

ORG H'0'
firstloop
echo "coucou"(*)
  goto secondloop
secondloop
echo "bouh"(*)
  goto firstlooop

(*) exemple de commande à réaliser, je ne connais pas encore ce qui peut être éxécuté...
à la place de "echo "coucou"" et "echo "bouh"" on peut mettre les deux commandes qui vont définir une durée d'alimentation sur une porte pour allumer une led X milisecondes et dans l'autre une période de pause sans alimentation pour représenter la phase éteinte?

est-ce que c'était bien le but de l'éxercice ou j'ai rien "bité"  ? :)

Merci et à bientôt Curiosus!
merci d'être là pour m'apprendre tout ça :)
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mai 11, 2018, 02:17:53 pm
Bonjour Arckont, et tout le forum,

Comme je suis dans la plantation de mon potager, j'ai pour l'instant pas toujours du temps pour répondre.   

Bon maintenant on y est, tu vas apprendre les instructions au nombre de 35 pour c'est PIC là.

On va déjà apprendre l’essentiel qui est plutôt simple.

goto ok tu sais ton servir

Fais moi par de toutes les instructions que tu connais.

ADDLW

ADDWF

ANDLW

ANDWF

BCF

BSF

BTFSC

BTFSS

CALL

CLRF

CLRW

CLRWDT

COMF

DECF

DECFSZ

GOTO     

INCF

INCFSZ

IORLW

IORWF

MOVF

MOVFW

MOVLW

MOVWF

NOP

RETFIE

RETLW

RETURN

RLF

RRF

SLEEP

SUBLW

SUBWF

SWAPF

XORLW

XORWF


Ne t’inquiète pas, on va apprendre les instructions on fonction de notre besoin, et je t'expliquerais celle-ci.


As tu reçu ton PicKit3 et ton microcontrôleur ?











Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le mai 11, 2018, 10:24:31 pm
Coucou Curiosus,
pas de souci je suis également en train de préparer le potager ;)

Alors... j'en connais très peu...

GOTO
SLEEP
je connais...

 CALL je suis pas sûr dans notre cas...

et j'ai les breadboards (j'en ai commandé une grande sur support aluminium aussi entretemps que j'ai reçu)
et j'ai reçu mes microcontroleurs ce mardi! :)
j'ai le reste du matériel.
là je suis juste en train de bâtir mon atelier au fond du garage, cas mon épouse a légèrement ... "peu apprécié" la colonisation du bureau par les étagères de rangement de composants... :p donc là je suis en phase menuiserie pour avoir un plan de travail propre et adapté, ainsi qu'un éclairage approprié. je devrais avoir fini demain, ensuite il faudra laisser l'huile faire son travail dans le bois...
A bientôt! :)
j'ai hâte de commencer :D
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mai 12, 2018, 07:50:38 pm
Bonjour Arckont, et tout le forum,

Bon, comme tu as le datasheet du PIC16F887 on va s'en servir, la première chose à faire et de déclarer 10 variables de 1 octet en bank0

Tu leurs donne le non de ton choix, donc à regarder les exercices fait ensemble

Tu fais une sauvegarde du fichier debut.asm en debut.old

Tu vas utiliser le fichier debut.asm pour faire tes déclaration, regarde bien le travaille est presque fait
ta juste à poser tes variables au bon endroit.

Tu peux voir que j'ai mis un goto debut, donc on démarre à debut

On va configurer notre Pic pour le faire tourner à 4 mégahertz, donc tu vas à la page 62 de ton datasheet
Comme tu comprends l'anglais, moi pas, ça devrait être plus facile pour toi.

Comment s’appelle le registre sur la page 62 ?

En quelle bank est t'il ?

Qu'elle sont les bits qu'il faut activé pour que ton Pic tourne à 4 mégahertz ?


Si tu as un problème, tu peux revoir les explications du post 18, sur les bank, et la façon d'écrire les valeurs.

Une partie de mes plantation son terminer, j'espère que ta peinture sera sec, et pour commencer mieux vos
avoir un endroit ou l'on se plait.

     A+
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Arckont le mai 14, 2018, 12:46:12 pm
Bonjour !

alors, voici ce que j'ai modifié dans le script:


    CBLOCK 0x20
      var0 1
      var1 1
      var2 1
      var3 1
          var4 1
      var5 1
      var6 1
      var7 1
      var8 1
      var9 1
    ENDC               


    CBLOCK 0x70       
    ENDC               

    ORG H'00'
      goto debut


dans la page 63(?) du datasheet je vois qu'on parle d'oscillateur interne et externe, c'est cette page je suppose?
je vois donc qu'on parle du registre OSCCON qui se trouverait en bank1
et pour le configurer à 1Mhz il faudrait le configurer sur 110 (binaire je présume vu la configuration des chiffres)
du coup... j'ai trouvé cette ligne qui me semble cohérente en terme de format:

OSCCONVAL EQU B'01100000'

ça se passe bien ? :)
Merci, et à bientôt!
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mai 15, 2018, 12:23:16 am
Bonjour Arckont, et tout le forum,

Ok, mais ne pas oublier de mettre : car le compilateur va t'indiquer une erreur si tu le fais pas.

   
    CBLOCK 0x20
      var0   :1
      var1   :1
      var2   :1
      var3   :1
      var4   :1
      var5   :1
      var6   :1
      var7   :1
      var8   :1
      var9   :1
    ENDC               


    CBLOCK 0x70       
    ENDC               


C'est la page 62, à moins qu'il y un décalage horaire avec le canada, bravo pour avoir trouver le registre qui va te servir
pour mettre en fonction ton microcontrôleur, grâce a ce registre tu n'as pas besoin de mettre un quartz.   

Effectivement c'est bien le registre OSCON qui se trouve bien en bank1, comme tu peux le voir, chaque bit à une conséquence sur ton microcontrôleur, d’où l'utilité de cette exercice.

C'est 4 Mégahertz, mais c'est la bonne valeur OSCCONVAL EQU B'01100000' 

Bon je veux bien que tu recherches sur internet les réponses, mais OSCCONVAL n'exsite pas, ça existe
quand langage C++
       
Tu télécharges le cours de monsieur Bigonoff ici : https://drive.google.com/open?id=1GjRz8jZJwtwWfrP1LwhHdwX3F_zxkIz3 (https://drive.google.com/open?id=1GjRz8jZJwtwWfrP1LwhHdwX3F_zxkIz3)

Tu vas à la page 65, et tu essai avec les explication du Monsieur Bigonoff, de copier la valeur que tu as
trouvé dans le registre OSCCON

C'est ta dire B'01100000', à faire tous seule, sans recherche.

 A+     
Titre: Re : Tableau interactif d'affichage d'informations d'environnement
Posté par: Curiosus le mai 19, 2018, 08:23:46 pm
Bonjour Arckont, et tout le forum,

Regarde le post juste au dessus, je te laisse trouver la solution, mais si tu n'y arrive pas, je te donnerai la solution.

Je sais tu voudrais pratiquer, mais on est tout près de le faire

As tu ton PICKit3 ?

As tu ton microcontrôleur ?


A+