Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2018-05-05T14:24:40+02:00Les derniers messages parus sur le forum de Zeste de Savoir.PROGRAMME ARDUINO : Les résultats du programmes ne sont pas stockés sur la cartes SD, message #1796452018-05-05T14:24:40+02:00BAUSADES/@BAUSADEShttps://zestedesavoir.com/forums/sujet/10688/programme-arduino-les-resultats-du-programmes-ne-sont-pas-stockes-sur-la-cartes-sd/?page=1#p179645<p>Merci pour l’info. J’ai modifié et vous avez maintenant le programme complet.</p>PROGRAMME ARDUINO : Les résultats du programmes ne sont pas stockés sur la cartes SD, message #1796242018-05-04T23:17:26+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/10688/programme-arduino-les-resultats-du-programmes-ne-sont-pas-stockes-sur-la-cartes-sd/?page=1#p179624<p>Pense à utiliser les balises codes (tu peux éditer ton message). <img alt=";)" src="/static/smileys/clin.png"></p>
<p><a href="https://zestedesavoir.com/tutoriels/221/rediger-sur-zds/">https://zestedesavoir.com/tutoriels/221/rediger-sur-zds/</a></p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3</pre></div></td><td class="code"><div class="codehilite"><pre><span></span>```c
ton code
```
</pre></div>
</td></tr></table>PROGRAMME ARDUINO : Les résultats du programmes ne sont pas stockés sur la cartes SD, message #1796212018-05-04T22:06:38+02:00BAUSADES/@BAUSADEShttps://zestedesavoir.com/forums/sujet/10688/programme-arduino-les-resultats-du-programmes-ne-sont-pas-stockes-sur-la-cartes-sd/?page=1#p179621<p>Bonjour,</p>
<p>Je suis élève de Terminale STI2D option SIN. Dans le cadre de mon projet de fin d’année à présenter au bac, j’ai créer un projet portes faac qui consiste à compter le nombre de cycle d’ouvertures et de fermetures d’une porte et d’en extraire des statistiques sur une cartes SD.</p>
<p>Mon problème : </p>
<p>Mon programme a été créer à partir d’une carte ARDUINO. Le programme fonctionne, il est correctement téléchargé sur la carte SD. Le programme est correctement exécuté sur le moniteur série mais les statistiques ne sont pas enregistrées sur la carte SD. À la fin les statistiques ne sont donc pas enregistrées sur la carte SD.</p>
<p>J’aimerais savoir pourquoi rien ne s’écrit sur la carte SD alors que les programmes fonctionnent indépendamment les uns des autres, mais une fois fusionnés le programme global ne fonctionne plus.</p>
<p>Je joins mon programme pour avoir votre aide.</p>
<p>Merci par avance.</p>
<p>Bausades</p>
<p>PROGRAMME :</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="cp">#include</span> <span class="cpf"><Wire.h> </span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf">"DS1307.h" </span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf"><SPI.h></span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf"><SD.h> </span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf"><OneWire.h></span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf">"RTClib.h"</span><span class="cp"></span>
<span class="n">RTC_DS1307</span> <span class="n">RTC</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">pushButton</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">buttonState</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">total</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">int</span> <span class="n">chipSelect</span> <span class="o">=</span> <span class="mi">10</span><span class="p">;</span>
<span class="n">File</span> <span class="n">dataFile</span><span class="p">;</span>
<span class="n">DateTime</span> <span class="n">now</span><span class="p">;</span>
<span class="n">DS1307</span> <span class="n">clock</span><span class="p">;</span>
<span class="kt">void</span> <span class="nf">setup</span><span class="p">()</span>
<span class="p">{</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span>
<span class="n">clock</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span>
<span class="n">pinMode</span><span class="p">(</span><span class="n">pushButton</span><span class="p">,</span> <span class="n">INPUT</span><span class="p">);</span>
<span class="n">Wire</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
<span class="n">RTC</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span> <span class="n">RTC</span><span class="p">.</span><span class="n">isrunning</span><span class="p">())</span> <span class="p">{</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">"RTC is NOT running!"</span><span class="p">);</span>
<span class="n">RTC</span><span class="p">.</span><span class="n">adjust</span><span class="p">(</span><span class="n">DateTime</span><span class="p">(</span><span class="n">__DATE__</span><span class="p">,</span> <span class="n">__TIME__</span><span class="p">));</span>
<span class="p">}</span>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">SD</span><span class="p">.</span><span class="n">begin</span><span class="p">(</span><span class="n">chipSelect</span><span class="p">))</span> <span class="p">{</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">"Pas de carte"</span><span class="p">);</span>
<span class="k">return</span><span class="p">;</span>
<span class="p">}</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span>
<span class="n">now</span> <span class="o">=</span> <span class="n">RTC</span><span class="p">.</span><span class="n">now</span><span class="p">();</span>
<span class="n">dataFile</span> <span class="o">=</span> <span class="n">SD</span><span class="p">.</span><span class="n">open</span><span class="p">(</span><span class="s">"statistique.txt"</span><span class="p">,</span> <span class="n">FILE_WRITE</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">"total : "</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">now</span><span class="p">.</span><span class="n">year</span><span class="p">(),</span><span class="n">DEC</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="sc">'/'</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">now</span><span class="p">.</span><span class="n">month</span><span class="p">(),</span><span class="n">DEC</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="sc">'/'</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">now</span><span class="p">.</span><span class="n">day</span><span class="p">(),</span><span class="n">DEC</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">" "</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">"Tme Stats"</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">close</span><span class="p">();</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">loop</span><span class="p">()</span>
<span class="p">{</span>
<span class="n">printTime</span><span class="p">();</span>
<span class="p">}</span>
<span class="kt">void</span> <span class="nf">printTime</span><span class="p">()</span>
<span class="p">{</span>
<span class="n">clock</span><span class="p">.</span><span class="n">getTime</span><span class="p">();</span>
<span class="k">if</span> <span class="p">(</span><span class="n">clock</span><span class="p">.</span><span class="n">hour</span> <span class="o"><</span> <span class="mi">8</span> <span class="o">&&</span> <span class="n">clock</span><span class="p">.</span><span class="n">minute</span> <span class="o">></span> <span class="mi">30</span><span class="p">)</span> <span class="p">{</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">"ce n'est pas l'heure"</span><span class="p">);</span>
<span class="n">delay</span><span class="p">(</span><span class="mi">1000</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">else</span> <span class="p">{</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">clock</span><span class="p">.</span><span class="n">hour</span><span class="p">,</span> <span class="n">DEC</span><span class="p">);</span> <span class="c1">// Affichage heure</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">":"</span><span class="p">);</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">clock</span><span class="p">.</span><span class="n">minute</span><span class="p">,</span> <span class="n">DEC</span><span class="p">);</span> <span class="c1">// Affichage minutes</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">":"</span><span class="p">);</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">clock</span><span class="p">.</span><span class="n">second</span><span class="p">,</span> <span class="n">DEC</span><span class="p">);</span> <span class="c1">// Affichage secondes</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">" "</span><span class="p">);</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">clock</span><span class="p">.</span><span class="n">month</span><span class="p">,</span> <span class="n">DEC</span><span class="p">);</span> <span class="c1">// Affichage mois</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">"/"</span><span class="p">);</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">clock</span><span class="p">.</span><span class="n">dayOfMonth</span><span class="p">,</span> <span class="n">DEC</span><span class="p">);</span> <span class="c1">// Affichage jours</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">"/"</span><span class="p">);</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">clock</span><span class="p">.</span><span class="n">year</span><span class="o">+</span><span class="mi">2000</span><span class="p">,</span> <span class="n">DEC</span><span class="p">);</span> <span class="c1">// Affichage années</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">" "</span><span class="p">);</span>
<span class="n">delay</span><span class="p">(</span><span class="mi">500</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">if</span> <span class="p">(</span><span class="n">clock</span><span class="p">.</span><span class="n">hour</span> <span class="o">></span> <span class="mi">20</span><span class="p">)</span> <span class="p">{</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">"ce n'est plus l'heure"</span><span class="p">);</span>
<span class="n">delay</span><span class="p">(</span><span class="mi">1000</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">{</span>
<span class="n">now</span> <span class="o">=</span> <span class="n">RTC</span><span class="p">.</span><span class="n">now</span><span class="p">();</span>
<span class="n">dataFile</span> <span class="o">=</span> <span class="n">SD</span><span class="p">.</span><span class="n">open</span><span class="p">(</span><span class="s">"statistique.txt"</span><span class="p">,</span> <span class="n">FILE_WRITE</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">dataFile</span><span class="p">)</span> <span class="p">{</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">total</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">" "</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">now</span><span class="p">.</span><span class="n">hour</span><span class="p">(),</span><span class="n">DEC</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">":"</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">now</span><span class="p">.</span><span class="n">minute</span><span class="p">(),</span><span class="n">DEC</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s">":"</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="n">now</span><span class="p">.</span><span class="n">second</span><span class="p">(),</span><span class="n">DEC</span><span class="p">);</span>
<span class="n">dataFile</span><span class="p">.</span><span class="n">close</span><span class="p">();</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="s">"Enregistrer"</span><span class="p">);</span>
<span class="p">}</span>
<span class="n">delay</span><span class="p">(</span><span class="mi">1000</span><span class="p">);</span>
<span class="p">}</span>
<span class="n">Serial</span><span class="p">.</span><span class="n">println</span><span class="p">(</span><span class="n">total</span><span class="p">);</span>
<span class="kt">int</span> <span class="n">buttonState</span> <span class="o">=</span> <span class="n">digitalRead</span><span class="p">(</span><span class="n">pushButton</span><span class="p">);</span>
<span class="n">delay</span><span class="p">(</span><span class="mi">1000</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">buttonState</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="n">total</span> <span class="o">=</span> <span class="n">total</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">else</span> <span class="p">{</span>
<span class="p">}</span>
<span class="p">}</span>
</pre></div>
</td></tr></table></div>Plus de mémoire pour le programme sur Arduino, message #869432015-11-17T19:32:23+01:00mattis25/@mattis25https://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86943<p>Ok… Bon j'en arrive donc à la conclusion qu'il est impossible d'avoir plus de programmes que ce que peut en contenir le microcontrôleur.<br>
Je mets en résolu <img alt=";)" src="/static/smileys/clin.png"> </p>Plus de mémoire pour le programme sur Arduino, message #869412015-11-17T19:27:03+01:00Natalya/@Natalyahttps://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86941<p>il suffit de l'écrire dans la flash. Le bootloader arduino fait la même chose.</p>Plus de mémoire pour le programme sur Arduino, message #869302015-11-17T18:48:20+01:00mattis25/@mattis25https://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86930<p>C'est à dire que le programme (contenu dans le uc) "copie" le programme sur le microcontrôleur? c'est techniquement possible?</p>Plus de mémoire pour le programme sur Arduino, message #869262015-11-17T18:46:00+01:00Natalya/@Natalyahttps://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86926<p>c'est probablement le programme du jeu, mais il est forcément chargé en RAM/écrit en flash avant execution.</p>Plus de mémoire pour le programme sur Arduino, message #869242015-11-17T18:42:40+01:00mattis25/@mattis25https://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86924<p>Ce n'est pas le programme du jeu? (comme ce que j'ai cru comprendre sur le site)</p>Plus de mémoire pour le programme sur Arduino, message #869202015-11-17T18:35:44+01:00juke/@jukehttps://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86920<p>parce que le .hex c'est des données. </p>Plus de mémoire pour le programme sur Arduino, message #869012015-11-17T18:02:07+01:00mattis25/@mattis25https://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86901<p>A oui effectivement je n'avais pas pensé à ça… (ayant l'habitude des langages hauts niveaux).<br>
Encore merci!<br>
EDIT: Je cite par contre, du site de la gamebuino (console de jeu basée sur un atmega328, programmé en arduino): </p>
<blockquote>
<p>You can download all the games' .HEX files at once here: Download ZIP GitHub. Then simply put the .HEX > > > files on your micro SD card and enjoy! </p>
</blockquote>Plus de mémoire pour le programme sur Arduino, message #867872015-11-16T21:36:12+01:00zeqL/@zeqLhttps://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86787<p>Non (ou pas de manière simple)</p>
<p>Ton programme étant compilé, il faut que tout le code soit disponible lors de la compilation. Tout le code va être compiler en code machine et donner un fichier unique qui sera mis en mémoire.<br>
Tu ne peux donc pas avoir un bout de code à droite et un autre à gauche.</p>
<p>Si tu as un problème de taille pour ton programme, c'est qu'il est soit trop gros car très mal écrit donc pas du tout optimisé (malgré les améliorations que peut faire le compilateur) soit tu lui met des données qui pourraient être stockées d'une autre manière (sur une carte SD, par exemple), comme une image ou un très gros tableau de données.</p>Plus de mémoire pour le programme sur Arduino, message #867612015-11-16T20:09:58+01:00mattis25/@mattis25https://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86761<p>D'accord merci!<br>
Est-ce que je peux par contre "inclure" (comme include en php) un fichier de code de la carte sd (mais qui tient dans le micro contolleur) et le désinclure ensuite? Ce qui me permettrait d'avoir plusieurs fichiers, trop gros pour tenir dans le micro controlleur, mais, utilisé un par un, entrerait<br>
Encore merci!</p>Plus de mémoire pour le programme sur Arduino, message #866302015-11-16T10:26:30+01:00Natalya/@Natalyahttps://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86630<p>Ca s'appelle le user manual de ton micro-contrôleur: soit il peut, soit il ne peut pas. En l'occurrence, les ATMega ne peuvent pas.</p>Plus de mémoire pour le programme sur Arduino, message #866162015-11-16T06:50:52+01:00mattis25/@mattis25https://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86616<p>D'accord merci beaucoup!<br>
Une partie du code serait sur la mémoire, connais-tu des tutoriels (anglais ou français) pour que le uc soit capable d'exécuter un code d'une mémoire externe?</p>Plus de mémoire pour le programme sur Arduino, message #866112015-11-16T01:21:02+01:00zeqL/@zeqLhttps://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86611<p>Oui, il faut simplement prévoir tout ça dans le fonctionnement de ton algorithme pour que ce soit optimisé.</p>
<p>En revanche pour le code exécutable il doit pouvoir rentrer dans la mémoire du microcontrôleur. Ou alors ton microcontrôleur doit être capable d'exécuter du code dans une mémoire externe.</p>Plus de mémoire pour le programme sur Arduino, message #865202015-11-15T18:11:46+01:00mattis25/@mattis25https://zestedesavoir.com/forums/sujet/4654/plus-de-memoire-pour-le-programme-sur-arduino/?page=1#p86520<p>Bonjour,<br>
admettons que je souhaitais créer un PDA à base d'arduino uno (ce n'est absolument pas le cas, mais c'est ce qui illustre le mieux mon problème), il manquerait alors de l'espace pour stocker mon programme (entre les librairies, fonctions et autres).<br>
J'ai un peu chercher sur internet, il semble que je pourrais les stockers sur une carte micro sd, bien que les tutoriels portent plus sur le stockage d'images.<br>
En restant sur l'idée d'un PDA, pourrais-je stocker le fichier qui appelle les librairies et codes arduino sur le microcontrôleur, et le reste sur une carte micro sd?<br>
Merci d'avance!</p>