Android Things Woordklok – Spreek Je Eigen Taal in Real-Time
Onderdelen en Benodigdheden
| Onderdeel | Aantal | Opmerkingen |
|---|---|---|
| Raspberry Pi 3 Model B | 1 | |
| Arduino Nano R3 | 1 | |
| NeoPixel strip (WS2801 of WS2812B) | 1 | |
| Lijstje | 1 | |
| Lasergesneden letterindeling | 1 | |
| Extra stuk hout (zelfde formaat als indeling) | 1 |
Benodigde Tools en Machines
| Solderbout (generiek) |
Apps en Online Diensten
| Google Android Things |
| Google Firebase |
| Google Actions on Google |
Over dit Project
Wat dacht je van een klok die de taal van de gebruiker spreekt? Hier is hij!
Het kernconcept van deze klok is dat overdag alleen de letters die nodig zijn om de huidige tijd in woorden weer te geven, aanstaan, terwijl de andere uitblijven.
Dit project is een perfect voorbeeld van een Slimme Huis-apparaat, met soepere integratie met de Google Assistant, wat natuurlijke interactie via spraakcommando's mogelijk maakt, allemaal in een mooi eindproduct dat in elke woonkamer past.
Bouw Je Eigen
De eerste stap is een indeling maken met alle letters en deze lasergesneden laten maken in de juiste formaat om in het lijstje te passen, met elke letter op dezelfde afstand als de LEDs in de strip.
In de projectrepository staan de vectorbestanden voor zowel de Engelse als Italiaanse versie van de klok, met meer talen in aantocht:
- Engelse lasergesneden indeling
- Italiaanse lasergesneden indeling
Wat de LEDs betreft: het project werkt met zowel WS2801 als WS2812B strips. Het verschil: WS2801 LEDs werken direct met een Raspberry Pi (of ander Android Things bord), terwijl WS2812B LEDs een aparte controller nodig hebben (ik gebruikte een Arduino Nano verbonden via USB-seriële verbinding met het Android Things bord). De broncode in de repo biedt beide varianten met bijbehorende schema's.
We moeten de LED-strip knippen en hermonteren in een zigzag-patroon. Dit wordt achter de letterindeling geplaatst, waarbij elke LED één enkele letter verlicht.
We moeten ervoor zorgen dat het licht van één LED gericht is op één enkele letter, en niet naar buren uitstraalt. Ik loste dit op door gaten te boren in een stuk hout, één per letter, breed genoeg om de hele letter te bedekken.
De LEDs worden in de gaten geplaatst en met tape bevestigd.
Nu kunnen we de indeling in het lijstje plaatsen, zodat de letters vanaf de voorkant goed leesbaar zijn, en daarna het stuk hout met de aangesloten LEDs erachter.
Nu kunnen we de LEDs aan het Android Things bord aansluiten, afhankelijk van het gekozen LED-formaat:
Voordat we de app bouwen met Android Studio, moeten we de juiste versie selecteren in het Build Variants menu van Android Studio:
Hier hebben we één versie voor elke combinatie van indelingstaal en LED-formaat.
We bouwen de app en draaien hem op het Android Things bord, na de juiste WiFi-instellingen. Bij actieve internetverbinding stelt Android automatisch de huidige tijd in en begint de klok de juiste letters aan te steken die de tijdsinzin vormen.
Bij ontbrekende internetverbinding na herstart wordt een fouttoestand getoond:
Android Companion App
In de GitHub-repository zit ook de code voor een Android mobiele companion-app waarmee de gebruiker de kleur van de LEDs en de tijdzone (binnenkort) van de klok kan wijzigen.
Na installatie en starten zoekt de app naar een klok in bereik via de Android Nearby API, zonder gebruikersconfiguratie. Zodra de klok gevonden is, wordt het kleurenpalet getoond. Zodra de gebruiker een nieuwe kleur selecteert, worden de LEDs direct bijgewerkt.
Slimme Huis Integratie
Via Smart Home is het mogelijk de kleur van de klok-LEDs te wijzigen via de Google Assistant. Dit triggert een Firebase Function die waarden in de Firebase Realtime DB van het project wijzigt, wat door het Android Things bord wordt uitgelezen. De wijzigingen worden dan direct op de klok zichtbaar.
In de GitHub-repository vind je alle stappen om Smart Home voor de Woordklok te configureren. Eenmaal gedaan kun je zowel kleur als helderheid besturen, zoals in de volgende video getoond:
[Video niet beschikbaar in deze tekstversie]
Code
Android Things Woordklok op GitHub
https://github.com/danybony/word-clock/tree/master/AndroidThings
Schema's
Directe verbinding van de 4 draden die de WS2801 LED-strip vereist aan het Android Things bord
Met WS2812B LEDs hebben we een externe module nodig (in dit geval een Arduino Nano) als tussenpersoon tussen de LEDs en het Android Things bord.
Productieproces
- Koekeklok: geschiedenis, vakmanschap en moderne evolutie
- Geïntegreerde Schakelingen (IC's): Compacte, Krachtige Chips die Moderne Elektronica Aandrijven
- Arduino POV-klok: Bouw een Persistence-of-Vision LED-display
- Bouw een retro Numitron-klok met Arduino: Eenvoudig, betrouwbaar en energiezuinig
- DIY Arduino Woordklok – Bouw een Elegant Real-Time Display
- Precisie Woordklok: Minuutnauwkeurige Tijdweergave in Woorden
- Bouw een Aangepaste LED Hoofdklok met Alarm – Zichtbaar vanaf 12 Meter
- Bouw een Italiaanse Woordklok met Arduino Nano, NeoPixel, LCD en RTC
- Bouw een Berlijnse Klok met Arduino UNO – DIY LED-matrix klok
- MOSMusic Project Kit: MOSFET, Arduino en meer
- Voertuig-Chassis Indeling: Motorpositie & Aandrijfconfiguraties Uitgelegd