Ir para conteúdo
3DFinder
Entrar

Você está no 3DFinder

Buscamos em Thingiverse, MakerWorld e Printables ao mesmo tempo para te dar o melhor de cada uma.

Buscar mais como este
Modelo 3D 7 Segment Display (6,9 Inch) por Lukas no Printables

Descrição

The display is 6,9 inch big (150x90 mm) and it's designed to hang it on the wall.
If you print four big and one small piece as I did you can use it as an watch.

If you want to put two displays together you have to glue them together.

 

ELECTRONICS:

1x Arduino NANO

1x Real Time Clock RTC DS3231 

1x Active Buzzer

86x 5mm LED's (color of your choice)

 

Installation:

  1. You have to print out your variation of displays.
  2. Push the LED's in the holes of the case
  3. Put the cover on the case
  4. Wire the LED's ground from each segment to a different digital output of the Arduino
  5. Wire all the same pieces of the number to the same digital output (e.g. the top LED's of the first segment to the top LED's of the second segment and so on…)
  6. Upload the code to the Arduino and you'r good to go :)

 

You can download the code in “Files” or copy it down below:

#include "SevSeg.h"
#include "RTClib.h"

SevSeg sevseg; //Instantiate a seven segment controller object RTC_DS1307 rtc;

bool pnkt = false; unsigned long secprev = 0; unsigned long minprev = 0; unsigned int pausen[12] = {475,525,580,635,700,755,805,855,905,965,1015,1065}; bool count = true; int count2 = 100; int bispause; int BPS = 150;

void setup() { Serial.begin(57600); while (!Serial); if (! rtc.begin()) { Serial.println("Couldn't find RTC"); Serial.flush(); while (1) delay(10); } byte numDigits = 4; byte digitPins[] = {5, 4, 3, 2}; byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12}; bool resistorsOnSegments = true; // 'false' means resistors are on digit pins byte hardwareConfig = N_TRANSISTORS; // See README.md for options bool updateWithDelays = false; // Default 'false' is Recommended bool leadingZeros = false; // Use 'true' if you'd like to keep the leading zeros bool disableDecPoint = true; // Use 'true' if your decimal point doesn't exist or isn't connected pinMode(13, OUTPUT);

//rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); //RTC time adjust (Y, M, D, H, M, S)

sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments, updateWithDelays, leadingZeros, disableDecPoint); sevseg.setBrightness(100); amogus(); amogus(); amogus(); }

void loop() { DateTime time = rtc.now();

if(time.second() != secprev) { //every second count2++; secprev = time.second();

if(count2 >= 20 && count2 < 30 && bispause < 100){
  digitalWrite(13, LOW);
  sevseg.setNumber(bispause);
}
else{
  pnkt = !pnkt;
  if(pnkt){
    digitalWrite(13, HIGH);
  }
  else{
    digitalWrite(13, LOW);
  }
  sevseg.setNumber(time.hour()*100+time.minute());
}

}

if(time.minute() != minprev){ minprev = time.minute(); bispause = 100; for(int i = 0; i < sizeof(pausen); i++){ if(pausen[i] - time.hour()*60 - time.minute() > 0 && pausen[i] - time.hour()*60 - time.minute() < bispause){
bispause = pausen[i] - time.hour()*60 - time.minute(); } if(pausen[i] == time.hour()*60 + time.minute()){ amogus();
} } count2 = 0;
}

sevseg.refreshDisplay(); // Must run repeatedly }

void amogus(){ for(int i=6; i<=12; i++){ digitalWrite(i, HIGH); } digitalWrite(9, LOW); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); tone(13, 523); //C5 digitalWrite(2, HIGH); delay(BPS); noTone(13); delay(BPS); tone(13, 622); //Eb5 digitalWrite(3, HIGH); digitalWrite(2, LOW); delay(BPS); noTone(13); delay(BPS); tone(13, 698); //F5 digitalWrite(4, HIGH); digitalWrite(3, LOW); delay(BPS); noTone(13); delay(BPS); tone(13, 740); //Gb5 digitalWrite(5, HIGH); digitalWrite(4, LOW); delay(BPS); noTone(13); delay(BPS); tone(13, 698); //F5 digitalWrite(4, HIGH); digitalWrite(5, LOW); delay(BPS); noTone(13); delay(BPS); tone(13, 622); //Eb5 digitalWrite(3, HIGH); digitalWrite(4, LOW); delay(BPS); noTone(13); delay(BPS); tone(13, 523); //C5 digitalWrite(2, HIGH); digitalWrite(3, LOW); delay(3BPS); noTone(13); delay(3BPS); tone(13, 466); //B4 digitalWrite(3, HIGH); digitalWrite(2, LOW); delay(BPS/2); noTone(13); delay(BPS/2); tone(13, 587); //D5 digitalWrite(4, HIGH); digitalWrite(3, LOW); delay(BPS/2); noTone(13); delay(BPS/2); tone(13, 523); //C5 digitalWrite(5, HIGH); digitalWrite(4, LOW); delay(3BPS); noTone(13); delay(2BPS); noTone(13); tone(13, 98); //G3 digitalWrite(4, HIGH); digitalWrite(5, LOW); delay(BPS); noTone(13); delay(BPS); tone(13, 131); //C3 digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH);
delay(2*BPS); noTone(13); delay(500); }

 

 

Printables

7 Segment Display (6,9 Inch)

Publicado em 6 de ago de 2023

20
Curtidas
123
Downloads
1
Impressões
Categoria Electronics
Tags
clock watch diyelectronics 7segment 7segmentdisplay 7segmentdisplays 7segments 7segmentclock
Licença Creative Commons — Attribution — Noncommercial
Arquivos (7)
Cover.stl 43.6 KB
Case.stl 235.2 KB
Case_small.stl 126.1 KB
Cover_small.stl 32.7 KB
Cover right.3mf 4.5 KB
Cover left.3mf 5 KB
Clip.3mf 1.9 KB
Ver no Printables (abre em nova aba)

Gostou deste modelo? Crie uma conta grátis para salvar seus favoritos e voltar a eles depois.

Criar conta