biggil:
Tu peux utiliser une ligne série.
Il te faut
- deux broches GPIO libres sur l'Arduino
- un petit circuit qui adapte les tensions (5V pour Arduino, 3,3V pour ESP)
- la bibliothèque SofwareSerial pour piloter la ligne côté Arduino, ce qui implique un débit "modéré" sur la ligne série.
[Edit]
Rectification tu as une carte MEGA, qui possède déjà plusieurs ligne séries intégrées. Il te faut quand même le circuit adaptateur de tension.
Merci pour ta réponse,
Oui, j'utilise une alimentation séparé que je peux moduler en 3.3V ou 5V,
J'utilise aussi la bibliothèque SoftwareSerial sur les pin 10 et 11 pour piloter la ligne, cependant je ne comprends pas, lorsque l'information arrive a mon esp, comment il peut m'envoyer la notification sur mon smartphone vu que sur le programme de l'esp je ne peux pas utiliser la fonction digitalRead() parce que je connais pas le numéro des pins de l'ESP. (C'est ma réflexion ^^)
Voici le code que j'utilise sur l'Arduino:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
int ledPin = 5;
int buttonApin = 9;
int buttonBpin = 8;
//byte leds = 0;
void setup()
{
Serial.begin (115200);
mySerial.begin(115200);
pinMode(ledPin, OUTPUT);
pinMode(buttonApin, INPUT_PULLUP);
pinMode(buttonBpin, INPUT_PULLUP);
}
void loop()
{
if (digitalRead(buttonApin) == LOW)
{
digitalWrite(ledPin, HIGH);
mySerial.write("c");
}
if (digitalRead(buttonBpin) == LOW)
{
digitalWrite(ledPin, LOW);
}
}
Et voici le code je j'ai mis sur l'ESP :
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "****************";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "SFR-****";
char pass[] = "************";
String val;
void setup()
{
// Debug console
Serial.begin(115200);
pinMode(0, OUTPUT);
pinMode(2, INPUT);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
delay(2000);
}
void loop()
{
Blynk.run();
val = digitalRead(2);
if (val=="c") {
Blynk.notify("Hey, Blynkers! Mon matériel peut push désormais !");
}
}
Niveau branchement
ESP Arduino
- VCC et RST branchés au 3.3V
- GRD sur GRD
- GPIO 0 sur la pin 11
- GPIO 2 sur la pin 10