Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΌΠΈΠ³Π°Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ΠΎΠΌ, Π° ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° fabgl esp32 vga ΡΡΠ°Π»Π° Π½Π°ΡΡΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠ²ΠΎΠΌ Π΄Π»Ρ ΡΠ½ΡΡΠ°ΡΡΠΎΠ², ΠΆΠ΅Π»Π°ΡΡΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠ΅ΡΠΊΠΎΡΡΠΈ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π΄ΠΈΡΠΏΠ»Π΅Π΅Π². ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π±ΡΠ΄ΠΆΠ΅ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ°Π½ΡΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΌΡΡΡ, ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΌΡΠ»ΡΡΠΈΡ ΡΡΠ°ΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ².
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠ²ΡΡ ΠΎΠ΄Π° VGA ΠΈΠ»ΠΈ HDMI ΡΠ΅ΡΠ΅Π· ΡΡΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π½Π΅Π΅ ΠΊΠ°Π·Π°Π»ΠΈΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΠΌΠ°Π»ΠΎΠΌΠΎΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅ΡΡΠΎ-ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΎ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΌΡΠ»ΡΡΠΎΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ, Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ fabgl ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ, Π½ΠΎ ΠΈ ΡΠΎΠ½ΠΊΠΎΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ GPIO ΠΈ ΡΠ°ΠΉΠΌΠΈΠ½Π³Π°ΠΌΠΈ Π²ΠΈΠ΄Π΅ΠΎΡΠΈΠ³Π½Π°Π»Π°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ fabgl ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡ Π³ΡΠ°ΡΠΈΠΊΡ Π½Π°ΠΏΡΡΠΌΡΡ Π² Π±ΡΡΠ΅Ρ ΠΊΠ°Π΄ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ DMA ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ESP32. ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠ»Π°Π²Π½ΠΎΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ LCD ΡΠΊΡΠ°Π½ΠΎΠ².
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ fabgl
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° fabgl ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±Π΅ΡΠ΅Ρ Π½Π° ΡΠ΅Π±Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠ²ΡΡ ΠΎΠ΄ΠΎΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠ½Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΈΡΡΠ΅Ρ ΠΏΠΈΠΊΡΠ΅Π»ΠΈ, Π° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠΎΡΠ½ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΠΠ’-ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ LCD ΠΏΠ°Π½Π΅Π»Π΅ΠΉ Ρ VGA Π²Ρ ΠΎΠ΄ΠΎΠΌ. ΠΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π·Π° ΡΡΠ΅Ρ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠΈΠΏΠ° ESP32.
ΠΡΠ½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΠΊΠ° ΠΎΠ΄ΠΈΠ½ ΡΠ΄ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π±ΡΡΠ΅ΡΠ°, Π²ΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅ΡΠ΅Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ . Π’Π°ΠΊΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠΎΠ² Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ RAM ΡΠ΅Π·ΠΊΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅Ρ Π²Π°ΡΠΊΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ Π·Π°Π΄Π°Ρ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡΠΎΠ²ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ, Π½ΠΎ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΡΡΠ°ΠΌΠΈ, Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π°ΠΌΠΈ ΠΈ Π΄Π°ΠΆΠ΅ Π±Π°Π·ΠΎΠ²ΡΡ 3D-Π³ΡΠ°ΡΠΈΠΊΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ANSI ΠΈ VGA, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ legacy-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΠΎΠ±ΡΠΈΠΉ ΡΠΈΠΊΠ» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π°.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ΄ΡΠ° ESP32 Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠ²ΡΡ ΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΡΡΠ²ΠΊΠΎΠ² ΠΈ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ.
ΠΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΡΠ°ΡΡΡ: ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ VGA ΠΈ HDMI
Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΡΠΏΠ»Π΅Ρ ΠΊ ΠΏΠ»Π°ΡΠ΅ ESP32 ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΈΠ³Π½Π°Π»Ρ RGB ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΠΈΠ½Π°ΠΌ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° fabgl esp32 vga ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ GPIO, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π² ΠΊΠΎΠ΄Π΅, Π½ΠΎ Π΄Π»Ρ ΡΡΠ°Π±Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π»ΡΡΡΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΡΡ ΡΡ Π΅ΠΌ. ΠΠ»Ρ VGA ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ 3 ΠΏΠΈΠ½Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ²Π΅Ρ (Red, Green, Blue) ΠΈ 2 ΠΏΠΈΠ½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ HDMI ΡΠΈΡΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Π°. Π§Π°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊΠΈ VGA-to-HDMI Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠ°ΡΡΠΈΠ²Π½ΡΠ΅, Π½ΠΎ fabgl ΡΠΌΠ΅Π΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠ³Π½Π°Π», ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ Ρ DVI/HDMI Π²Ρ ΠΎΠ΄Π°ΠΌΠΈ Π½Π°ΠΏΡΡΠΌΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΈΠ½Ρ. ΠΠ°ΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΡΠΎΠ²Π½ΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ: ESP32 ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡ 3.3Π, Π° ΡΡΠ°Π½Π΄Π°ΡΡ VGA ΠΎΠΆΠΈΠ΄Π°Π΅Ρ 0.7Π, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ Π΄Π»Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ.
- π ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΠΈΠ½Ρ RGB (R0-R2, G0-G2, B0-B2) ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π²Ρ ΠΎΠ΄Π°ΠΌ VGA ΡΠ°Π·ΡΠ΅ΠΌΠ° ΡΠ΅ΡΠ΅Π· ΡΠ΅Π·ΠΈΡΡΠΎΡΡ.
- β‘ ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ Π·Π΅ΠΌΠ»Ρ (GND) ΠΏΠ»Π°ΡΡ ESP32 Ρ Π·Π΅ΠΌΠ»Π΅ΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΠΌΠ΅Ρ .
- πΊ Π‘ΠΈΠ³Π½Π°Π»Ρ HSync ΠΈ VSync Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊ ΠΏΠΈΠ½Π°ΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ΄ΡΠ°ΠΉΠ²Π΅ΡΠ°.
- π§ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ Π½ΠΎΠΌΠΈΠ½Π°Π»ΠΎΠΌ 270-470 ΠΠΌ Π΄Π»Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΡΠΈΠ³Π½Π°Π»Π° Ρ VGA ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ.
ΠΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΡΡ Π΅ΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»ΠΈΠ½Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠ², ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠΈΠ³Π½Π°Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ»ΠΈΠ½Π½ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΠΌΠΎΠ³ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π°Π½ΡΠ΅Π½Π½Ρ, Π²Π½ΠΎΡΡ ΡΡΠΌ Π² Π²ΠΈΠ΄Π΅ΠΎΡΠΈΠ³Π½Π°Π». ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΈΠΊ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ°ΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ².
ΠΠ»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° VGA ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠ»ΡΡΠ° Π½Π° ΠΊΠ°Π±Π΅Π»Π΅ ΠΈΠ»ΠΈ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄ Π΄Π»Ρ ΡΠΈΠ³Π½Π°Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΠΉ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠΈΠ»ΡΠ½ΡΡ
ΡΡΠΎΡΠΎΠ½ fabgl ΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ Π² Π²ΡΠ±ΠΎΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ; Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠΌΠΈΠ½Π³ΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ VGA_640x480_60Hz ΠΈΠ»ΠΈ VGA_800x600_60Hz. ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠ².
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ VideoController ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°. ΠΡΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈΠ»ΠΈ ΡΠ°Π½ΡΠ°ΠΉΠΌ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ, ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΉΡΠΈ Π² ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΡ.
#include "fabgl.h"
// ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° VGA
fabgl::VGAController VGAController;
// Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ 640x480 Ρ 60 ΠΡ
VGAController.begin(&fabgl::VGA_640x448_60Hz);
ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ RAM. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π±ΡΡΠ΅ΡΠ° ΠΊΠ°Π΄ΡΠ°, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ 2 ΡΠ²Π΅ΡΠΎΠ². ΠΠ»Ρ Π³Π»ΡΠ±ΠΎΠΊΠΈΡ ΡΠ²Π΅ΡΠΎΠ² (16 ΠΈΠ»ΠΈ 256) ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ.
- 640x480 (VGA)
- 800x600 (SVGA)
- 1024x768 (XGA)
- ΠΠ΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅
Π Π°Π±ΠΎΡΠ° Ρ Canvas ΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π°ΠΌΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ²ΡΡ ΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΎΠ»ΡΡ Π΄Π»Ρ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²Π°. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β Canvas. ΠΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ, Π»ΠΈΠ½ΠΈΠΉ, ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ², ΠΊΡΡΠ³ΠΎΠ² ΠΈ ΡΠ΅ΠΊΡΡΠ°. ΠΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±ΡΡΡΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
Π Π°Π±ΠΎΡΠ° Ρ Canvas Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Π½Π° ΠΠ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ²Π΅Ρ ΠΏΠ΅ΡΠ°, ΡΠ΅ΠΆΠΈΠΌΡ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΠ±Π»Π°ΡΡΡΠΌΠΈ.
- π¨ ΠΠ΅ΡΠΎΠ΄
setPenColor()ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ²Π΅Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. - π Π€ΡΠ½ΠΊΡΠΈΡ
drawLine()ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ Π»ΠΈΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΡΠ΅Π·Π΅Π½Ρ Π΅ΠΌΠ°. - π ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄
drawText(), ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠΈΡΡΡ. - π§Ή ΠΡΠΈΡΡΠΊΠ° ΡΠΊΡΠ°Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
clear()ΠΈΠ»ΠΈfillRectangle()Π½Π° Π²ΡΡ ΠΎΠ±Π»Π°ΡΡΡ.
ΠΡΠΈ ΡΠ°ΡΡΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΊΡΠ°Π½Π° (Π°Π½ΠΈΠΌΠ°ΡΠΈΡ) ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²ΠΎΠΉΠ½ΡΡ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ, ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠΎΠ»Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠ°Π΄ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π§Π°ΡΡΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΈΠΊΠ»Π΅
loop()Π±Π΅Π· Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ΅ΡΠ΅Π³ΡΠ΅Π²Ρ ESP32 ΠΈ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Wi-Fi ΠΌΠΎΠ΄ΡΠ»Ρ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ
ESP32 ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½ΡΠΌηΆι’ (ΡΠ·ΠΊΠΈΠΌ ΠΌΠ΅ΡΡΠΎΠΌ) ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° fabgl esp32 vga ΡΠΌΠ΅Π»ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡΡ, ΡΠ°Π·Π΄Π΅Π»ΡΡ Π΅Ρ Π½Π° Π±Π»ΠΎΠΊΠΈ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠ±ΡΡΠ΅ΡΠ°, ΡΡΠ΅ΠΊΠ° ΠΈ ΠΊΡΡΠΈ. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ OutOfMemory.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΏΠ°Π»ΠΈΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° (RGB565) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΡΠ΅ΡΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΆΠΈΠΌ Ρ 16 ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π² 4 ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌ Ρ 65 ΡΡΡΡΡΠ°ΠΌΠΈ ΡΠ²Π΅ΡΠΎΠ². ΠΡΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
| Π Π΅ΠΆΠΈΠΌ ΡΠ²Π΅ΡΠ° | ΠΠΈΡ Π½Π° ΠΏΠΈΠΊΡΠ΅Π»Ρ | ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ 640x480 | Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ |
|---|---|---|---|
| ΠΠΎΠ½ΠΎΡ ΡΠΎΠΌ | 1 Π±ΠΈΡ | ~37.5 ΠΠ | Π’Π΅ΡΠΌΠΈΠ½Π°Π»Ρ, ΡΠ΅ΠΊΡΡ |
| 16 ΡΠ²Π΅ΡΠΎΠ² | 4 Π±ΠΈΡΠ° | ~150 ΠΠ | Π Π΅ΡΡΠΎ ΠΈΠ³ΡΡ, ΠΌΠ΅Π½Ρ |
| 256 ΡΠ²Π΅ΡΠΎΠ² | 8 Π±ΠΈΡ | ~300 ΠΠ | Π‘Π»ΠΎΠΆΠ½Π°Ρ Π³ΡΠ°ΡΠΈΠΊΠ° |
| High Color | 16 Π±ΠΈΡ | ~600 ΠΠ | Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ESP32 Ρ PSRAM |
ΠΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΡΠ΅Π±ΡΡΡΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π³ΡΠ°ΡΠΈΠΊΠΈ, Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°ΡΡ ESP32 Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ PSRAM (Pseudo Static RAM). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ±ΡΡΠ΅Ρ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ RAM Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅ΠΊΠ°.
ΠΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ PSRAM Π² PlatformIO?
Π ΡΠ°ΠΉΠ»Π΅ platformio.ini Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡΠΎΡΠΊΡ build_flags = -DBOARD_HAS_PSRAM ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ±ΡΠ°Π½Π° ΠΏΠ»Π°ΡΠ° Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ esp32dev ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ 4MB PSRAM.
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ fabgl esp32 vga Π½ΠΎΠ²ΠΈΡΠΊΠΈ ΡΠ°ΡΡΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΡΡΠ΄ΠΎΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π‘Π°ΠΌΠ°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ β ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΈΠ½ΠΎΠ², Π½Π΅Π²Π΅ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ Π·Π°Π·Π΅ΠΌΠ»Π΅Π½ΠΈΡ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡ Π΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΅ΡΠ΅ ΡΠ°Π·, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅ΡΡ.
ΠΡΡΠ³Π°Ρ ΡΠ°ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈΠ»ΠΈ "ΡΠ½Π΅Π³". ΠΡΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΠ΅Ρ ΠΎ ΠΏΠ»ΠΎΡ ΠΎΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅, ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄Π»ΠΈΠ½Π½ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄Π°Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Ρ Π°Ρ ΠΎΡ Wi-Fi ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠ°ΡΡΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π° ΠΈΠ»ΠΈ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄Π°. Π’Π°ΠΊΠΆΠ΅ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΈ Π²ΡΠ΄Π°Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ ΡΠΎΠΊ.
- π« ΠΠΊΡΠ°Π½ ΡΠ΅ΡΠ½ΡΠΉ: ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΈΠ½ΠΎΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ.
- π Π¦Π²Π΅ΡΠ° ΠΈΡΠΊΠ°ΠΆΠ΅Π½Ρ: ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½ΠΎΠΌΠΈΠ½Π°Π»Ρ ΡΠ΅Π·ΠΈΡΡΠΎΡΠΎΠ² Π² ΡΡ Π΅ΠΌΠ΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ.
- π ΠΠΈΠ·ΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: ΡΠΌΠ΅Π½ΡΡΠΈΡΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°.
- π Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ: Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ 5Π/2Π.
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ fabgl_conf.h. ΠΡΠΎ ΡΠ°ΠΉΠ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ½ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π½ΡΠΆΠ΄Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
βοΈ ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ
FAQ: Π§Π°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ fabgl Ρ TFT Π΄ΠΈΡΠΏΠ»Π΅ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· SPI?
ΠΠ°, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° fabgl ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° TFT Π΄ΠΈΡΠΏΠ»Π΅ΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· SPI. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π² ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±ΡΠ΄Π΅Ρ Π½ΠΈΠΆΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ VGA/HDMI Π²ΡΡ ΠΎΠ΄Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ SPI ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ. ΠΠ»Ρ TFT Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ, Π΅ΡΠ»ΠΈ VGA Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄?
ΠΠ°, fabgl esp32 vga ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ΅Π½ΡΠΎΡΠ½ΡΡ ΡΠΊΡΠ°Π½ΠΎΠ² (Touchscreen). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²Π°ΡΡ ΡΠ΅Π½ΡΠΎΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΌΡΠ»ΡΡΠΈΡΠ°Ρ ΠΆΠ΅ΡΡΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π΅Π· ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ ΠΌΡΡΠΈ.
ΠΠ°ΠΊΠΎΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ FPS ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ?
Π§Π°ΡΡΠΎΡΠ° ΠΊΠ°Π΄ΡΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ²Π΅ΡΠ½ΠΎΡΡΠΈ. ΠΠ»Ρ ΡΠ΅ΠΆΠΈΠΌΠ° 320x240 Ρ 16 ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ 60 FPS ΠΈ Π²ΡΡΠ΅. ΠΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΎ 800x600 ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ²Π΅ΡΠΎΠ² ΡΠ°ΡΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠ°ΡΡΡ Π΄ΠΎ 20-30 FPS, ΡΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΡΠΆΠ΅Π½ Π»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π¦ΠΠ Π΄Π»Ρ VGA Π²ΡΡ ΠΎΠ΄Π°?
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²Π½Π΅ΡΠ½ΠΈΠΉ Π¦ΠΠ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. fabgl ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Ρ Π½ΠΈΠΊΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ "ΡΠ΅Π·ΠΈΡΡΠΈΠ²Π½Π°Ρ Π»Π΅ΡΡΠ½ΠΈΡΠ°" (R-2R ladder ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠ΅Π·ΠΈΡΡΠΎΡΠΎΠ²), Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΡΡΠΌΠΎ Π² ΡΡ Π΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π¦ΠΈΡΡΠΎΠ²ΡΠ΅ Π²ΡΡ ΠΎΠ΄Ρ ESP32 ΡΠ΅ΡΠ΅Π· ΡΠ΅Π·ΠΈΡΡΠΎΡΡ ΡΠΎΡΠΌΠΈΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠΈΠ³Π½Π°Π» Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΎΠ².