timer naar 4digit display
Re: timer naar 4digit display
je moet hem wel na een halve seconde uitzetten met een AND natuurlijk bijv. met 7F
paul deelen
shooter@home.nl
shooter@home.nl
Advertisement
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: timer naar 4digit display
Als je twee librarys door elkaar gooit wat betreft functies enzo wordt het inderdaad een kakafonie.Degene die je nu gebruikt meen ik dat ze on /of colon niet ondersteund.
- christiaan
- Berichten: 86
- Geregistreerd: 31 Dec 2015, 14:11
Re: timer naar 4digit display
hoe bedoel je shooter??
en er kunnen ook geen twee library's gebruikt worden, want het display ism de mega, ondersteund geen enkel andere, behalve de huidige library
en er kunnen ook geen twee library's gebruikt worden, want het display ism de mega, ondersteund geen enkel andere, behalve de huidige library
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: timer naar 4digit display
Dat klopt, wat ik bedoel is je leest de intructies van de eene library en wilt ze gebruiken in de andere dit lukt niet,maar dit wist je wel.
Wat Shooter bedoeld is dat je met And & Or bit's kunt maskeren om zo doende de dubbele punt zichtbaar of niet te maken en dit b.v. iedere halve seconde.
Probeer een en ander wat uit om de werking ervan te bevatten.
Wat Shooter bedoeld is dat je met And & Or bit's kunt maskeren om zo doende de dubbele punt zichtbaar of niet te maken en dit b.v. iedere halve seconde.
Probeer een en ander wat uit om de werking ervan te bevatten.
Laatst gewijzigd door Gij Kieken op 27 Jan 2016, 20:53, in totaal 1 keer gewijzigd.
- christiaan
- Berichten: 86
- Geregistreerd: 31 Dec 2015, 14:11
Re: timer naar 4digit display
Je leest het verkeerd. De code van &segto vond ik op internet die werkt met deze library. Echter is het een milliseconde dat hij aangaat. Dit moet niet, dit moet langer.
Verder past hij door die code van &segto het 2e segment van links aan van 0 naar 2 (dit moet al helemaal niet)
Verder is de library die ik gebruik in mijn huidige code de enige library die de mega ism het display die het ondersteunt. Andere library gebruiken kan dus niet want dan kan mijn display niet aangestuurd worden
Verder past hij door die code van &segto het 2e segment van links aan van 0 naar 2 (dit moet al helemaal niet)
Verder is de library die ik gebruik in mijn huidige code de enige library die de mega ism het display die het ondersteunt. Andere library gebruiken kan dus niet want dan kan mijn display niet aangestuurd worden
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: timer naar 4digit display
Kan kloppen daarom bekijk die display.encodeDigit(0) nog eens nader.
- christiaan
- Berichten: 86
- Geregistreerd: 31 Dec 2015, 14:11
Re: timer naar 4digit display
Gij Kieken schreef:Kan kloppen daarom bekijk die display.encodeDigit(0) nog eens nader.
Wordt lastig als je al dagen op internet zoekt naar een goede code, en niks kan vinden... laat staan over specifieke delen
- christiaan
- Berichten: 86
- Geregistreerd: 31 Dec 2015, 14:11
Re: timer naar 4digit display
Ik vond dit, maar werkt ook niet.
Hij heeft de library aangepast zodat display.setColon(true) werkt, alleen geen verandering in het scherm
https://forum.arduino.cc/index.php?topic=271238.0
Hij heeft de library aangepast zodat display.setColon(true) werkt, alleen geen verandering in het scherm
https://forum.arduino.cc/index.php?topic=271238.0
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: timer naar 4digit display
dagen pas?.....christiaan schreef:Gij Kieken schreef:Kan kloppen daarom bekijk die display.encodeDigit(0) nog eens nader.
Wordt lastig als je al dagen op internet zoekt naar een goede code, en niks kan vinden... laat staan over specifieke delen
Kennelijk zijn er meerdere libraries. Wat de Mega ermee te maken heeft is mij niet duidelijk. Flash geheugen? kan ik me niet voorstellen voor zo'n klein programmatje. Ram geheugen? Zelfde punt als eerder. Aantal IO's nope... dus waarom kan die andere lib niet werken?
- christiaan
- Berichten: 86
- Geregistreerd: 31 Dec 2015, 14:11
Re: timer naar 4digit display
Ik heb het gedeeltelijk opgelost, nu nog kijken voor de inplentatie:
Dit is de code:
Nu moet ik dat in onderstaande code krijgen, voor het gemak heb ik aangeduid waar dit moet:
Alleen de manieren waarop ik het deed (de code gewoon op de plek zetten, werkte niet echt. De 2e segment werd weer aangepast licht.)
Dit is de code:
- Code: Alles selecteren
uint8_t test[] = { 0b00000000,0b10000000 };
display.setSegments(test);
Nu moet ik dat in onderstaande code krijgen, voor het gemak heb ik aangeduid waar dit moet:
- Code: Alles selecteren
#include "LedControlMS.h"
#include<CountUpDownTimer.h>
#include "pitches.h"
#define NBR_MTX 2
LedControl lc=LedControl(5,7,6, NBR_MTX);
CountUpDownTimer T(DOWN);
#include <Arduino.h>
#include <TM1637Display.h>
// Module connection pins (Digital Pins)
#define CLK 43
#define DIO 45
TM1637Display display(CLK, DIO);
int inPin = 8; // pushbutton connected to digital pin 7
int buttonState = 0; // variable for reading the pushbutton status
int piezoPin = 47;
int ledRedLeft = 22;
int ledRedRight = 25;
int hoursT;
int minutesT;
int secondsT;
void setup()
{
Serial.begin(115200);
pinMode(inPin, INPUT_PULLUP); // sets the digital pin 7 as input
pinMode(ledRedLeft, OUTPUT);
pinMode(ledRedRight, OUTPUT);
display.setBrightness(0x0f);
pinMode(2, INPUT_PULLUP);
digitalWrite(ledRedLeft, LOW);
digitalWrite(ledRedRight, LOW);
//T.SetTimer(1,30,0); // Timer voor de Escape room
T.SetTimer(0,0,10);
T.StartTimer();
for (int i=0; i< NBR_MTX; i++){
lc.shutdown(i,false);
/* Set the brightness to a medium values */
lc.setIntensity(i,8);
/* and clear the display */
lc.clearDisplay(i);
}
}
void loop()
{
T.Timer(); // run the timer
uint8_t fail[] = { 0b01110001,0b01110111,0b00000110,0b00111000 };
if (T.TimeHasChanged() ) // this prevents the time from being constantly shown.
{
tone(piezoPin, 5000, 50);
//HIER DE COLON ON!!!!!
display.showNumberDec(T.ShowMinutes(), true, 2, 0);
display.showNumberDec(T.ShowSeconds(), true, 2, 2);
Serial.print(T.ShowHours());
Serial.print(":");
Serial.print(T.ShowMinutes());
Serial.print(":");
Serial.println(T.ShowSeconds());
// read the state of the pushbutton value:
buttonState = digitalRead(inPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (!buttonState == HIGH) {
// turn LED on:
Serial.println("Connected");
T.ResumeTimer();
} else {
// turn LED off:
Serial.println("Disconnected");
//T.PauseTimer();
}
hoursT = T.ShowHours();
minutesT = T.ShowMinutes();
secondsT = T.ShowSeconds();
if (hoursT == 0 && minutesT == 0 && secondsT == 0) {
T.StopTimer();
delay(500);
Serial.println("BOOM");
digitalWrite(ledRedLeft, HIGH);
digitalWrite(ledRedRight, HIGH);
showBomb();
//display.setSegments(fail);
melodyFailPlay();
//display.showNumberDec(1234, true, 4, 0);
}
} // End of T.TimeHasChanged
}
void melodyFailPlay() {
tone(piezoPin, 262);
delay(250);
tone(piezoPin, 196);
delay(500);
noTone(piezoPin);
}
void showWaiting() {
// First set all positions to off
matrixAlloff();
// Now mark the waiting circle
}
void showBomb() {
// First set all positions to off
matrixAlloff();
// Now mark the bomb
lc.setLed(0,2,0,true);
lc.setLed(0,3,0,true);
lc.setLed(0,4,0,true);
lc.setLed(0,5,0,true);
lc.setLed(0,1,1,true);
lc.setLed(0,6,1,true);
lc.setLed(0,0,2,true);
lc.setLed(0,2,2,true);
lc.setLed(0,5,2,true);
lc.setLed(0,7,2,true);
lc.setLed(0,0,3,true);
lc.setLed(0,3,3,true);
lc.setLed(0,4,3,true);
lc.setLed(0,7,3,true);
lc.setLed(0,0,4,true);
lc.setLed(0,7,4,true);
lc.setLed(0,0,5,true);
lc.setLed(0,2,5,true);
lc.setLed(0,5,5,true);
lc.setLed(0,7,5,true);
lc.setLed(0,1,6,true);
lc.setLed(0,6,6,true);
lc.setLed(0,2,7,true);
lc.setLed(0,3,7,true);
lc.setLed(0,4,7,true);
lc.setLed(0,5,7,true);
}
void showApproved() {
// First set all positions to off
matrixAlloff();
// Now mark the approved sign
lc.setLed(0,0,2,true);
lc.setLed(0,1,1,true);
lc.setLed(0,2,0,true);
lc.setLed(0,3,1,true);
lc.setLed(0,4,2,true);
lc.setLed(0,5,3,true);
lc.setLed(0,6,4,true);
lc.setLed(0,7,5,true);
}
void showCross() {
// First set all positions to off
matrixAlloff();
// Now mark the cross
lc.setLed(0,0,0,true);
lc.setLed(0,1,1,true);
lc.setLed(0,2,2,true);
lc.setLed(0,3,3,true);
lc.setLed(0,4,4,true);
lc.setLed(0,5,5,true);
lc.setLed(0,6,6,true);
lc.setLed(0,7,7,true);
lc.setLed(0,0,7,true);
lc.setLed(0,1,6,true);
lc.setLed(0,2,5,true);
lc.setLed(0,3,4,true);
lc.setLed(0,4,3,true);
lc.setLed(0,5,2,true);
lc.setLed(0,6,1,true);
lc.setLed(0,7,0,true);
}
void matrixAlloff() {
lc.setLed(0,0,0,false);
lc.setLed(0,0,1,false);
lc.setLed(0,0,2,false);
lc.setLed(0,0,3,false);
lc.setLed(0,0,4,false);
lc.setLed(0,0,5,false);
lc.setLed(0,0,6,false);
lc.setLed(0,0,7,false);
lc.setLed(0,1,0,false);
lc.setLed(0,1,1,false);
lc.setLed(0,1,2,false);
lc.setLed(0,1,3,false);
lc.setLed(0,1,4,false);
lc.setLed(0,1,5,false);
lc.setLed(0,1,6,false);
lc.setLed(0,1,7,false);
lc.setLed(0,2,0,false);
lc.setLed(0,2,1,false);
lc.setLed(0,2,2,false);
lc.setLed(0,2,3,false);
lc.setLed(0,2,4,false);
lc.setLed(0,2,5,false);
lc.setLed(0,2,6,false);
lc.setLed(0,2,7,false);
lc.setLed(0,3,0,false);
lc.setLed(0,3,1,false);
lc.setLed(0,3,2,false);
lc.setLed(0,3,3,false);
lc.setLed(0,3,4,false);
lc.setLed(0,3,5,false);
lc.setLed(0,3,6,false);
lc.setLed(0,3,7,false);
lc.setLed(0,4,0,false);
lc.setLed(0,4,1,false);
lc.setLed(0,4,2,false);
lc.setLed(0,4,3,false);
lc.setLed(0,4,4,false);
lc.setLed(0,4,5,false);
lc.setLed(0,4,6,false);
lc.setLed(0,4,7,false);
lc.setLed(0,5,0,false);
lc.setLed(0,5,1,false);
lc.setLed(0,5,2,false);
lc.setLed(0,5,3,false);
lc.setLed(0,5,4,false);
lc.setLed(0,5,5,false);
lc.setLed(0,5,6,false);
lc.setLed(0,5,7,false);
lc.setLed(0,6,0,false);
lc.setLed(0,6,1,false);
lc.setLed(0,6,2,false);
lc.setLed(0,6,3,false);
lc.setLed(0,6,4,false);
lc.setLed(0,6,5,false);
lc.setLed(0,6,6,false);
lc.setLed(0,6,7,false);
lc.setLed(0,7,0,false);
lc.setLed(0,7,1,false);
lc.setLed(0,7,2,false);
lc.setLed(0,7,3,false);
lc.setLed(0,7,4,false);
lc.setLed(0,7,5,false);
lc.setLed(0,7,6,false);
lc.setLed(0,7,7,false);
delay(10);
}
Alleen de manieren waarop ik het deed (de code gewoon op de plek zetten, werkte niet echt. De 2e segment werd weer aangepast licht.)
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 21 gasten