Pages: [1]   Go Down
Author Topic: OLED SSD1306 et ethernet ENC28J60 arduino nano  (Read 847 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour à tous,

je suis en train de développer pour ma maison une sonde de température réseau avec affichage de différentes informations ainsi que 3 boutons pour piloter mon chauffage.
pour ça J'ai :
une arduino nano
une sonde 1-wire
un écran OLED 128x64 avec la librairie adafruit_ssd1306
une interface ethernet enc28j60 avec la librairie ethercard
3 boutons.

pour l'instant j'arrive à récupérer la température de la sonde et l'afficher sur l'écran OLED.
J'aimerais envoyer la valeur de la sonde de température dans ma base mysql par l'intermédiaire d'une page PHP.
Dès que j'utilise la librairie ethercard, l'écran se rempli de petits carrés et rien ne fonctionne.

J'ai l'impression que les librairies du oled et de l'ethercard utilisent des adresses communes, ce qui fait planter mon montage.

Avez vous des idées ?

Merci
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 110
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu devrais vérifier si ton sheald et ton écran oled utilise le protocole spi,
Car si c'est le ca il faut que qu'il aie chacun une broche ss différente.
Logged

www.hatokuro.comuf.com site consacrer au rétrogaming

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

Merci pour la réponse,

mais les deux shields n'utilisent pas du tout les même broches. vu que c'est sur une nano et que j'utilise une breadboard, je controle quelles broches sont utilisées.

Merci
Logged

France
Offline Offline
God Member
*****
Karma: 4
Posts: 971
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour
Quote
mais les deux shields n'utilisent pas du tout les même broches. vu que c'est sur une nano et que j'utilise une breadboard, je controle quelles broches sont utilisées.
Quelles broches sont utilisées pour les deux périphériques SPI ?
La librairie Ethercard nécessite de préciser la broche choisie comme SS par l'utilisateur  pour sélectionner l'ENC28J60  (la valeur par défaut , pin 8,ne convient pas forcément , elle est liée aux cartes JeeNode).
C'est le troisième  parametre (optionnel) de ether.begin(), pin 53 dans l'exemple suivant
Code:
void setup () {
  if (ether.begin(sizeof Ethernet::buffer,    mymac,  53  ) == 0)
    Serial.println( "Failed to access Ethernet controller");
  ether.staticSetup(myip);
}
Je ne sais pas si cela suffit dans la dernière version de cette librairie. Il y a encore un csPin=8 dans enc28j60.h ........
« Last Edit: November 24, 2012, 11:50:18 am by al1fch » Logged

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

j'utilise la pin 10

Code:
void setup () {
  if (ether.begin(sizeof Ethernet::buffer,    mymac,  10  ) == 0)
    Serial.println( "Failed to access Ethernet controller");
  ether.staticSetup(myip);
}

ça marche quand j'utilise les librairies du contrôleur réseau seul, et ça marche aussi quand la librairie du oled est seul.

pour le oled

Code:
#define OLED_DC 6
#define OLED_CS 7
#define OLED_CLK 5
#define OLED_MOSI 4
#define OLED_RESET 9
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

Merci
Logged

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

L'ENC28J60 utilise une interruption. Il faudrait voir si par hasard tu n'interromprais pas les routines graphiques.
Car même si elles utilisent des broches SS distinctes les 2 librairies utilisent le même périphérique matériel (l'interface SPI).
Il faudrait peut être mettre en place des protections pour contrôler l'accès au port SPI.
« Last Edit: November 24, 2012, 02:15:43 pm by fdufnews » Logged

France
Offline Offline
God Member
*****
Karma: 4
Posts: 971
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il me semble que la librairie Ethercard n'exploite pas les possibilités d'interruptions de la puce enc28j60 .
J'utilise en tous les cas cette librairie avec un câblage minimal entre micro et puce ethernet (MISO, MOSI, CLK et SS) , donc avec RST et IRQ non câblés.

Je pense à une autre piste : alimentation qui chuterai un peu pendant que l'ENC28J60 est sollicité.. c'est une puce un peu 'gourmande' (compter 150mA sous 3,3V) et par conséquent un peu chaude (40 à 50°C)....
Chez moi elle a son petit régulateur 3,3V bien à elle.
« Last Edit: November 24, 2012, 02:51:02 pm by al1fch » Logged

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

Bonsoir,

Piste intéressante, je vais creuser de ce côté. D'ailleurs le 5v fait plutôt 4.7v et le 3v fait 3v. Ça  doit être trop juste. Je vais voir pour alimenter tout ça correctement.

Je vous tiens au courant.

Merci
Logged

Pages: [1]   Go Up
Jump to: