Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Mini LED-matrix klok – Arduino Nano aangedreven tijdwekker

Onderdelen en benodigdheden

  • Arduino Nano R3 (1×)
  • DS3231M ±5ppm I2C Real-Time Clock (1×)
  • Drukknop, momentaan (2×)
  • LED matrix module 32×8 (MAX7219, vier-in-een) (1×)

Benodigde gereedschappen

  • Solderbout (standaard)

Apps en online diensten

  • Arduino IDE

Over dit project

Op "Nick's LED Projects" vond ik een klokproject met 4 matrices van 8×8. Ik heb de code minimaal aangepast voor de MAX7219 32×8 module (vier display's in één, veel goedkoper, bv. via AliExpress).

Functies

  • Basismodus: grote cijfers
  • Shuifmodus: cijfers rollen over scherm
  • Kleine cijfers met seconden
  • Tijd in woorden (bijv. "tien over twaalf")
  • Datumweergave
  • 12/24-uurs keuze
  • Helderheidsinstelling
  • Willekeurige modus: wisselt automatisch elke paar uur
  • Menu via 2 drukknoppen voor instellingen en weergaveselectie
Mini LED-matrix klok – Arduino Nano aangedreven tijdwekker
Schema: Arduino Nano, DS3231, 2 knoppen, 32×8 matrix (DIN=D12, CLK=D11, CS=D10)

Benodigde bibliotheken: LedControl, FontLEDClock, RTClib, Button (Alexander Brevig). Download links in code-sectie.

Code

De volledige sketch (Mini Clock v1.0, GPL) is te downloaden. Belangrijkste delen:

  • Matrix besturing: LedControl lc(12,11,10,4) – 4 cascaded displays.
  • Tijdkeeping: RTC_DS1307 ds1307 (werkt ook met DS3231).
  • Knoppen: Pin 2 (A) en 3 (B) met pull-up.
  • Modi: 0=basic, 1=small, 2=slide, 3=word_clock, 4=setup.
  • Animaties: slideanim() voor vloeiende overgang, crossFade() voor NeoPixel-kleurovergangen (in word_clock niet gebruikt, maar in code aanwezig).
  • Instelmenu: willekeurige modus, 12/24u, tijd/datum instellen, helderheid (0-15).
// Kern van de loop()
void loop() {
  switch (clock_mode) {
    case 0: basic_mode(); break;
    case 1: small_mode(); break;
    case 2: slide(); break;
    case 3: word_clock(); break;
    case 4: setup_menu(); break;
  }
}

// Voorbeeld: basic_mode toont 5x7 cijfers met knipperende :
void basic_mode() {
  cls();
  byte secs=100, mins=100, count=0;
  while (run_mode()) {
    get_time();
    if (buttonA.uniquePress()) { switch_mode(); return; }
    if (buttonB.uniquePress()) { display_date(); return; }
    if (secs != rtc[0]) { secs=rtc[0]; plot(15-offset,2,1); plot(15-offset,5,1); count=400; }
    if (count==0) { plot(15-offset,2,0); plot(15-offset,5,0); } else count--;
    if (mins != rtc[1]) { /* herschrijf uren/minuten */ }
    delay(50);
  }
  fade_down();
}

De code bevat ook functies voor word_clock() (Engelse tekst: "TEN PAST TWELVE"), slide() (scrollende cijfers), display_date() (dag, datum, maand), en een compleet instelmenu.

Bibliotheken

Download apart (geen preview): LedControl, FontLEDClock, RTClib, Button.

Schema

Mini LED-matrix klok – Arduino Nano aangedreven tijdwekker
Volledig schakelschema

Tip: De DS3231 is nauwkeuriger dan de DS1307 (±2 ppm vs ±5 ppm). Gebruik een knopcel (CR2032) op de RTC-module voor tijdbehoud bij stroomuitval.

Productieproces

  1. Koekeklok: geschiedenis, vakmanschap en moderne evolutie
  2. Arduino Mini Boss Battle Game – Retro-geïnspireerd Project
  3. Bouw een Aangepaste LED Hoofdklok met Alarm – Zichtbaar vanaf 12 Meter
  4. Bouw een Berlijnse Klok met Arduino UNO – DIY LED-matrix klok
  5. Analoge-stijl LED Persistence-of-Vision Klok – DIY Arduino Nano Project
  6. Interactieve LED-matrix deurdisplay met PIR-bewegingsensor – Arduino vakantiegroet
  7. Geluidsgeactiveerd 8-LED Lichtdisplay met Arduino
  8. Bouw een Slimme Arduino Vierpotige Robot: Stap-voor-Stap Handleiding
  9. DIY Hot Glue LED Matrix Lamp – Bouw je eigen kleurrijke display
  10. LED Sequencer Bouwen met 555 Timer & 4017 Teller – Frequentiedeling & Debounce
  11. MATLAB Matrix Basis: Data Aanmaken, Benaderen en Manipuleren