Schuifregisters
12 berichten
• Pagina 1 van 2 • 1, 2
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Schuifregisters
Is er een makkelijke manier om shuifregister aan te sturen.
Dat ik bijvoorbeeld in kan geven.
Ik wil bij sr1 pin 2 5 6 en 8 aan en bij sr5 3 4 en 7 aan.
Digitalwrite(sr[1], 01001101)
Digitalwrite(sr[5], 00110010)
Bijvoorbeeld.
En zo ja hoe ziet de setup er dan uit.
Dat ik bijvoorbeeld in kan geven.
Ik wil bij sr1 pin 2 5 6 en 8 aan en bij sr5 3 4 en 7 aan.
Digitalwrite(sr[1], 01001101)
Digitalwrite(sr[5], 00110010)
Bijvoorbeeld.
En zo ja hoe ziet de setup er dan uit.
Advertisement
Re: Schuifregisters
De moeilijke manier is om daar zelf functies voor te schrijven.
De makkelijke manier is om een bestaande library te nemen.
Bij "Bibliotheek Beheer" in de Arduino IDE kun je zoeken naar "shift register" of "74hc595".
Daar zie ik er al zo'n vijf staan. Als je bij een library op "more info" klikt, dan opent er meestal een pagina op Github. Daar kun je kijken naar een example, of dat iets is dat handig lijkt.
Op Github staan er nog meer: http://nl.lmgtfy.com/?q=site%3Agithub.com+arduino+shift+register.
De makkelijke manier is om een bestaande library te nemen.
Bij "Bibliotheek Beheer" in de Arduino IDE kun je zoeken naar "shift register" of "74hc595".
Daar zie ik er al zo'n vijf staan. Als je bij een library op "more info" klikt, dan opent er meestal een pagina op Github. Daar kun je kijken naar een example, of dat iets is dat handig lijkt.
Op Github staan er nog meer: http://nl.lmgtfy.com/?q=site%3Agithub.com+arduino+shift+register.
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Schuifregisters
Zou dit gaan werken.
- Code: Alles selecteren
#include <ShiftRegister74HC595.h>
// parameters: (number of shift registers, data pin, clock pin, latch pin)
ShiftRegister74HC595 sr (7, 0, 1, 2);
void setup() {
}
void loop() {
// set all pins at once
uint8_t pinValues[] = { B10101010, B10110010, B00011101, B01110011, B11000110, B1000110, B00000001 };
sr.setAll(pinValues);
delay(1000);
}
Re: Schuifregisters
Ja, zo werkt het
Het is deze, neem ik aan: https://github.com/Simsso/ShiftRegister74HC595.
Dat ziet er eenvoudig uit.
Ik zie een eigenaardigheidje met het gebruik van mallock() en een pointer bij setAll(). Dat is een serieuze bug, dus ik heb een issue aangemaakt: https://github.com/Simsso/ShiftRegister74HC595/issues/14
Kun je misschien de binaire code volgens de C++ taal gebruiken ? Dan gaan mijn haren minder overeind staan
Die codes met B10101010 is iets dat Arduino heeft toegevoegd om het "gemakkelijker" te maken
Het is deze, neem ik aan: https://github.com/Simsso/ShiftRegister74HC595.
Dat ziet er eenvoudig uit.
Ik zie een eigenaardigheidje met het gebruik van mallock() en een pointer bij setAll(). Dat is een serieuze bug, dus ik heb een issue aangemaakt: https://github.com/Simsso/ShiftRegister74HC595/issues/14
Kun je misschien de binaire code volgens de C++ taal gebruiken ? Dan gaan mijn haren minder overeind staan
- Code: Alles selecteren
{ 0b10101010, 0b10110010, 0b00011101, 0b01110011, 0b11000110, 0b1000110, 0b00000001 }
Die codes met B10101010 is iets dat Arduino heeft toegevoegd om het "gemakkelijker" te maken
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Schuifregisters
Heb gezocht op de pagina die jij me zei.
En de shiftyshift is wel handig voor mij.
Dan zet je shift.writeBit(1, HIGH);
Voor pin 1 van SR 1
Zodat ik elke pin apart aan kan sturen.
Probeer alleen nog uit te vinden hoe de code werkt
als ik de pin wil lezen of deze HIGH of Low is
Dat ik bijvoorbeeld zo kan doen.
BitState = digitalRead(shift.Bit1);
if (BitState == HIGH) { digitalWrite(shift.Bit1, LOW); }
else { digitalWrite(shift.Bit, HIGH);
}
}
En de shiftyshift is wel handig voor mij.
Dan zet je shift.writeBit(1, HIGH);
Voor pin 1 van SR 1
Zodat ik elke pin apart aan kan sturen.
Probeer alleen nog uit te vinden hoe de code werkt
als ik de pin wil lezen of deze HIGH of Low is
Dat ik bijvoorbeeld zo kan doen.
BitState = digitalRead(shift.Bit1);
if (BitState == HIGH) { digitalWrite(shift.Bit1, LOW); }
else { digitalWrite(shift.Bit, HIGH);
}
}
Re: Schuifregisters
Die https://github.com/Simsso/ShiftRegister74HC595 kan per pin lezen en schrijven. Die functies heten get en set.
Helaas vind ik die bug wel een serieuze bug, ik weet niet hoe snel die er uit gehaald wordt.
Als je schrijft over "shiftyshift" kun je dan zeggen waar je die vandaan hebt, of waar je die gevonden hebt, en bij voorkeur met een link er naar toe.
Het is hetzelfde als wanneer ik als antwoord geef dat een eenhoorn op rolschaatsen je probleem kan oplossen
Helaas vind ik die bug wel een serieuze bug, ik weet niet hoe snel die er uit gehaald wordt.
Als je schrijft over "shiftyshift" kun je dan zeggen waar je die vandaan hebt, of waar je die gevonden hebt, en bij voorkeur met een link er naar toe.
Het is hetzelfde als wanneer ik als antwoord geef dat een eenhoorn op rolschaatsen je probleem kan oplossen
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Schuifregisters
Ja natuurlijk die heb ik van.https://github.com/johnnyb/Shifty
Re: Schuifregisters
Ik begrijp het niet helemaal, maar volgens mij kan die geen pin lezen die je geschreven hebt. Het inlezen lijkt alleen voor een digital ingang waarbij een truc wordt gebruikt om een paar ingangen toe te voegen.
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Schuifregisters
Nee idd lezen lukt niet.
Dan ga ik alleen schrijven met shift.writeBit.
Word alleen hele lap tekst dan.
Maar dat moet wel goed komen.
Heb nu al een setup geschreven voor een 3x3x3 led cube.
Die door elke leek te begrijpen en te gebruiken is.
Wil nog even kijken of het mij lukt daar een libery voor te maken.
Bedankt voor je hulp
Dan ga ik alleen schrijven met shift.writeBit.
Word alleen hele lap tekst dan.
Maar dat moet wel goed komen.
Heb nu al een setup geschreven voor een 3x3x3 led cube.
Die door elke leek te begrijpen en te gebruiken is.
Wil nog even kijken of het mij lukt daar een libery voor te maken.
Bedankt voor je hulp
12 berichten
• Pagina 1 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 37 gasten