Vraag helpen code schrijven voor SN74HC165N shiftingin

algemene C code
Berichten: 2
Geregistreerd: 21 Apr 2016, 10:51

Vraag helpen code schrijven voor SN74HC165N shiftingin

Berichtdoor Luca001 » 21 Apr 2016, 11:14

Dag,

Ik heb een vraag. Ik ben een vierde jaars student van de kunstacademie. Voor mijn afstuderen ben ik bezig met een project, de interactieve licht tunnel.
Hiervoor maak ik een levensgrote proefmodel, een interactieve wand met 32 lampen en 32 laser sensoren die op elkaar reageren.

De in en output moeten binnen komen via shifting omdat ik anders te weinig uitgangen heb op de arduino.

Voor de output, de led's, heb ik een shifting code voor de 74HC595 (code 2 onder aan bericht) zodat ik de led's kan aansturen via de shifting.
Nu heb ik ook een shifting nodig om de input uit te lezen met de SN74HC165N.
Ik kom hier alleen niet helemaal uit. Éen laser kan ik goed uitlezen (zie code 1 onder aan bericht) maar met de shifting lukt het niet.


Zou iemand mij hierbij kunnen helpen door middel van het schrijven van een code voor de SN74HC165N om 8 laserontvangers uit te lezen?

Ik hoop dat iemand hier mee kan helpen.
Alvast heel erg bedankt!


---------------------------------------------------------------------
Code voor laser and detector (code 1)
---------------------------------------------------------------------

*/

int Laser = 6;
int Detector = 7;

void setup()
{
Serial.begin (9600);
pinMode(Laser, OUTPUT);
pinMode(Detector, INPUT);
}

void loop()
{
digitalWrite(Laser, HIGH);
boolean val = digitalRead(Detector);
Serial.println(val);
}





----------------------------------------------------------------------
Code voor Shifting output Led's 74HC595 (code 2)
----------------------------------------------------------------------

int dataPin = 5;
int latchPin = 6;
int clockPin = 7;
int i, value = 1;
byte b1 = B00000000;
byte b2 = B00000000;

void setup() {
//start serial
Serial.begin(9600);

//define pin modes
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, INPUT);

//Set pins
digitalWrite (latchPin, LOW);
digitalWrite (clockPin, HIGH);
}

void loop() {

for (i = 0; i < 14; i++) {
Serial.println(i);
b1 = 0;
b2 = 0;

if (i >= 8) {
bitSet(b2, (i-8));
} else {
bitSet(b1, (i));
}

Serial.print("b1 = "); Serial.println(b1);
Serial.print("b2 = "); Serial.println(b2);
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, b2);
shiftOut(dataPin, clockPin, MSBFIRST, b1);
digitalWrite(latchPin, HIGH);
delay(1000);

}
}

void pulseload ()
{
digitalWrite (latchPin, HIGH);
delay (1);
digitalWrite (latchPin, LOW);
}

void pulseclock ()
{
digitalWrite (clockPin, LOW);

Advertisement

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Vraag helpen code schrijven voor SN74HC165N shiftingin

Berichtdoor shooter » 21 Apr 2016, 18:32

kijk hier eens naar
http://playground.arduino.cc/Code/ShiftRegSN74HC165N

en zet de code die bij jou in de loop staat ook even in een functie dan roep je dus eerst de in aan en dan de out.
eigenlijk gaat het precies hetzelfde als jouw uit hoor.
paul deelen
shooter@home.nl

Berichten: 2
Geregistreerd: 21 Apr 2016, 10:51

Re: Vraag helpen code schrijven voor SN74HC165N shiftingin

Berichtdoor Luca001 » 25 Apr 2016, 08:45

Dank je wel, het is gelukt

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 17 gasten