[Arduino] RGB strip niet werkend met PIR sensor

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Yagermeister
  • Registratie: December 2001
  • Laatst online: 08:07

Yagermeister

Bedrijfsprutser on call

Topicstarter
Voor een simpel project ben ik bezig om een led strip aan te sluiten via een PIR sensor.

Hiervoor gebruik ik de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <Adafruit_NeoPixel.h>

#define LED_PIN    9
#define LED_COUNT 96 
int inputPin = 4; // Pin of IR Motion Sensor
int pirState = LOW;
int val = 0;


// Declare our NeoPixel strip object:
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  pinMode(inputPin, INPUT);
  
  strip.begin();           // INITIALIZE NeoPixel strip object (REQUIRED)
  strip.show();            // Turn OFF all pixels ASAP

  Serial.begin(9600);
}


void loop(){
  val = digitalRead(inputPin);  // read input value
  if (val == HIGH) {            // check if the input is HIGH
    rainbow(5);
    if (pirState == LOW) {
      // we have just turned on
      Serial.println("Motion detected!");
      // We only want to print on the output change, not state
      pirState = HIGH;
    }
  } else {
    if (pirState == HIGH){
      // we have just turned of
      Serial.println("Motion ended!");
      // We only want to print on the output change, not state
      pirState = LOW;
    }
  }
}


void rainbow(int wait) {
  for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {
    for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
      int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels());
      strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(pixelHue)));
    }
    strip.show();
    delay(wait);
  }
}


Op pin 9 heb ik de input van de strip gehangen en op pin 4 heb ik de output van de PIR gehangen volgens het schema van de winkel waar ik hem gekocht heb (https://www.tinytronics.n...on-sensor-detector-module). Als ik echter bovenstaande code uitvoer en ik als een debiel voor de sensor ga zitten te wapperen gebeurt er niks terwijl als ik de sensor eruit laat de strip perfect werkt.

De arduino is een Digispark Pro clone.

Weet iemand misschien wat ik fout doe of zou de sensor kapot kunnen zijn?

-Te huur

Alle reacties


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Kon niet zo snel terug vinden welk type jij hebt maar hier staat een test programmaatje

* PIR sensor tester
https://learn.adafruit.co...sor/using-a-pir-w-arduino

Die code is bijna hetzelfde als die jij gepost hebt zie ik nu.
Kan het allicht proberen.

Wat ze hiermee bedoelen

Its likely that you'll want reriggering, so be sure to put the jumper in the H position!

geen idee. ** uitleg daarvan staat op de vorige pagina**
https://learn.adafruit.co...tion-sensor/testing-a-pir
.

[ Voor 70% gewijzigd door kitao op 22-04-2019 06:31 . Reden: ** ]


Acties:
  • 0 Henk 'm!

  • ResuCigam
  • Registratie: Maart 2005
  • Laatst online: 15:15

ResuCigam

BOFH

Zo'n PIR module heeft snel 30-60 seconden nodig voor het begint te werken (staat toevallig ook in het artikel dat @kitao linkte). Dus heb je lang genoeg gewacht? Ik zet meestal een 60 sec timer in de setup eventueel met een knipperende led zodat je weet wanneer hij klaar is.

We do what we must because we can.


Acties:
  • 0 Henk 'm!

  • Yagermeister
  • Registratie: December 2001
  • Laatst online: 08:07

Yagermeister

Bedrijfsprutser on call

Topicstarter
ResuCigam schreef op maandag 22 april 2019 @ 06:41:
Zo'n PIR module heeft snel 30-60 seconden nodig voor het begint te werken (staat toevallig ook in het artikel dat @kitao linkte). Dus heb je lang genoeg gewacht? Ik zet meestal een 60 sec timer in de setup eventueel met een knipperende led zodat je weet wanneer hij klaar is.
Ik wist niet dat het zo lang duurder voordat hij begon met reageren dus ik heb dat zojuist geprobeerd maar zelfs na enkele minuten reageert er niets.
kitao schreef op maandag 22 april 2019 @ 06:10:
Kon niet zo snel terug vinden welk type jij hebt maar hier staat een test programmaatje

* PIR sensor tester
https://learn.adafruit.co...sor/using-a-pir-w-arduino

Die code is bijna hetzelfde als die jij gepost hebt zie ik nu.
Kan het allicht proberen.

Wat ze hiermee bedoelen

Its likely that you'll want reriggering, so be sure to put the jumper in the H position!

geen idee. ** uitleg daarvan staat op de vorige pagina**
https://learn.adafruit.co...tion-sensor/testing-a-pir
.
Ik had die code inderdaad al gevonden maar ik heb helaas geen ledje om het mee te testen. Daarbij wilt de computer geen verbinding meer maken omdat de arduino zogenaamd een error heeft op de usb. Wel kan ik gewoon code uploaden erheen maar niet monitoren.

[ Voor 46% gewijzigd door Yagermeister op 22-04-2019 10:23 ]

-Te huur


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Je hebt een hele strip leds toch ?
Schijnt dat je die in stukjes kan knippen.
Maar met een spanningsmeter zou je zo'n zelfde opstelling kunnen maken waarschijnlijk.
Lijkt erop, niet neerbuigend bedoeld, dat je nog niet zo lang bezig bent met elektronica ?
Wist je wel dat je voor seriële communicatie met de uC de "baud-rate" dient in te stellen ?
Maar kan goed zijn hoor dat bepaalde dingen defect zijn en leveren die snufjes minder op als aangekondigd.

Acties:
  • 0 Henk 'm!

  • Yagermeister
  • Registratie: December 2001
  • Laatst online: 08:07

Yagermeister

Bedrijfsprutser on call

Topicstarter
kitao schreef op maandag 22 april 2019 @ 13:56:
Je hebt een hele strip leds toch ?
Schijnt dat je die in stukjes kan knippen.
Maar met een spanningsmeter zou je zo'n zelfde opstelling kunnen maken waarschijnlijk.
Lijkt erop, niet neerbuigend bedoeld, dat je nog niet zo lang bezig bent met elektronica ?
Wist je wel dat je voor seriële communicatie met de uC de "baud-rate" dient in te stellen ?
Maar kan goed zijn hoor dat bepaalde dingen defect zijn en leveren die snufjes minder op als aangekondigd.
Het is een hele strip inderdaad maar ik kan die niet meer in stukjes knippen omdat die al is bevestigd in het frame ;).

Dat van de seriele comminucatie wist ik overigens niet dus maar heb ik wel erin staan zoals je kunt zien. Volgens mij moet ik hem dan wel op 115200 zetten zodat de computer hem kan herkennen.


Ik heb overigens wel een electronica achtergrond alhoewel dit al een tijdje geleden is :> .

-Te huur


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Yagermeister schreef op maandag 22 april 2019 @ 16:41:
Het is een hele strip inderdaad maar ik kan die niet meer in stukjes knippen omdat die al is bevestigd in het frame ;).

Dat van de seriele comminucatie wist ik overigens niet dus maar heb ik wel erin staan zoals je kunt zien. Volgens mij moet ik hem dan wel op 115200 zetten zodat de computer hem kan herkennen.

Ik heb overigens wel een electronica achtergrond alhoewel dit al een tijdje geleden is :> .
Voor mij is het ook een 5 jaar geleden dat ik een echte van vlees en bloed uC met een kabeltje aan de lap had verbonden en kan voor de virtuele Uno geen seriële monitor via Tools openen.
Maar dit herinner ik nog wel, min of meer

You'd need to set whatever software you're using on your computer (like the Ardunio IDE's serial monitor) to the same speed in order to see the data being sent.

https://arduino.stackexch...ionality-serial-begin9600

In de door jou gebruikte code staat 9600
Hier een plaatje ervan
https://www.instructables...e-ARDUINO-SERIAL-MONITOR/
.

[ Voor 4% gewijzigd door kitao op 22-04-2019 17:47 ]


Acties:
  • 0 Henk 'm!

  • Yagermeister
  • Registratie: December 2001
  • Laatst online: 08:07

Yagermeister

Bedrijfsprutser on call

Topicstarter
kitao schreef op maandag 22 april 2019 @ 17:35:
[...]


Voor mij is het ook een 5 jaar geleden dat ik een echte van vlees en bloed uC met een kabeltje aan de lap had verbonden en kan voor de virtuele Uno geen seriële monitor via Tools openen.
Maar dit herinner ik nog wel, min of meer

You'd need to set whatever software you're using on your computer (like the Ardunio IDE's serial monitor) to the same speed in order to see the data being sent.

https://arduino.stackexch...ionality-serial-begin9600

In de door jou gebruikte code staat 9600
Hier een plaatje ervan
https://www.instructables...e-ARDUINO-SERIAL-MONITOR/
.
Het probleem is niet dat de seriele monitor niet werkend is maar dat windows mij een foutmelding geeft dat het USB apparaat niet herkend wordt. Ik ga dit in ieder geval vanavond eens proberen of ik hem werkend krijg middels een andere usb poort.

-Te huur


Acties:
  • 0 Henk 'm!

  • Lennyz
  • Registratie: Januari 2010
  • Laatst online: 25-09 09:49
Yagermeister schreef op dinsdag 23 april 2019 @ 10:22:
[...]


Het probleem is niet dat de seriele monitor niet werkend is maar dat windows mij een foutmelding geeft dat het USB apparaat niet herkend wordt. Ik ga dit in ieder geval vanavond eens proberen of ik hem werkend krijg middels een andere usb poort.
Heb je wel de drivers geïnstalleerd? Mijn gevoel zegt dat jij een Arduino hebt met een CH340G en dat je de drivers niet hebt geïnstalleerd.

Acties:
  • 0 Henk 'm!

  • Yagermeister
  • Registratie: December 2001
  • Laatst online: 08:07

Yagermeister

Bedrijfsprutser on call

Topicstarter
Lennyz schreef op dinsdag 23 april 2019 @ 20:53:
[...]


Heb je wel de drivers geïnstalleerd? Mijn gevoel zegt dat jij een Arduino hebt met een CH340G en dat je de drivers niet hebt geïnstalleerd.
Drivers zijn geinstalleerd en de arduino heeft ook prima gewerkt. Op de 1 of andere manier doet hij echter na een 5x connecten op dezelfde poort mij een melding geven dat het device een fout geeft. Daar ligt ook overigens niet het probleem in deze vraagstelling :>

-Te huur


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Yagermeister schreef op woensdag 24 april 2019 @ 11:38:

Drivers zijn geinstalleerd en de arduino heeft ook prima gewerkt. Op de 1 of andere manier doet hij echter na een 5x connecten op dezelfde poort mij een melding geven dat het device een fout geeft.
Daar ligt ook overigens niet het probleem in deze vraagstelling
:>
Mwa, die opmerking lijkt me niet geheel correct.
Er is een twijfelachtige Pir waar het in dit topic om draait, dus de volgende logische stap is dan om het Pirretje te gaan testen. Dat gaat niet met een led en/of spanningsmeter omdat die niet voorhanden zijn. Een andere optie is dan wellicht om de Pir via de seriele monitor output te testen, zoals in post #1 gelinkt staat :

https://learn.adafruit.co...sor/using-a-pir-w-arduino

Maar ook de usb verbinding was niet aanwezig volgens jouw eerdere reactie.
Dan blijven er nog weinig opties over en daarom dat sommige lezers jou willen helpen bij het tot stand brengen van de usb-connectie waarschijnlijk.
Maar er is nog een optie, koop nogmaals zo'n zelfde Pir en kijk of die het wel doet ?
.

Acties:
  • 0 Henk 'm!

  • Yagermeister
  • Registratie: December 2001
  • Laatst online: 08:07

Yagermeister

Bedrijfsprutser on call

Topicstarter
kitao schreef op woensdag 24 april 2019 @ 12:14:
[...]

Mwa, die opmerking lijkt me niet geheel correct.
Er is een twijfelachtige Pir waar het in dit topic om draait, dus de volgende logische stap is dan om het Pirretje te gaan testen. Dat gaat niet met een led en/of spanningsmeter omdat die niet voorhanden zijn. Een andere optie is dan wellicht om de Pir via de seriele monitor output te testen, zoals in post #1 gelinkt staat :

https://learn.adafruit.co...sor/using-a-pir-w-arduino

Maar ook de usb verbinding was niet aanwezig volgens jouw eerdere reactie.
Dan blijven er nog weinig opties over en daarom dat sommige lezers jou willen helpen bij het tot stand brengen van de usb-connectie waarschijnlijk.
Maar er is nog een optie, koop nogmaals zo'n zelfde Pir en kijk of die het wel doet ?
.
Sorry voor de verwaring maar ik bedoelde het niet op die manier. Ik doelde erop dat ik het niet met die betreffende pc kon testen maar dat ik het met een andere pc wel kan proberen nadat ik het programma heb geupload naar de arduino.

Ik moet even kijken of het me vandaag lukt om het nieuwe waarde te uploaden om zo te kunnen testen.

[EDIT]
Zojuist heb ik eindelijk de tijd gehad om te kijken echter heeft mijn Digispark Pro geen USB naar Serieel erin zitten waardoor ik dus niet zonder extra kabel dit kan testen |:(. Ik ga maar eens kijken of ik niet wat simpele leds kan uithalen en dan even goed testen.

[ Voor 10% gewijzigd door Yagermeister op 27-04-2019 13:43 ]

-Te huur

Pagina: 1