Inhoudsopgave:

De Fibonacci-klok: 10 stappen (met afbeeldingen)
De Fibonacci-klok: 10 stappen (met afbeeldingen)

Video: De Fibonacci-klok: 10 stappen (met afbeeldingen)

Video: De Fibonacci-klok: 10 stappen (met afbeeldingen)
Video: Электрика в квартире своими руками. Вторая серия. Переделка хрущевки от А до Я .#10 2024, November
Anonim
Image
Image
Hoe vertel ik de tijd?
Hoe vertel ik de tijd?

UPDATE: Dit project is met succes gefinancierd op Kickstarter en is nu te koop op https://store.basbrun.comBedankt aan iedereen die mijn campagne heeft gesteund!

Ik presenteer u de Fibonacci-klok, een klok voor nerds met stijl. Mooi en leuk tegelijk, de klok gebruikt de beroemde Fibonacci-reeks om de tijd op een geheel nieuwe manier weer te geven.

Stap 1: Hoe vertel ik de tijd?

De Fibonacci-reeks is een reeks getallen die in de 13e eeuw is gemaakt door de Italiaanse wiskundige Fibonacci. Dit is een reeks die begint met 1 en 1, waarbij elk volgend getal de som is van de vorige twee. Voor de klok heb ik de eerste 5 termen gebruikt: 1, 1, 2, 3 en 5.

Het scherm van de klok bestaat uit vijf vierkanten waarvan de lengtes overeenkomen met de eerste vijf Fibonacci-getallen: 1, 1, 2, 3 en 5. De uren worden weergegeven met rood en de minuten met groen. Wanneer een vierkant wordt gebruikt om zowel de uren als de minuten weer te geven, wordt het blauw. Witte vierkanten worden genegeerd. Om de tijd op de Fibonacci-klok te zien, moet je wat wiskunde doen. Om het uur af te lezen, telt u eenvoudig de overeenkomstige waarden van de rode en blauwe vierkanten bij elkaar op. Om de minuten te lezen, doe je hetzelfde met de groene en blauwe vierkanten. De minuten worden weergegeven in stappen van 5 minuten (0 tot 12), dus u moet uw resultaat met 5 vermenigvuldigen om het werkelijke aantal te krijgen.

Vaak zijn er meerdere manieren om een enkele tijd weer te geven. Om de uitdaging nog groter te maken, worden de combinaties willekeurig gekozen uit alle verschillende manieren waarop een nummer kan worden weergegeven. Er zijn bijvoorbeeld 16 verschillende manieren om 6:30 weer te geven en je weet nooit welke de klok zal gebruiken!

Stap 2: Circuit

Stroomkring
Stroomkring
Stroomkring
Stroomkring

Ik heb de Fibonacci-klok gebouwd met behulp van een Atmega328P-microcontroller met Arduino. Je zou een Arduino-bord en een DS1307 real-time klok break-out board kunnen kopen en een aangepast schild voor je circuit kunnen bouwen, maar ik gaf er de voorkeur aan om mijn eigen printplaat te bouwen. Daardoor kan ik de maat klein en de prijs laag houden.

Stap 3: Knoppen

Toetsen
Toetsen

De drie knoppen die aan Arduino-pinnen #3, #4 en #6 zijn bevestigd, worden samen gebruikt om de tijd te veranderen. Knop op pin #3 kan alleen worden gebruikt om het kleurenpalet van de LED's te wijzigen. Aan pin #5 is een extra knop bevestigd om tussen verschillende standen van de klok te wisselen. Twee modi zijn lampmodi en de standaardmodus is de klok. Alle knoppen zijn parallel aan de Arduino-pinnen aangesloten met een 10K pull-down-weerstand.

Stap 4: Realtime klok

Realtime klok
Realtime klok

De real-time klokchip DS1307 is verbonden met de Arduino analoge pinnen 4 en 5 met twee 22K pull-up weerstanden. De klokpen 5 (SDA) is verbonden met de Atmega328P-pen 27 (Arduino A4) en de klokpen 6 (SCL) is verbonden met de Atmega329P-pen 29 (Arduino A5). Om de tijd bij te houden terwijl de stekker uit het stopcontact is, heeft de DS1307-chip een 3V-batterij nodig die is aangesloten op pint 3 en 4 van de chip. Ten slotte wordt de real-time klok aangedreven door een 32KHz-kristal dat is aangesloten op pinnen 1 en 2. Een 5V-stroom wordt toegepast op pin 8.

Stap 5: LED-pixelstrip

LED-pixelstrip
LED-pixelstrip

Ik gebruik LED-pixels die bovenop de WS2811-stuurprogramma's zijn gebouwd. Met deze microcontrollers kan ik de kleur van elke individuele LED instellen met een enkele uitgang op de Arduino-microcontroller. De Arduino-pin die wordt gebruikt om de LED's in dit project te besturen, is pin #8 (Atmega328P pin #14).

Stap 6: Microcontroller

Microcontroller
Microcontroller

Alle details over het aansluiten van de Atmega328P om een Arduino-kloon te maken, vind je in mijn post "Build an Arduino Clone". Ik heb een nieuwe functie in dit project toegevoegd, een FTDI-poort om je Arduino-microcontroller rechtstreeks op dit circuit te programmeren. Je verbindt pin één met de reset pin van de Arduino via een 0.1uF condensator om je uploader te synchroniseren met de opstartvolgorde van de chip.

Pin 2 (RX) van de FTDI-poort wordt aangesloten op pin 3 van de Atmega328P (Arduino 1-TX) en pin 3 (TX) van de FTDI-connector wordt aangesloten op pin 2 van de Atmega328P (Arduino 0 – RX). Ten slotte gaat FTDI-pin 4 naar 5V en 5 en 6 naar aarde.

Stap 7: De behuizing

Image
Image
de behuizing
de behuizing

De video presenteert alle stappen voor de constructie van de Fibonacci-klokbehuizing. Het idee is om 5 vierkante compartimenten in de klok te maken, vijf centimeter diep, overeenkomend met de grootte van de vijf eerste termen van de Fibonacci-reeks, 1, 1, 2, 3 en 5. De LED's zijn verdeeld over alle vierkanten en verbonden in de achterkant van de klok naar de printplaat.

De behuizing is gemaakt van berkenmultiplex. Het frame is 1/4 "dik en het achterpaneel is 1/8" dik. De afscheiders zijn 1/16″ dik en kunnen van elk ondoorzichtig materiaal worden gemaakt. De afmetingen van de klok zijn 8″x5″x4″. De voorkant van de klok is een stuk 1/8″ dik semi-transparant plexiglas. De scheidingstekens zijn gemarkeerd met een Sharpie-pen.

De houtafwerking is een lak op waterbasis die wordt aangebracht na goed schuren met schuurpapier 220.

Stap 8: Maak er een lamp van

Image
Image

De Fibonacci klok is ook om te bouwen tot sfeerlamp! De gepubliceerde code ondersteunt al twee lampmodi. Druk gewoon op de modusknop om tussen de drie modi te schakelen. De code staat open voor jou om te hacken, voel je vrij om je eigen modi te implementeren!

Stap 9: Je bent klaar

Je bent klaar
Je bent klaar

Je bent klaar! De Fibonacci-klok is een fantastische aanzet voor discussies … neem hem mee naar je volgende NERD-bijeenkomst of naar de kerstfamiliereünie!

Bedankt voor het lezen/kijken!

Stap 10: De code

Je kunt de broncode vinden op mijn github-account:

github.com/pchretien/fibo

Aanbevolen: