bonjour a tous
imaginons que on a un tableau
int repere[] ={0 ,2 ,4 ,6 ,8 ,10 ,12 ,14 ,16 ,18 ,20 ...}
qui va jusqu'a 60 il y a un moyens de faire plus simple ou plus compacte ??
bonjour a tous
imaginons que on a un tableau
int repere[] ={0 ,2 ,4 ,6 ,8 ,10 ,12 ,14 ,16 ,18 ,20 ...}
qui va jusqu'a 60 il y a un moyens de faire plus simple ou plus compacte ??
for (byte i = 0; i<31; i++) repere[i] = i*2;
35 caractères sans les espaces. Plus compact, tu meurs... mais je lance le concours de compacité-geek sur la question...
merci pour la réponce rapide lesept
for (int i = 0; i<31; i++) repere[i] = i*2;
34 !!
^^ bon je reviens car sa marche pas ;(
#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_NeoPixel.h>
OneButton button1(A1, true);
int PIN = 13 ;
int PIXEL = 60 ;
int BOUTON = A1 ;
int fadeAmount = 35 ;
int i = 6;
int j = 0;
int luminositer = 127;
int appui1 = 0 ;
int appui2 = 0 ;
int appui3 = 0 ;
int repere[34];
int buttonState = 0;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL, PIN, NEO_GRB + NEO_KHZ800);
RTC_DS1307 RTC; // Establish clock object
DateTime Clock; // Holds current clock time
int hourval, minuteval, secondval;
//OneButton button1(A1, true);
void setup() {
strip.setBrightness(luminositer);
//pinMode (BOUTON, INPUT);
Serial.begin(2000000);
while (!Serial) {}
Wire.begin(); // Begin I2C
RTC.begin(); // begin clock
Serial.println("Starting TwoButtons...");
button1.attachClick(click1);
button1.attachDoubleClick(doubleappui1);
button1.attachLongPressStart(longPressStart1);
button1.attachLongPressStop(longPressStop1);
button1.attachDuringLongPress(longPress1);
//RTC.adjust(DateTime(__DATE__, __TIME__));
strip.begin();
strip.show(); // Initialize all pixels to 'off'
}
void loop() {
Horloge();
Serial.println(luminositer);
Serial.println(j);
Serial.println(i);
Serial.println(appui1);
Serial.println(appui2);
Serial.println(appui3);
}
void Horloge(){
Clock = RTC.now(); // get the RTC time
secondval = Clock.second(); // get seconds
minuteval = Clock.minute(); // get minutes
hourval = Clock.hour(); // get hours
for (byte i = 0; i<34; i++) repere[i] = i*2;
if(hourval > 11) hourval -= 12;{ // This clock is 12 hour, if 13-23, convert to 0-11
hourval = (hourval*60 + minuteval) / 12;
}
strip.setPixelColor(repere, 0x008080);
strip.setPixelColor(hourval, 0x008080);
strip.setPixelColor(minuteval, 0x800080);
strip.setPixelColor(secondval, 0x808000);
(j'ai pas tous mi)
sa téléverse
la partie heur marche mes sa affiche pas tous les point
'c'est toujours sur l'horloge
repere est un tableau, mais setPixelColor ne marche que sur un pixel. tu dois faire une boucle
for (byte i = 0; i<34; i++) strip.setPixelColor(repere[i], 0x008080);
Tu peux mettre l'initialisation de ton tableau repere dans le setup, inutile de le refaire à chaque fois.
sa dépendras d'une option que on choisi (avec un if) qui seras afficher ou non je vais faire pareil avec 5
pour quoi 34 et pas 30 ??
C'était dans ton code. J'ai copié collé...
a oui j'ai pas remarquer je sais pas dous sa vient XD
Roooooooô...
bon dernier question pour aujourd'hui comment on fait pour avoir deux couleur
(ex 5 , 15 , 25 , 35 ..... en rouge
et 10 , 20 , 30 , 40 ..... en bleu
j'ai tester sa
if (k == 3){
for (int j = 0; j<30; j++) repere[j] = j*10+5;
for (int l = 0; l<30; l++) repere[l] = l*10+10;
for (byte j = 0; j<30; j++) strip.setPixelColor(repere[j], 0x000202);
for (byte l = 0; l<30; l++) strip.setPixelColor(repere[l], 0xFF0202);
}
mes sa effectue que l
Pour ton mémo personnel: void veut dire vide. C’est un type pas une fonction. Une fonction de type void sera une fonction qui ne renverra rien.
Je suppose que tu veux dire
for (int i=0; i<3; i++) {
for (int j=0 ;j<5;j++) {
strip.setPixelColor(i*10+j, 0x0000ff); // bleu
strip.setPixelColor(i*10+j+5, 0xff0000); // rouge
}
}
non
5 15 25 ... en rouge
10 20 30 ... en bleu
et le reste 1 2 3 4 6 7 8 9 11 12 ... en off
juste en modifient les valeur sa a régler merci ^^
for (int i=0; i<1; i++) {
for (int j=0 ;j<6;j++) {
strip.setPixelColor(i*10+j, 0x0000ff); // bleu
strip.setPixelColor(i*10+j+5, 0xff0000); // rouge
}
}