WeMos D1 Mini + Blynk

Bonsoir,

Je viens à vous pour quelques petites questions.

Matériels :

  • WeMos D1 Mini
  • 3 Pixels (WS2812B)
  • Câble de raccordement

Mon programme ce base sur des recherches internet, j’ai réussi à faire changer la couleur de mes Neopixels via le widget (zeRGBa)(V1) de chez Blynk.

Je voulais créer un bouton (V3) pour lancer un clignotement de mes leds quand le bouton est ON, et s’éteindre quand le bouton est OFF, mais cela ne fonctionne pas très bien. Ma boucle s’arrête aussi tôt, quelque chose n’est pas adapté dans mon code ?

Merci de vos réponses, désolé je débute avec ce genre de carte, j’ai fais pas mal de recherches, et j’ai même été sur le site de Blynk, mais mon anglais est assez limité :frowning: !

#include <bitswap.h>
#include <chipsets.h>
#include <color.h>
#include <colorpalettes.h>
#include <colorutils.h>
#include <controller.h>
#include <cpp_compat.h>
#include <dmx.h>
#include <FastLED.h>
#include <fastled_config.h>
#include <fastled_delay.h>
#include <fastled_progmem.h>
#include <fastpin.h>
#include <fastspi.h>
#include <fastspi_bitbang.h>
#include <fastspi_dma.h>
#include <fastspi_nop.h>
#include <fastspi_ref.h>
#include <fastspi_types.h>
#include <hsv2rgb.h>
#include <led_sysdefs.h>
#include <lib8tion.h>
#include <noise.h>
#include <pixelset.h>
#include <pixeltypes.h>
#include <platforms.h>
#include <power_mgt.h>


#include <Adafruit_NeoPixel.h>
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SPI.h>

// Vos paramètres de connexion WiFi - Your WiFi credentials.
char ssid[] = "SSID"; // SSID WiFi
char pass[] = "Password"; // Mot de passe WiFi

// Jeton Blynk - Blynk Token
char auth[] = "Token";

#define PIN 2
#define NUMPIXELS 4
#define LED_TYPE WS2812
#define LED_DT 2
#define COLOR_ORDER GRB
Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel strip = Adafruit_NeoPixel(4,2,NEO_GRB+NEO_KHZ800);

struct CRGB leds[NUMPIXELS];

uint8_t max_bright = 255;

void setup()
{

strip.begin();
strip.show(); //Initialise toutes les leds à OFF.
delay(1000);
LEDS.addLeds<LED_TYPE, LED_DT, COLOR_ORDER>(leds, NUMPIXELS);
FastLED.setBrightness(max_bright);

Serial.begin(9600);
  //Serial.begin(115200); // See the connection status in Serial Monitor
  //Blynk.begin(auth, ssid, pass); //Pour ce connecter via un serveur
Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442); //Pour ce connecter via le Cloud
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,251), 8442); //Pour ce connecter en local
  pixels.begin();
}

BLYNK_WRITE(V2)
{
  int R = param[0].asInt();
  int G = param[1].asInt();
  int B = param[2].asInt();
  Serial.println(R);
  Serial.println(G);
  Serial.println(B);
  for(int i=0;i<NUMPIXELS;i++)
  {
    pixels.setPixelColor(i, pixels.Color(R,G,B));
    pixels.show();
  }
}

BLYNK_WRITE(V3)
{
  if (param.asInt() == 1) {
    for(int i=0;i<NUMPIXELS;i++) {
  leds[i] = CRGB::HotPink;
  leds[i-1].setRGB(0,0,0);
  FastLED.show();
  delay(50);
    }
}
  if (param.asInt() == 0) {
    for(int i = 0;i<NUMPIXELS;i++) {
      leds[i].setRGB(0,0,0);
    }
  }
}

void loop()
{
  Blynk.run();
}

Mon but final serait de me faire plusieurs boutons sur mon interface Blynk pour faire toutes sortes de tests via ces quelques Neopixels (Luminosité, Vitesse, ect)…

Merci d’avance :slight_smile:

Déjà, édite ton message pour enlever tes infos personnelles : SSID, password et Blynk token

Merci de l'info, j'ai été un peu vite et du coup...

Bonjour

Hum… ça déjà je ne le sens pas trop… :slight_smile:

for(int [color=red]i=0[/color];i<NUMPIXELS;i++) {
  leds[ i] = CRGB::HotPink;
  leds[[color=red]i-1[/color]].setRGB(0,0,0);

Sans vouloir être désagréable, je viens ici après avoir fait quelques recherches, et surtout beaucoup de tests avec ma carte, je n'ai peut être pas ton savoir, mais j’espérais une réponse constructive.

En faite avec ce bout de code, je voulais me faire un bouton sur Blynk qui lance un cycle ou les leds font un cycle rapide tout en "effaçant leurs traces derrières elles".

Bonne soirée :slight_smile:

Bonjour bimbimrsa,

Ne pense pas que J-M-L, ou d'autres personnes, cherche à te rabaisser par rapport à ton niveau. C'est juste qu'ils veulent mettre le doigt sur un morceau de code qui pourrait être la source de ton problème (ou potentiellement un autre).

Cette façon de procéder est juste un moyen de te permettre de progresser par toi-même plutôt que de te livrer la solution directement.

La forme n'y est pas forcément (peut-être un bonjour qui manque), mais le faite qu'ils répondent prouve qu'ils veulent t'aider.

Certaines personnes sont très actives sur ce forum. Le fait d'enchainer les réponses à des demandes, et ils ont tendance à limiter le texte au strict minimum pour aller sur un autre sujet.

Mais ne t'inquiète pas pour ton problème car tu verras, au final, qu'ils seront toujours présents pour te faire avancer. :wink:

Ma réponse était constructive et factuelle - la partie que j’ai pris le temps de mettre en rouge doit vous indiquer où commencer à regarder et voir si ça améliore les choses. Quand i vaut 0 combien vaut i-1 ? À quel endroit de la mémoire allez vous écrire ?

Je suis contre dans l’absolu donner des solutions toutes faites, je ne vous connais pas, je ne connais pas votre niveau. Parfois on rate une évidence même quand on est expérimenté parce qu’on a le nez collé sur le code. je donne donc souvent une indication d’une piste à explorer. Si vous ne comprenez pas ou ce n’est pas suffisant il suffit de le dire..

Oui, je ne dis pas bonjour à chaque post, je tape sur mon smartphone souvent, donc je vais à l’essentiel. Le fait que je prenne du temps pour lire votre code et essayer de vous aider à avancer est ce qui compte non ?

Ps: bonjour :slight_smile:

Ça marche, je n'ai pas forcément l'habitude de poster des messages sur les forums, et je n'avais pas vu ça sous cette angle là.

En effet, je suis assez d'accord sur le fait que donner une solution toute faite n'est pas la solution.. on apprend de ses erreurs.

Merci pour votre aide en tout cas, je vois revoir ce morceau de code et je reviendrais vers vous.

Bonne journée & merci encore :slight_smile:

J'ai mis le Hello et Bonjour dans ma signature maintenant :slight_smile: