Sida 2 av 2

Re: Tävling: EF-projekt: När fick hunden ...

Postat: 16 juli 2017, 22:11:09
av rolex42
2-3 mm akryl är OK.
Jag behöver väl ta fram nån slags ritning antar jag på hålens placering o diam.
Hur ska en sån ritning vara gjord?

Re: Tävling: EF-projekt: När fick hunden ...

Postat: 16 juli 2017, 22:14:30
av rolex42
Har nu bytt touch-knappen till en sån här

Den har Latch-funktion och lyser när räkneverket tickar och är släckt när den är noll-ställt.

Re: Tävling: EF-projekt: När fick hunden ...

Postat: 24 juli 2017, 22:56:13
av rolex42
Prototyp #2.
Tavelram IKEA RIBBA. Bakgrundsmasoniten är svart-målad.
Här är Led-display, Touch-knapp & ATtiny ihop-lödade mha ett strip-board.
Hot-glue för att fästa på glasets baksida. Här behövs snyggare lösning. Ev laser-skuren akrylplast som man monterar in display & knapp i.
I första bilden är timern nollställd genom att touch-knappen är i läge OFF. I bild 2 är timern igång.
(Allt ät snett och fult och det ska sitta tre lika rader nedanför).
IMG_2737.JPG
IMG_2736.JPG

Re: Tävling: EF-projekt: När fick hunden ...

Postat: 6 september 2017, 22:12:27
av rolex42
Försökt ta tag i lådan o montering av display o knapp. I högra hålet ska touch-knappen monteras
IMG_2919.JPG

Re: Tävling: EF-projekt: När fick hunden ...

Postat: 27 september 2017, 15:04:52
av rolex42
Nu har vi haft denna timer igång ett par dagar och den används av alla i familjen. Alla tycker att den är bra.
Den består av 3 lika moduler som var och en har en 4-digit 7 segment display, en Attiny85 och en latchande LED touch-knapp.
Dessa är monterade på en svartmålad plywood och mellan display o knapp sitter en "svarta-tavlan" klister-lapp som man kan skriva med krita på.
Tidsangivelsen är i denna version timmar & minuter. Man kan tänka sig annan tidsangivelse som exvis minuter & sekunder eller dagar & timmar, efter behov.
Den svarta plywooden sitter bakom glaset som tillhör tavelramen och touch-knapparna reagerar bra genom glaset.

Det svåraste och mest tidskrävande i det här projektet var kapsling och mekanisk sammansättning.
Jag hade först tänkt bygga utbyggbara moduler men det kom jag aldrig i mål med. Det blev en IKEA tavelram.
Jag har igen CNC el dyl så jag har bara fräst hålen (för siffer-LED & knapp) i en plywood med en billig handöverfräs. Slutresultat blir därefter.
IMG_2967.JPG

Re: Tävling: EF-projekt: När fick hunden ...

Postat: 27 september 2017, 15:10:31
av rolex42
Tävlingregler:
"... en fungerande prototyp finnas och vara dokumenterad.
Dokument och bilder läggs upp i separat omröstningstråd."

Hur väl dokumenterat ska projektet vara ?

Vad betyder "separat omröstningstråd" ?

Re: Tävling: EF-projekt: När fick hunden ...

Postat: 27 september 2017, 15:53:21
av Zhorts
"Finnas och vara dokumenterad" torde ju vara avklarat, även om jag inte är någon tävlingsexpert...
Det ser snyggt ut (förutom det ovala hålet), och fungerar ju - och dessutom används till sitt tänkta syfte! Bra jobbat!

Dokumentation har du ju delvis här... jag hade kunnat tänka mig att det innebär även kretsschema och slutgiltig kod, men det är väl upp till om du vill släppa ifrån dig bara sådär, antar jag... Tävlingsgeneralen får väl göra ett utlåtande!

Det är svårt att vara först, då måste man ta en massa beslut. Det är lättare att följa efter! :)

Re: Tävling: EF-projekt: När fick hunden ...

Postat: 20 oktober 2017, 15:49:09
av rolex42
En uppdatering av koden

Kod: Markera allt

#include <Arduino.h>
#include <TM1637Display.h>
/*
  Pin outs:
    Pin 1 → Button for timer reset
    Pin 2 → TM1637 Clock
    Pin 3 → TM1637 Data
*/
#define BTN 1

// TM1637 Module connection pins (Digital Pins)
#define CLK 2
#define DIO 3

TM1637Display display(CLK, DIO);
unsigned long t_now;     // milliseconds
unsigned long t_now_old; // old milliseconds
int sek = 0;             // seconds
int mins = 0;            // minutes
int hours = 0;           // hours
bool tick = false;       // colon flag

void setup() {
  pinMode(BTN, INPUT);
  display.setBrightness(0x0a);    // set medium Brightness
  t_now_old = millis();           // store start "time"
  // void showNumberDec(int num, bool leading_zero = false, uint8_t length = 4, uint8_t pos = 0);
  display.showNumberDec(mins, true, 2, 0);  // initialize mins display
  display.showNumberDec(sek, true, 2, 2);   // initialize sec display
}

void loop() {
  t_now = millis();            // get current "time"
  if (t_now - t_now_old > 496)  // tic-tac each 1/2 sec
  {
    t_now_old = t_now;           // store new "time"
    display.setColon(tick);   // display colon

    if (tick)                 // colon ON = increment seconds
    {
      sek++;
      if (sek > 59)           // if 60 sec, increment minutes
      {
        sek = 0;
        mins++;
        if (mins > 59)        // if 60 minutes, increment hours
        {
          hours++;
          display.showNumberDec(hours, true, 2, 0);
          mins = 0;           // start from 00:00 again. May add here hour counter
        }
        display.showNumberDec(mins, true, 2, 2);
      }
      //display.showNumberDec(sek, true, 2, 2);
    }
    tick = !tick;             // toggle colon on/off
  }

  // Read Reset button
  if (digitalRead(BTN) == LOW) {
    hours = 0;
    display.showNumberDec(hours, true, 2, 0);
    mins =0;
    display.showNumberDec(mins, true, 2, 2);
    sek = 0;
  }
}