Inhoudsopgave:

ESP32-fotoklok - Ajarnpa
ESP32-fotoklok - Ajarnpa

Video: ESP32-fotoklok - Ajarnpa

Video: ESP32-fotoklok - Ajarnpa
Video: Обязательно запомни эту хитрость! Как можно моментально вывести йод с одежды? #shorts 2024, Juli-
Anonim
Image
Image
ESP32 Fotoklok
ESP32 Fotoklok

Deze instructables laten zien hoe je ESP32 en LCD kunt gebruiken om een fotoklok te maken. In het Japans heet het BiJin ToKei(美人時計).

Stap 1: Wat is BiJin ToKei?

Wat is BiJin ToKei?
Wat is BiJin ToKei?

BiJin ToKei(美人時計)start vanaf 2009, vinden ze elke minuut verschillende schoonheidsrapporten. BiJin ToKei biedt webapplicatie en mobiele app-versie. Na deze jaren kun je nu veel varianten op internet vinden.

ref.:

www.bijint.com

ja.wikipedia.org/wiki/BIJIN%26Co.

itunes.apple.com/us/app/bijin-tokei-plus/i…

deadoralive.wikia.com/wiki/Bijin_Tokei

twitter.com/search?q=%23bijintokei

Stap 2: Waarom ESP32?

Waarom ESP32?
Waarom ESP32?

BiJin ToKei biedt oorspronkelijk een webapplicatie en mobiele app-versie. Het is een mooie klok, maar het is erg moeilijk om een desktopscherm of mobiele telefoon op lange termijn als klok te gebruiken.

Wat dacht je van ESP32 en een klein LCD-scherm, het kost slechts ongeveer 10 USD, deze prijs is redelijk de moeite waard om het te maken.

Stap 3: Voorbereiding

Voorbereiding
Voorbereiding
Voorbereiding
Voorbereiding
Voorbereiding
Voorbereiding

ESP32 bord

Elk ESP32-ontwikkelbord met SPI-breakout-pinnen zou in orde moeten zijn.

LCD

ESP32_TFT_Library kan ILI9341, ILI9488, ST7789V en ST7735 ondersteunen. Deze keer gebruik ik een 2,4 ST7789V LCD, modelnummer JLX240-00302-BN. Dit model is alleen ontworpen voor SPI, dus het heeft slechts 10 pinnen (eigenlijk 9 pinnen). Het kan het soldeerwerk gemakkelijker maken.

Update: ik heb ook een 3,2-inch LCD-scherm geprobeerd, modelnummer JLX320-00202

Displaystandaard

U kunt elk oud materiaal in de hand hergebruiken als een eenvoudige standaard, b.v. een mobiele stand. Ik heb een kapotte naamlabelhouder in de hand, het is perfect om dit werk te doen!

anderen

Een weerstand van 10 Ohm en wat gecoat koperdraad.

Stap 4: Ontwerp

Ontwerp
Ontwerp

Een fotoklok vereist de mogelijkheid om foto weer te geven. De foto op www.bijint.com is in JPG-formaat, dus ik heb een JPG-decodeer- en weergavebibliotheek nodig. Ik ben lang geleden op zoek naar de gerelateerde bibliotheek, totdat ESP32 populair werd.

ESP32 is de eerste hobbychip met een complete oplossing voor het weergeven van JPG-afbeeldingen (dankzij de inspanning van loboris). Daarvoor kon ik een video op YouTube vinden die beweerde-j.webp

Dus dit project start vanuit Loboris' ESP32_TFT_library.

Hier is het programmaverloop:

  1. Wifi verbinden
  2. Krijg de huidige tijd met het NTP-protocol
  3. Voeg de uur- en minutentekenreeks samen om de huidige tijdafbeeldings-URL te vormen en haal deze vervolgens elke minuut op van www.bijint.com
  4. Sla het jpg-bestand van de afbeelding op in SPIFFS
  5. jpg-bestand weergeven

Update: de nieuwste code ondersteunt ook directe decodering van-j.webp

Ontwerp betreffende details:

  1. WiFi en internetverbinding zijn niet 100% betrouwbaar en ik wil niet dat de klok op een verkeerd moment vastloopt, dus zodra er een fout optreedt (bijv. DNS-lookup mislukt, NTP mislukt, download mislukt), start het programma opnieuw en doet het opnieuw.
  2. Elke minuut een enkele foto betekent 1440 foto's per dag, ESP32 ingebouwde flitser past niet op honderden MB foto's. De klok kan dus niet alle afbeeldingen vooraf ophalen, maar kan de afbeelding elke keer ophalen, weergeven en vervolgens opruimen.
  3. Flash slijt gemakkelijk door het daaropvolgende overschrijven, dus het programma roteert de cachebestanden om te voorkomen dat elke minuut naar dezelfde plaats wordt geschreven.
  4. Het beeldformaat is groter dan de LCD-resolutie, dus het is vereist om het beeld tot de helft te verkleinen om weer te geven.
  5. De ingebouwde tijdzone-aanpassing van ESP-IDF werkt niet zoals verwacht, dus pas de tijdzone aan met aangepaste code.
  6. De tijd voor het downloaden van bestanden vereist 10-50 seconden (afhankelijk van de bestandsgrootte en het netwerk), dus ik heb 20 seconden (configureerbaar) van de realtime gevorderd om deze vertraging te verhelpen.

Stap 5: Download, compileer, flash en voer het programma uit

Download, compileer, flash en voer het programma uit
Download, compileer, flash en voer het programma uit

ESP-IDF instellen (indien nog niet):

  • Windows-installatiehandleiding
  • Mac OS-installatiehandleiding
  • Linux-installatiehandleiding

Download hier de broncode:

github.com/moononournation/ESP32_BiJin_ToK…

Configuratie:

maak menuconfig

  • seriële poort configureren

    1. selecteer "Seriële Flasher Config"
    2. selecteer "Standaard seriële poort"
    3. vul de seriële poort van de ESP32-kaart, b.v. COM6 bij Windows; /dev/cu. SLAB_USBtoUART op macOS
  • wifi configureren

    1. selecteer "BiJin Tokei-configuratie"
    2. vul uw eigen "WiFi SSID" en "WiFi-wachtwoord" in

Maatwerk

Gewijzigd "partitions.csv", pas de opslaggrootte aan. (maximaal 0x100000 voor 2M en 0x300000 voor 4M)

opslag, gegevens, spiffs, 0x100000, 0xF0000, Gewijzigd "main/bijin_tokei.c"

bepalen hoeveel cachebestanden zullen worden gebruikt, afhankelijk van de SPIFFS-opslaggrootte. Of stel in op 0 voor direct decoderen van JPG

#define CACHE_COUNT 0

Selecteer een van de TOKEI LIST-URL's en verwijder deze of vul uw eigen URL in:

statische const char *REQUEST_FORMAT =

Compileer, flash en voer het programma uit:

flitsmonitor maken

Stap 6: Soldeerwerkzaamheden

Soldeerwerkzaamheden
Soldeerwerkzaamheden
Soldeerwerkzaamheden
Soldeerwerkzaamheden
Soldeerwerkzaamheden
Soldeerwerkzaamheden

Plak het ESP32-bord op de achterkant van het LCD-scherm en soldeer met gecoat koperdraad.

De verbinding is heel eenvoudig, maar de LCD-pinnen zijn meestal erg dun, pas op dat ze niet in elkaar grijpen.

Hier is het verbindingsoverzicht:

ESP32 GND -> LCD -ve

-> LCD LED -ve ESP32 3v3 -> LCD +ve -> 10 Ohm weerstand -> LCD LED +ve ESP32 GPIO16 -> LCD RS (DC) ESP32 GPIO23 -> LCD SDA (SPI MOSI) ESP32 GPIO05 -> LCD CS ESP32 GPIO17 -> LCD RST ESP32 GPIO18 -> LCD CL (SPI CLK)

Tips: hoogspanningskabel vereist dikkere draad om aan de huidige stroom te voldoen, maar het vereist meer inspanning om de positie te fixeren; andere signaallijnen kunnen dunnere draad gebruiken en het soldeerwerk vergemakkelijken.

Stap 7: Controleer en plaats het LCD-scherm op de standaard

Controleer en plaats het LCD-scherm op de standaard
Controleer en plaats het LCD-scherm op de standaard
Controleer en plaats het LCD-scherm op de standaard
Controleer en plaats het LCD-scherm op de standaard
Controleer en plaats het LCD-scherm op de standaard
Controleer en plaats het LCD-scherm op de standaard

Controleer of het programma correct wordt uitgevoerd en bevestig het vervolgens op de standaard.

Stap 8: Gelukkige tijd

Vrolijke tijd!
Vrolijke tijd!

Het is tijd om het op je bureaublad te plaatsen en aan je vriend te laten zien wat je hebt gedaan!

Stap 9: wat nu?

  • Probeer een andere BiJin ToKei-variant
  • Geselecteerde variaties willekeurig roteren
  • Maak je eigen foto's op maat
  • Tijd weergeven in grote lettergrootte voor het geval de afbeelding niet kan worden geladen
  • Probeer een groter scherm, b.v. ili9488 (320 x 480)

Aanbevolen: