Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Arduino - WS2812 en...
 
Deel:
Meldingen
Alles wissen

[Opgelost] Arduino - WS2812 en Audio In

56 Berichten
2 Gebruikers
0 Reactions
8,817 Bekeken
(@uncels)
Trusted Member
Deelgenomen: 9 jaar geleden
Berichten: 81
 

De strips zijn binnen, wat raad je aan mbt de connectors?   Heb je een foto van jouw aansluitingen mbt 5v adapter & strips naar arduino?
Aan mijn strips zitten 2 connectoren, mannetje & vrouwtje met daarin 3 draden, rood, wit & groen + 2 losse draden, 1 rood & 1 wit.
Uit de connector is rood + wit = 5volt, groen de data draad, de overige losse draden zijn niet nodig?
Zelf dacht ik aan een plastic box oid met daarin de connectors, weerstand & Condensator, maar moet dan nog eea bestellen.


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2859
Topic starter  

Cool! 

Wit (- of aarde of GND) en Rood (+5V) zijn inderdaad dubbel. Vaak omdat deze los worden aansloten op een voeding.

De groene draad is Din (data).

Een van de witte draden gaat dus naar de externe voeding EN aarde (GND) van de Arduino.
Een van de rode draden gaat naar de plus van de externe voeding.
En de groene draad gaat naar de Arduino (b.v. PIN 6).

De USB van de Arduino gaat naar de computer.

De stekkers zijn "standaard", vaak zit er nog een extra losse bij.
Je zou kroonsteentjes kunnen overwegen.


   
BeantwoordenCiteren
(@uncels)
Trusted Member
Deelgenomen: 9 jaar geleden
Berichten: 81
 

Er zit geen losse connector bij, ik heb 2 strips van 1 meter, ik wou ze doorlussen en er 1 afknippen (aan het eind).

Kroonsteen ja dat ook, ik dacht even dat hier deftigere aansluitingen gebruikt werden.

De weerstand op (Audio) A0 & op pin 6 + condensator tussen 5v & aarde is aan te raden toch?


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2859
Topic starter  

Voor de audio gebruik ik inderdaad A0. En dan gewoon de schakeling volgen die ik eerder gepost had.

Je kunt de sketch dan meteen proberen - even het juiste aantal LEDs opgeven in NUM_LEDS en er voor zorgen dat je de Arduino IDE, en FastLED (of NeoPixel) hebt geinstalleerd staan.

Overiges zou ik eerst alleen de LEDs proberen zodat je zeker weet dat de strip OK is.

Overigens:
Wel goed opletten op de groene draad. Er staat op de strip vaak een pijltje. Je moet dan de kant nemen waar het pijltje van de groene draad af wijst. Dus er vandaan. Het pijltje geeft de data richting aan.


   
BeantwoordenCiteren
(@uncels)
Trusted Member
Deelgenomen: 9 jaar geleden
Berichten: 81
 

Nu begrijp ik waarom je zegt, test eerst je strips. Dat is dus niet altijd het geval.

1 ledstrip werkt volledig, ook op de arduino. Op de andere strip branden er slechts 5, verdeelt over de strip.

Waarvan er 2 fel branden en de andere nauwelijks zichtbaar, ik ga banggoods mailen of ze dit op willen lossen.


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2859
Topic starter  

Mooi, en vervelend natuurlijk, dat je het ontdekt heb voor je uren verloren had aan een niet goedwerkende strip ... 

Heb je beide strips op de Arduino getest?
Even om zeker te zijn: Alleen stroom erop zetten geeft onvoorspelbare effecten - je weet nooit wat je mag verwachten. Daarom ook de test routines in het Arduino WS2811/WS2812 artikel


   
BeantwoordenCiteren
(@uncels)
Trusted Member
Deelgenomen: 9 jaar geleden
Berichten: 81
 

De werkende strip geeft al voldoening met de strandtest op de arduino.  Dit is leuk.

Met muziek en de splitter werkt ook, leuke combinatie met bovengenoemde ambilight hack.

Nu ga ik eens zoeken naar een lichtorgel, wat verder geen effecten geeft, dat kan natuurlijk ook op 2 kanalen voor 2 strips met A0 & A1


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2859
Topic starter  

Leek me ook leuk (maar kost wat meer onderzoek): spectrum analyzer-achtige opzet waarbij iedere LED een frequentie gebied beslaat en de intensiteit van het licht aangeeft hoe sterk die frequentie is.

Wat lastiger in de opzet.

Maar leuk dat je al aan de slag kunt met de ene strip! 


   
BeantwoordenCiteren
(@uncels)
Trusted Member
Deelgenomen: 9 jaar geleden
Berichten: 81
 

Zojuist vond ik dit YouTube filmpje, maar bij compileren krijg ik: cc1plus.exe: out of memory allocating 1677721600 bytes

Dit lijkt wat we willen toch?


   
BeantwoordenCiteren
(@uncels)
Trusted Member
Deelgenomen: 9 jaar geleden
Berichten: 81
 

Als je 2 strips hebt, kan 1 arduino deze dan ook besturen? 1 op A0 & 1 op A1,  heb je dan 2 arduino's  nodig of een aangepaste code die beide strips bestuurd?


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2859
Topic starter  

Zeker kun je 2 strips aansturen.
Ik zou dan de 2 strips als 1 aan spreken (doorlussen dus), dan is het een kwestie van 0...59 = links, 60...119 = rechts (op een strip van 120 LEDs, of te wel 2x 1 meter a 60 LEDs).

Ik weet niet of we met FastLED of NeoPixel 2x een aparte strip kunnen opzetten (pin 6 en pin 7 b.v.).

De Audio kan zeker via Pin A0 en A1!

De truuk door een noise detection module te gebruiken heb ik getest, maar was niet onder de indruk van de gevoeligheid.
Ik wil liever een wat nauwkeurigere meting.


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2859
Topic starter  

Ik probeer van de week nog even met de versterker te spelen.
Ik ben een paar weken naar de VS vanaf Zondag, dus dan ligt alles even stil aan deze kant ... 

Ik zal m'n Arduino spul proberen mee te nemen zodat ik daar ook kan prullen, maar ik weet niet of dat gaat lukken.


   
BeantwoordenCiteren
(@uncels)
Trusted Member
Deelgenomen: 9 jaar geleden
Berichten: 81
 

Banggoods gaat een nieuwe ws2812 strip sturen, na wat experimenteren met verschillende codes kocht ik de IR remote

Ik kan de AB testen, ja die werkt. maar 2 .ino codes samenvoegen blijkt echt lastig te zijn, via seriële monitor zie ik dat een knop is ingedrukt is op de AB.  Maar de leds gaan niet aan of uit. Wat doe ik fout?

#include <IRremote.h>
#include "FastLED.h"
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
  #include <avr/power.h>
#endif
#define PIN 6
#define NUM_LEDS 60
int led = 6;
CRGB leds[NUM_LEDS];
const unsigned int IR_RECEIVER_PIN = 11;
IRrecv ir_receiver(IR_RECEIVER_PIN);
decode_results results;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

void setup()
{
  strip.begin();
  strip.show(); // Initialize all pixels to 'off'

  Serial.begin(9600);
  ir_receiver.enableIRIn(); // Start the receiver
  pinMode(led, OUTPUT);
      }
void loop() {
  if (ir_receiver.decode(&results)) {
   
    long int decCode = results.value;
    Serial.println(decCode);
    switch (results.value) {
      case 16753245: //code to turn on LED
        Serial.println("WS2812b On");
        digitalWrite(led, HIGH);
        break;
      case 16769565:  //code to turn off LED
        Serial.println("WS2812b Off");
        digitalWrite(led, LOW);
        break;
      default:
        Serial.println("Arduino wacht op input.");
    }
    ir_receiver.resume();
  }
}


   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2859
Topic starter  

Ehm, ik weet niet precies wat je bij elkaar hebt gezet.

Het ziet er naar uit dat je met een LED strip werkt, maar vervolgens gebruik je "digitalWrite(led, LOW);" om de strip (?) uit te zetten. Dit lijkt meer op code voor 1 enkele LED.

LED strip aanzetten en uitzetten doe je zo iets (voor NeoPixel):

...
  setAll(0,0,0); // alles UIT
...
  setAll(0xff,0,0); // alles ROOD
...
  setAll(0xff,0xff,0xff); // alles WIT
...

De functie die ik daarvoor gebruik:

void setAll(byte red, byte green, byte blue) {
  for(int i = 0; i < NUM_LEDS; i++ ) {
       strip.setPixelColor(Pixel, strip.Color(red, green, blue));
  }
 strip.show();
}

   
BeantwoordenCiteren
(@uncels)
Trusted Member
Deelgenomen: 9 jaar geleden
Berichten: 81
 

Mogelijk moet ik verder in codes gaan verdiepen, ik krijg dit niet werkend met de voorgestelde code.

Aan/Uit/Dimmen met de afstandbediening op de WS2812 dat was het doel wat ik voor ogen had.

Indien dit werkend te krijgen mogelijk als volgend project met de knoppen op de afstandbediening andere functies of .ino in te schakelen.


   
BeantwoordenCiteren
Pagina 2 / 4
Deel: