Pages: [1] 2   Go Down
Author Topic: Premières expériences avec arduino (led, Temp. et temps)  (Read 1308 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 1
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

Je m'en excuse par avance mais je n'ai pas vu de fil spécial pour se présenter avant de venir poser des questions.

Je développe actuellement, et pour la première fois, un système qui va me permettre de contrôler la luminosité de leds de puissance (3X50W) actuellement en tout ou rien sur programmateur manuel. Ceci pour simuler le lever et coucher du soleil sur un aquarium récifal. Du fait que l'aquarium est déjà très diy, autant continuer et ajouter un contrôle et une automatisation réalisée à la maison.

Concernant le contrôle des led. Je passe par des shield en kit Velleman. J'ai réalisé les soudures sur un premier module et fait les premiers tests de programmation. Le code est très facile pour faire quelque chose d'aussi basique, j'ai réussi à le modifier pour qu'il fasse ce que je veux.

J'ai aussi un module RTC pour que l'éclairage demeure bien calé même en cas de panne de courant (et avoir un enregistrement des infos avec les dates/heures). Pour le moment, cela ne fonctionne pas, je me demande s'il ne faut pas que j'ajoute des résistances entre la carte et le module (vu sur ce forum il me semble). Dans tous les cas, un code trouvé ici m'a permis de contrôler que l'horloge n'est pas bien câblée car elle envoie un NACK. Je vais continuer mes tests après achat de résistance adhoc.

Je compte mesurer et enregistrer des paramètres de l'eau, je commence par une sonde température. Cela me semble plus simple pour le moment (d'autant que j'ai déjà un pHmètre mais qui n'enregistre pas). J'ai acheté une sonde ds18b20 (avec gaine étanche et long cable) mais sans plus de succès. J'ai trouvé les informations de cablage et de programmation mais cela ne donne rien pour le moment. Il faut que j'avance de ce coté là aussi.

Par contre pour l'écran 2 lignes 16 caractères, pas de soucis, j'ai réussi à afficher des messages et des informations calculées par le processeur.  smiley-cool

EDIT : j'ai oublié de dire que ma carte est une arduino Mega 2560 R3 et je suis sous ubuntu (d'ailleurs, j'ai refais à la main l'installation du logiciel pour discuter avec la carte car celle du dépôt me posait des problèmes avec les librairies onewire et dallas)

Donc voici en guise de présentation ces premières expériences depuis une dizaine de jours. Je continue ma lecture de ce forum car j'en ai bien besoin smiley
« Last Edit: September 22, 2013, 05:18:49 pm by kohleric » Logged

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 863
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut, alors ok tout ça c'est bien beau mais du coup mise à part tes 2 3 petits soucis, tu a besoin de nous ou c'était juste un compte rendu de tes tests? ^^
Le vrai problème c'est le levé de soleil de l'aquarium c'est ça?

Sinon pour un débutant tu touche un peut à tout c'est bien tu va vite progresser.

GL.

Skizo !
Logged

Un tien vaux mieux que deux tu l'auras !

Offline Offline
Newbie
*
Karma: 1
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

Merci de ta réponse, effectivement j'ai quelques petits soucis mais je ne voulais pas demander de l'aide sans me présenter et présenter mon projet !

Actuellement, j'avance plutôt pas mal. J'ai enfin trouvé la source de mes problèmes de connexion. C'est ma planche à pain velleman qui n'est pas bonne, elle ne fonctionne tout simplement pas. En soudant les composants à des fils pour les brancher en direct sur la carte cela fonctionne (du moins pour la température).

Il me reste encore à comprendre comment brancher le module RTC. Si je regarde la datasheet (Maxim DS1307 64 x 8, Serial, I2C Real-Time Clock) :
SDA : Serial Data Input/Output. SDA is the data input/output for the I2C serial interface. The
SDA pin is open drain and requires an external pullup resistor. The pullup voltage can be
up to 5.5V regardless of the voltage on VCC.
SCL : Serial Clock Input. SCL is the clock input for the I2C interface and is used to synchronize
data movement on the serial interface. The pullup voltage can be up to 5.5V regardless of
the voltage on VCC.


Il faut donc que je connecte SDA et SCL à A4 et A5 via des résistances de pullup (2,2k je pense) et aussi à Vcc 5V ?

Hors, dans tous les tuto que j'ai regardé, je n'ai jamais vu de SDA/SCL branchés sur le 5V. A chaque fois, il sont seulement branchés sur A4 et A5 (plus souvent sans résistance) et jamais au 5V.

Je t'avoue que je ne sais pas quoi faire à part tester en espérant que la module ou la carte ne soit pas abimés.

Si quelqu'un a un tuyau, je l'en remercie par avance
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut kohleric,
je te connais via l'ilot...
Je suis nul avec le arduino, mais moi aussi je commence un peu. Pour ton module RTC, tu peux le brancher directement comme dis précedemment  : sans résistance en A4 et A5 ; Vcc en 5V et GND à la masse.
Chez moi, je l'ai branché comme ça et pas de soucis.
Logged

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 863
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui effectivement tu peut le brancher directement comme ça, après si il est conseillé des res de pull-up, mets en sait on jamais, si ça fonctionne tu les laisse sinon tu les virent.

Alex.
Logged

Un tien vaux mieux que deux tu l'auras !

Offline Offline
Newbie
*
Karma: 1
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OK je vais faire comme cela. J'avais tout d'abord besoin de savoir quel est le bon branchement avant de rouspéter, merci de l'info !

Pour le moment j'ai tenté des branchements avec ou sans résistance et cela n'a pas fonctionné mais c'était en passant par la planche à pain qui a priori ne fonctionne pas bien donc je vais faire comme pour mon capteur de température : tout débrancher (lcd, T ...) et ne brancher que le RTC directement sur les pin de la carte arduino.
Logged

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 863
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si avec tout le reste le fonctionnement est détériore ou nul, vérifie toutes les pins utilisées, si il y à concurrence sur une pin tu risque d'avoir des bug.

Skizo.
Logged

Un tien vaux mieux que deux tu l'auras !

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3422
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sur le bus I²C les lignes SDA et SCL sortent en collecteur ouvert donc il faut qu'il y ait quelque part des résistances de pullup.
Elles sont quelques fois intégrées sur les cartes (mais c'est plutôt rare), un petit coup d'ohmmètre entre les sorties et le plus devrait permettre de le vérifier.

Tu peux aller voir là:http://forum.arduino.cc/index.php?topic=139103.0
J'avais mis un petit sketch qui balaye les adresses sur le bus I²C pour détecter les périphériques connectés.
« Last Edit: September 30, 2013, 09:33:16 am by fdufnews » Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3422
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,
Je m'en excuse par avance mais je n'ai pas vu de fil spécial pour se présenter avant de venir poser des questions.

Si tu n'as pas changé d'avis, c'est là : http://forum.arduino.cc/index.php?topic=98983.0
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Impeccable, avec tout ça je repars sur de bonnes bases.

Et je vais passer par les présentations smiley

.... quelques minutes plus tard .....

C'est toujours pas bon. J'ai testé avec et sans résistance, directement sur la carte, seulement le rtc de branché. J'ai utilisé le programme conseillé plus haut ainsi que les deux programmes proposés en exemple dans le logiciel arduino. A chaque fois, un message de non-connexion avec l'horloge.

Est-il possible de tester les ports analogiques A4 et A5 (allumer une led ?) et est-ce que ce serait utile pour avancer ? Le mini shield rtc est un microbot et la pile est neuve.
« Last Edit: September 30, 2013, 04:16:24 pm by kohleric » Logged

France S-O
Offline Offline
Edison Member
*
Karma: 41
Posts: 2170
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Est-il possible de tester les ports analogiques A4 et A5
Oui mais le plus utile serait que tu teste la valeur des tensions avec un multimètre, c'est l'outil de base qui te servira tout le temps.
Si tu n'en a pas il n'est pas nécessaire d'avoir une bête de course : le modèle autour de 10 € vendu en grande surface de bricolage suffit largement.
Logged

Offline Offline
Full Member
***
Karma: 4
Posts: 155
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut camarade

Je suppose que ton DS1307 est monté sur un petit circuit imprimé, avec la pile derrière.
Un truc genre TinyRTC.
Si oui, alors tu peux le brancher directement car les résistances de pull-up sont intégrées sur la plaque.
Pour le vérifier, mesurer la résistance entre SDA & VCC et entre SCL & VCC aux connecteurs du circuit (si tu n'as pas de multimètre fonce en acheter un petit, c'est indispensable pour démarrer).

Ensuite, si j'ai bien lu, tu es sur une MEGA 2560 (suis le seul à lire les posts en entier ou quoi ? smiley-twist)
Alors tu peux toujours brancher SDA & SCL sur A4 & A5 => sur cette carte c'est 20 & 21  smiley-kiss
Logged

Offline Offline
Full Member
***
Karma: 4
Posts: 155
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oups je rectifie : j'ai regardé la doc de ton shield microbot RTC et à la différence d'un TinyRTC, il n'intègre peut-être pas de résistance de pull-up sur SDA et SCL => vérifie ton montage avec un multimètre
Logged

Offline Offline
Full Member
***
Karma: 4
Posts: 155
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

En passant :
Sur le DS1307, les 56 octets de RAM non volatile (tant que la pile est bonne) sont aussi très utiles pour mémoriser des infos essentielles, y compris en cas de coupure électrique, et sans limitation du nombre de lectures / écritures comme dans le cas d’une eeprom.

A cas où cela puisse te donner des idées, voici à quoi j’utilise ces 56 octets pour piloter un aquarium

J’ai commencé par définir mon propre format interne timestamp, sur 4 octets (uint32_t), contenant le nombre de secondes écoulées depuis le 01/01/2000 00:00
Avec deux fonctions permettant de passer d’un format à l’autre et inversement.
L’heure lue sur le DS1307 est immédiatement convertie en timestamp, car c’est plus petit et pratique à manipuler dans le programme. Elle repasse en format étendu uniquement à des fins d’affichage.

Les 56 octets disponibles du DS1307 me servent à mémoriser 14 uint32_t : 13 timestamp + 1 nombre magique fixe sur 4 octets permettant, au lancement du programme, de savoir que la RAM contient des données valides (sinon message d’alerte : vérifier l’état de la pile)

Les 13 timestamp sont :
- les trois dernières distributions de nourriture
- les trois derniers changements d’eau (suis en eau douce, j’aime pas le sel  smiley-twist)
- les trois derniers démarrages du système
- les trois derniers arrêts du système
- le dernier recalage automatique d’horloge par NTP (en principe une fois par jour).

L’heure du DS1307 est lue une fois par seconde, et immédiatement réécrite ailleurs dans la NVRAM (à la position qui correspond au dernier arrêt du système). Cela permet, au redémarrage après une coupure électrique, de déterminer la durée de la coupure et de réagir en fonction : propagation d’alerte sur LCD, mail, …

Si tu veux être alerté dès le début de la coupure électrique, il te faudra un autre dispositif (comme celui indiqué sur le site de l’ilot).
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Est-il possible de tester les ports analogiques A4 et A5
Oui mais le plus utile serait que tu teste la valeur des tensions avec un multimètre, c'est l'outil de base qui te servira tout le temps.
Si tu n'en a pas il n'est pas nécessaire d'avoir une bête de course : le modèle autour de 10 € vendu en grande surface de bricolage suffit largement.

Oui j'ai un multimètre qui permet de mesurer les résistances (pas très précisément mais suffisant). Je vais mesurer, je serai fixé.

Alors tu peux toujours brancher SDA & SCL sur A4 & A5 => sur cette carte c'est 20 & 21  smiley-kiss

Ah bah d'accord, effectivement, on pouvait chercher longtemps. Si c'est ça c'est excellent !

Par contre, pour la suite de ton message, si je comprends bien l'intérêt, je n'ai pas assez de compétence actuellement pour développer une telle solution ... ce sera pour plus tard  smiley

Merci à tous !!!
Logged

Pages: [1] 2   Go Up
Jump to: