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! :)
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+
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!
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.
CitationPour 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+
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!
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 çaQuelle 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.
Citation
é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+
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!
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$...
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+
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!
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+
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à .
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 manoeuvre.
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+
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!
Bonjour bidouilleurs, bidouilleuses,
Citation 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.
Citation
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+
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!
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
CitationJ'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+
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! ;)
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 octetsSi 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+
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!
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
Citationje 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
DebutUne fois que tu as fait tout cela, tu me prévient, car je vais me restaurer.
CitationEn 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+
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!
Bonjour bidouilleurs, bidouilleuses,
Si tes fichier sont installés correctement tu dois avoir dans le dossier
Debut le fichier
Debut.asm et
P16F887.incLe 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+
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!
Bonjour bidouilleurs, bidouilleuses,
Maintenant on va déclarer nos variablesMicrochip 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.
Citationeffectivement 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+
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...
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.
Citation 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,
gotoSi 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 debutExemple : 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 gotoSi ça commence à être hard tu m'arrêtes et tu m'explique ou tu butes.
A+
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 :)
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
BCFBSF
BTFSC
BTFSS
CALLCLRF
CLRW
CLRWDT
COMF
DECF
DECFSZ
GOTO INCFINCFSZ
IORLW
IORWF
MOVFMOVFW
MOVLW
MOVWF
NOPRETFIERETLW
RETURN
RLF
RRF
SLEEP SUBLW
SUBWF
SWAPF
XORLWXORWF
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 ?
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
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+
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!
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+
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+
Bonjour Curiosus,
désolé pour cette absence, une vilaine fracture m'a rendu indisponible un moment...
j'ai bien reçu tout le matériel nécessaire , mes breadboards, les PIC, les alimentaitons, le picKit3, et même pas mal de matériel en rab pour expérimenter ! :)
je viens d'ouvrir le document et lire attentivement la page 65.
je crois comprendre qu'il faut utiliser un MOVLW pour passer une valeur dans un champ...
en gros à l'image d'un système linux ou le "couper-coller" est un move, je présume.
du coup si je ne me trompe pas...
OSCON movlw B'01100000'
j'ai bien peur de faire n'importe quoi là ...
dans ma tête les choses ne sont pas encore claires.
a moins qu'il faille choisir l'emplacement comme dans les CBLOCK précédemment faits et y injecter la valeur?
une fois que j'aurai intégré ça je pense que j'aurai fait un grand pas en avant (enfin)
Merci pour ton temps et ta patience...
Bonjour Arckont, et tout le forum,
J'espère que tu vas te remettre au plus vite de cette fracture, et reprendre tes occupation favorite. ::)
Ok, si tu as tous reçu, on va pouvoir continuer
Citationje viens d'ouvrir le document et lire attentivement la page 65.
Je te conseille même de télécharger toute la documentation et de la lire, car c'est un des premier cours que j'ai eu.
Et oui, j'ai appris sur le tas, mais j'avais déjà de l’expérience dans le domaine de l'électronique.
On réalité voici la manoeuvre movlw B'01100000'
movwf OSCONOn ne peut pas transférer directement la valeur dans
OSCON , on est obligé de passer par un registre de travail
de 8 bits qui s’appelle
WSi j'écris ce que j'ai fait, ça donne ceci
Copier B'01100000' Dans
WRetransmet cette valeur dans
OSCONJe dois admets que cette méthode est barbare, mais c'est comme ça, faut faire avec.
On pratiquant par la suite sa deviendra claire, faut de la volonté pour apprendre, j'ai pas eu la chance d'avoir quelqu'un
qui m’expliquai tous cela quand j'ai commencé, j'ai juste lu les explications de Monsieur Bigonoff, qui as eu la gentillesse
de partagé sont savoir dans des documents fourni plus haut.
je n'avais même pas internet, les documents je les avais téléchargé chez un copain.
Je pourrais te donner le programme tous fait, mais tu n'apprendras rien, c'est pas le but recherché ici.
Je vais te laisser réfléchir encore un peu, comment feras tu pour mettre tous le
PORTA en sortie
PORTB en entrée
PORTC en sortie
PORTE en entrée
A+
Bonjour!
j'ai mis du temps pour répondre encore une fois, mais j'ai une existence plutôt mouvementée pour l'instant :)
Bref!
Alors, j'ai lu pas mal de choses, et j'ai essayé de comprendre la syntaxe
et je pense donc que pour faire ce qui est demandé , il faut taper:
init
bsf PORTA,0
bsf PORTB,1
bsf PORTC,0
bsf PORTE,1
est-ce juste?
Merci et à très bientôt!
lhu.
Bonjour
Pas grave si tu mets du temps à répondre, ça m'arrive très souvent, par fatigue, par manque de moral, trop occupé, bref....
on n'est pas des robots hein....
Pour te répondre sur ton dernier post 36, je dirais que tu brules les étapes, et que ça risque pas de fonctionner
Pour fonctionner il faut configurer les registres qui s’appelle TRISA, TRISB, TRISC,TRISD, TRISE
Regarde au post #18 : http://forum.bidouilleur.ca/index.php?topic=320.msg1902#msg1902 (http://forum.bidouilleur.ca/index.php?topic=320.msg1902#msg1902), tu vas voir
les registres donc je te parle.
C'est registre se trouve en Bank1 et pour passer dans cette bank on utilise la directive BANKSEL
BANKSEL : Nom de ton registre
Donc dans notre cas il faudra écrire : BANKSEL TRISA ou TRISB ou TRISC ou TRISD, ou TRISE
une fois positionné dans cette bank, on configure les pattes de notre pic,
Soit en entrée = 1 configurer en entrée tu pourras recevoir une tension sur la patte qui sera configuré comme t'elle
mais tu ne devras pas dépasser la tension préconisé dans le datasheet.
Soit en sortie = 0, configuré en sortie tu pourras envoyer une tension sur la patte qui sera configuré comme t'elle
mais tu ne devras pas dépasser le courant préconisé dans le datasheet.
Relis le post #18 : http://forum.bidouilleur.ca/index.php?topic=320.msg1902#msg1902 (http://forum.bidouilleur.ca/index.php?topic=320.msg1902#msg1902)
Relis le post #35 : http://forum.bidouilleur.ca/index.php?topic=320.msg2038#msg2038 (http://forum.bidouilleur.ca/index.php?topic=320.msg2038#msg2038)
L’exercice demandé était celui-ci
PORTA en sortie
PORTB en entrée
PORTC en sortie
PORTE en entrée
Pour faire cette manoeuvre tu es obligé d'écrire dans TRISA, TRISB, TRISC, TRISD, TRISE.
Tout est expliqué dans les posts cité ci-dessous.
Post #18 :http://forum.bidouilleur.ca/index.php?topic=320.msg1902#msg1902 (http://forum.bidouilleur.ca/index.php?topic=320.msg1902#msg1902)
Post #35 :http://forum.bidouilleur.ca/index.php?topic=320.msg2038#msg2038 (http://forum.bidouilleur.ca/index.php?topic=320.msg2038#msg2038)
Les registres PORTA, PORTB, PORTC, PORTD, PORTE ne sont pas dans la même bank
Donc exercice à refaire, car ça il faut que tu le comprenne, sinon on pourras rien faire.
Bien ce petit kit pour apprendre à souder les CMS, mais je te conseille un petit kit, qui va t'apprendre
à les souder, mais qui te servira.
https://www.ebay.fr/itm/DSO138-2-4-TFT-Digital-Oscilloscope-Acrylic-Case-DIY-Kit-SMD-Soldered/263180169877?hash=item3d46c2b295:m:mjfzf3FM4ju8XZqGcNXmeAg (https://www.ebay.fr/itm/DSO138-2-4-TFT-Digital-Oscilloscope-Acrylic-Case-DIY-Kit-SMD-Soldered/263180169877?hash=item3d46c2b295:m:mjfzf3FM4ju8XZqGcNXmeAg)
Il y en a des moins chère, mais ils ont pas de boitier, comme ici
https://www.ebay.fr/itm/DSO138-2-4-TFT-Digital-Oscilloscope-DIY-Kit-parts-1Msps-probe-Oscilloscopes/263028276338?hash=item3d3db4fc72:g:crgAAOSw~XpZOlLq (https://www.ebay.fr/itm/DSO138-2-4-TFT-Digital-Oscilloscope-DIY-Kit-parts-1Msps-probe-Oscilloscopes/263028276338?hash=item3d3db4fc72:g:crgAAOSw~XpZOlLq)
A+
Bonjour!
concernant le DSO j'en ai déjà un justement pour ces raisons :)
il fonctionne bien et est prêt à servir, mais je n'ai pas encore eu l'occasion d'apprendre à m'en servir.
concernant l'exercice, je ne comprends pas encore bien mais je crois avoir progressé.
du coup si je comprends mieux l'exercice, pour définir ces ports il faut entrer dans le code:
BANKSEL BANK1
MOVLW B'11111111'
MOVWF TRISB
MOVWF TRISE
MOVLW B'00000000'
MOVWF TRISA
MOVWF TRISC
de cette façon on configure tous les ports de PORTB et PORTE en entrée, et tous les ports de PORTA et PORTC en sortie, est-ce bien correct?
avec le banksel bank1 pour sélectionner la banque 1 au départ...
je chauffe? :)
Bonjour Arckont,
Oui c'est cela, super tu as compris, regarde ta Messagerie nom di dioux !!
A+