8-900-374-94-44
[email protected]
Slide Image
МСню

Stm32F030F4P6 схСма ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ: НачинаСм ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ STM32F030f4p6 / Π₯Π°Π±Ρ€

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

STM32F030F4P6 hand-made | Π‘Π°ΠΉΡ‚ ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… STM32 ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ …

STM32F030F4P6 hand-made.

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹Β STM32F03Β ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ простых задач Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… большой Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ мощности. Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ†Π΅Π½Π° — ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ устройств — ΠΈ этот ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈΠΌΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.Β Β Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅Β STM32F030F4P6 самому ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ Π² Π»ΠΈΠ½Π΅ΠΉΠΊΠ΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ сСрии, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ Π² своих Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ…. Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ — ссылка  таблицС 2.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Π·ΡΡ‚ΡŒΡΡ Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² связанных с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ я сначала ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽ свои Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² » ΠΆΠ΅Π»Π΅Π·Π΅». И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ «ΠΆΠ΅Π»Π΅Π·Π΅» Ρ‚.ΠΊ. ΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΡƒΡ‡Π΅ΡΡ‚ΡŒ всС особСнности тСхничСского задания. И Π²ΠΎΡ‚ Π² ΠΎΠ΄ΠΈΠ½ прСкрасный ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Β ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ с минимальной Ρ†Π΅Π½ΠΎΠΉ. Π― Π²Ρ‹Π±Ρ€Π°Π»Β Β STM32F030F4P6

Π² корпусС TSSOP20.Β 

Β 

Π’Ρ‹Π±ΠΎΡ€ это Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ «ΠΆΠ΅Π»Π΅Π·ΠΎ» Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ Π³Π΄Π΅-Ρ‚ΠΎ Π²Π·ΡΡ‚ΡŒ ΠΈ Ρ‡Π΅ΠΌ скорСС Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ Ρ‚.ΠΊ. врСмя это дСньги.

ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ Ρƒ ΠΊΠΈΡ‚Π°ΠΉΡ†Π΅Π² — Π΄ΠΎΠ»Π³ΠΎ.., ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ Ρƒ ΠΏΠ΅Ρ€Π΅ΠΊΡƒΠΏΡ‰ΠΈΠΊΠΎΠ² ΠΏΠ»Π°Ρ‚Ρƒ ΠΊΡƒΠΏΠ»Π΅Π½Π½ΡƒΡŽ Ρƒ ΠΊΠΈΡ‚Π°ΠΉΡ†Π΅Π² — ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ..Β 

Π― Π²Ρ‹Π±Ρ€Π°Π» простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. ΠšΡƒΠΏΠΈΠ» Π΄Π²Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ приступил ΠΊ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΡŽ. ΠŸΠ»Π°Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Π»Π° Π±Ρ‹Ρ‚ΡŒ максимально Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ тСхничСскому заданию ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΠΎ Π² сСбя —Β Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π΄Π²Π° свСтодиода, Π΄Π²Π° Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² микросхСму памяти  (ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ настройки ΠΏΡ€ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ питания).Β  ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Π², Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ я приступил ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽΒ ΡΠ²ΠΎΠ΅ΠΉ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ (ΠΈΠ»ΠΈ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ).

ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ (основной вопрос) — Ρ‚.ΠΊ. ΠΏΠ»Π°Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° столС рядом с PC Ρ‚ΠΎ ΠΏΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ‚ USB. Взял Ρ€Π°Π·ΡŠΠ΅ΠΌ ΠΌΠΈΠ½ΠΈ (Π½Π΅ ΠΌΠΈΠΊΡ€ΠΎ) .

Β Β Β Β 

Β  Π‘ USB ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ 5V,Β Π° Π½Π°ΠΌ Π½Π°Π΄ΠΎ 3.3V Π½ΡƒΠΆΠ΅Π½ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ DC/DC.

И Π–Π•Π›ΠΠ’Π•Π›Π¬ΠΠž ΠΏΡ€Π΅Π΄ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΡŒ! Π― Π±ΡƒΠ΄Ρƒ Π΄Π΅Π»Π°Ρ‚ΡŒ Π±Π΅Π· Π½Π΅Π³ΠΎ. Π Π°Π½Π΅Π΅ производя Ρ€Π΅ΠΌΠΎΠ½Ρ‚ Π² Π΄Π²ΡƒΡ… ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Ρ‚Π² приставках мною Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Ρ‹ Ρƒ ΠΊΠΈΡ‚Π°ΠΉΡ†Π΅ — микросхСмы  mic5219-3.3Β Β 

Β 

Β 

Β 

Π‘ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ.

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° памяти. Π‘Ρ‹Π»Π° взята ΠΈΠ· китайской ΠΏΠ»Π°Ρ‚Ρ‹ AT24C32Β  IC2

Π’.ΠΊ. шина Ρƒ Π½Π° I2C Ρ‚ΠΎ ΠΠ•ΠžΠ‘Π₯ΠžΠ”Π˜ΠœΠ подтяТка

SCL Ρ‡Π΅Ρ€Π΅Π· сопротивлСниС 4.3 Ком (КилоОм)Β +3.3 VΒ 

SDA Ρ‡Π΅Ρ€Π΅Π· сопротивлСниС 4.3 Ком (КилоОм)Β +3.3 VΒ 

ΠŸΠΎΡ‡Π΅ΠΌΡƒ 4.3 — ΠΎΠΏΡ‹Ρ‚ использования.Β 

Π‘ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ.

Π’Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.Β 

Для простых Π·Π°Π΄Π°Ρ‡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ RC Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ — 8 МHz HSI.

Π’ΠΎΡ‚ ΠΎΠ½Π°Β 

Из плюсов

 НадСТная, Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ всСгда, Π½Π΅ Π½Π°Π΄ΠΎ Π·Π°ΠΌΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° настройку внСшнСго ΠΊΠ²Π°Ρ€Ρ†Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚Ρ‹ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉΒ 

Из минусов

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ! Π”Π°, Π΄Π°,Β ΠΌΡ‹ Π½Π΅ ΠΊΠΎΡ€Π°Π±Π»ΠΈ Π² космос запускаСм, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ ошибок Π½Π΅Ρ‚ Π² этом самом Π²Π°ΠΆΠ½ΠΎΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π΅.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Π²Ρ‹Π±ΠΈΡ€Π°ΡŽ ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€. ΠŸΡ€ΠΈΡ‡Π΅ΠΌΒ Π½Π° 16 Mhz !!

Π‘Π΅ΠΌΠ° ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈΒ 

Β Β Β 

Π― взял Ρ‚Π°ΠΊΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° 16. 000 (Π½Π΅ 20.000 ΠΊΠ°ΠΊ Π½Π° рисункС) .Β Β 

ΠšΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€Ρ‹Β Π½Π° 22 pF хотя Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈΒ  ΠΎΡ‚ 5 Π΄ΠΎ 20 pF

Π‘ Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всС.

Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ с Keil то соотвСтствСнно BOOT Π½Π° GND.

NRSTΒ  — Ρ‡Π΅Ρ€Π΅Π· 10К (KилоОм) Π½Π° VDD ΠΈ кондСнсатор 0.1 ΠΌΠΈΠΊΡ€ΠΎΠ€ Π½Π° ΠŸΠ’Π’. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ 10k ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ (Π΄Π° ΠΈ Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Π½ΠΎ я поставил) . Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ схСму Π½ΠΈΠΆΠ΅ Ρ‚ΠΎ подтяТка ΡƒΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° установлСна — Rpu ΠΊ Vdd .Β Β 

Β 

Β 

Π¨Ρ‚Ρ‹Ρ€ΠΈ для соСдинСния ΠΏΠ»Π°Ρ‚Ρ‹ с внСшним ΠΌΠΈΡ€ΠΎΠΌ Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅. Π‘ шагом 2.54 ΠΌΠΌ.

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΠΈ всС ..Β 

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΠΌ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΠ»Π°Ρ‚Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для проСктирования ΠΈ ΠΏΠ»Π°Ρ‚Π½Ρ‹Ρ… ΠΈ бСсплатных Π½ΠΎΠ³ΠΎ. Π― послСдниС Π»Π΅Ρ‚ 10 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ DipTrace. Π’ основном Π΅Π΅ Ρ‡Π°ΡΡ‚ΡŒ для Ρ€Π°Π·Π²ΠΎΠ΄ΠΊΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ².Β 

Π£Π΄ΠΎΠ±Π½ΠΎ. И ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ‚.ΠΊ. сначала схСма, ΠΏΠΎΡ‚ΠΎΠΌ соСдинСния ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Π²ΠΎΠ΄ΠΊΠ° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Π½ΠΎ .. ΠΏΠ»Π°Ρ‚Π°Β  Π² Π΄Π°Π½Π½ΠΎΠΌ случаС простая ΠΈ я Π½Π΅ Π²ΠΈΠΆΡƒ смысла Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ схСму (Ссли Π±ΡƒΠ΄ΡƒΡ‚ поТСлания Ρ‚ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ сдСлаю).Β 

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ²ΡˆΠΈΡΡŒ с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ корпусов ΠΈ ΠΈΡ… Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Π² Π±Π°Π·Π΅ DipTrace приступаСм ΠΊ прорисовкС ΠΏΠ»Π°Ρ‚Ρ‹.Β Β Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ роТдаСтся Ρ€Π°Π·Π²ΠΎΠ΄ΠΊΠ° Π½Π° ΠΏΠ»Π°Ρ‚Π΅.

ВсС Π½Π° одностороннСй ΠΏΠ»Π°Ρ‚Π΅ с двумя ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠ°ΠΌΠΈΒ 

Β 

 Если Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ссылка Π½Π° скачиваниС.Β 

По ΠΏΠ»Π°Ρ‚Π΅Β 

РазъСм

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ DC/DCΒ  Β mic5219-3.3 + Π΄Π²Π° кондСнсатора (всС ΠΊΠ°ΠΊ Π½Π° Ρ„ΠΎΡ‚ΠΎ Π²Ρ‹ΡˆΠ΅)

Β 

НаличиС 3.3V (послС DC/DC) свСтодиод + рСзистор Π½Π° 330 ОМ

ВСрхняя сторона  STM32F030F4P6 (20 ΠΏΠΈΠ½ΠΎΠ²)Β  сСрСдина

ΠšΠ²Π°Ρ€Ρ† + Π΄Π²Π° кондСнсатора  — слСва свСрху 

AT24C32Β  + Π΄Π²Π° рСзистора (подтяТка) — справа свСрху

РазъСм для программирования  ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Β 

Π‘Π²Π΅Ρ€Ρ…Ρƒ :

NRST

ΠŸΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠ° GND

GND

SWCLK

SWDIO

Β 

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠ° VDD ΠΈ VDDA

Β 

Π­Ρ‚ΠΎ основноС ΠΈΠ· Π²Π°ΠΆΠ½ΠΎΠ³ΠΎ . . ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΡ‚Ρ‹Ρ€ΠΈ GND ΠΈ +3.3V

И Ρ‚Π°ΠΊ Ссли всС устраиваСт Π½Π° ΠΏΠ»Π°Ρ‚Π΅ приступаСм ΠΊ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΡŽ ..

Π˜Π·Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ домашнСй Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ !!!

Π­Ρ‚Π° тСхнология Π›Π£Π’.Β 

Π£Ρ‚ΡŽΠ³ Β + Π»Π°Π·Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ + калька (ΠΈΠ»ΠΈ Π±ΡƒΠΌΠ°Π³Π° похоТая Π½Π° ΠΊΠ°Π»ΡŒΠΊΡƒ) ΠΈ Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅Π΅Π΅Π΅Π΅Π΅Π΅.

 Готовимся ΠΊ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

Π‘Π΅Ρ€Π΅ΠΌ лист Π±ΡƒΠΌΠ°Π³ΠΈ, располагаСм ΠΏΠ΅Ρ€Π΅Π΄ собой Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, Π·Π°Π³ΠΈΠ±Π°Π΅ΠΌ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΊΡ€ΠΎΠΌΠΊΡƒ Π½Π° сСбя (10 ΠΌΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ).

Π‘Π΅Ρ€Π΅ΠΌ ΠΊΠ°Π»ΡŒΠΊΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° А4 (ΡΠ°ΠΌΡƒΡŽ Ρ‚ΠΎΠ½ΠΊΡƒΡŽ ΠΊΠ°ΠΊΡƒΡŽ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅) ΠΈ подсовываСм Π΅Π΅ ΠΏΠΎΠ΄ согнутый Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΊΡ€Π°ΠΉ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΌΠ°Π·Π°Π² ΠΏΠ»Π΅Π΅ΠΌ ( ΠΊΠ»Π΅Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ€Π°Π½Π΄Π°Ρˆ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€). КлССм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π·Π°Π³Π½ΡƒΡ‚ΠΎΠΉ ΠΊΡ€ΠΎΠΌΠΊΠΈ!!!

Π–Π΄Π΅ΠΌ ΠΊΠΎΠ³Π΄Π° высохнСт 5 ΠΌΠΈΠ½ ΠΈ ΠΊΠ»Π°Π΄Π΅ΠΌ Π² ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌΒ  — Π·Π°Π³Π½ΡƒΡ‚Ρ‹ΠΉ ΠΈ склССнный  ΠΊΡ€Π°ΠΉ A4 ΠΈ кальки в ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ калька Π±Ρ‹Π»Π° свСрху..

РаспСчатываСм ΠΈΠ·Β Β DipTrace Β Π² Π—Π•Π ΠšΠΠ›Π¬ΠΠžΠœ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ!!Β 

Π”ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΒ 

ΠžΡ‚Ρ€Π΅Π·Π°Π΅ΠΌ тСкстолит ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Ρ€Π°ΠΌΠΊΠΈ + 2. .3 ΠΌΠΌ

ПослС ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ выправляСм ΠΏΠ»Π°Ρ‚Ρƒ Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»Π΅ΠΆΠ° Π½Π° повСрхности Π½Π΅ Π±Ρ‹Π»ΠΎ Ρ‚ΠΎΡ€Ρ‡Π°Ρ‰ΠΈΡ… ΠΊΡ€Π°Π΅Π²!!

ПослС выправлСния я Π½Π°ΠΆΠ΄Π°Ρ‡Π½ΠΎΠΉ Π±ΡƒΠΌΠ°Π³ΠΎΠΉΒ 

Π‘Π΅Π· сильно!! Π½Π°ΠΆΠΈΠΌΠ° Π΄ΠΎΠ²ΠΎΠΆΡƒ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎ блСска ΠΏΠΎ всСй ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΈ особСнно ΠΏΠΎ краям!!

Π”Π°Π»ΡŒΡˆΠ΅ Π±Π΅Ρ€Π΅ΠΌ любой ΠΏΠΎΡ€ΠΎΡˆΠΎΠΊ для Ρ€ΡƒΡ‡Π½ΠΎΠΉ стирки (Ρƒ мСня МИЀ) ΠΈ Π·ΡƒΠ±Π½ΡƒΡŽ Ρ‰Π΅Ρ‚ΠΊΡƒ ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ со своими Π·ΡƒΠ±Π°ΠΌΠΈ — ΠΏΠΎΠ΄ Π²ΠΎΠ΄ΠΎΠΉ насыпаСм Π½Π° ΠΊΡ€Π°ΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΏΠΎΡ€ΠΎΡˆΠΎΠΊ ΠΈ Ρ‚Ρ€Π΅ΠΌ. Π’Ρ€Π΅ΠΌ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ состояния ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ станСт ΠΌΠ°Ρ‚ΠΎΠ²ΠΎΠΉ.Β  ПослС этого Ρ€ΡƒΠΊΠ°ΠΌΠΈ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Π΅ΠΌ! Π’Ρ‹Ρ‚ΠΈΡ€Π°Π΅ΠΌ Π±ΡƒΠΌΠ°ΠΆΠ½Ρ‹ΠΌ ΠΏΠΎΠ»ΠΎΡ‚Π΅Π½Ρ†Π΅ΠΌ Π½Π° сухо.

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΡƒΡ‚ΡŽΠ³ Π½Π° ΠΏΠΎΠ»Π½ΡƒΡŽΒ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΈ Π΄Π°Π΅ΠΌ Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π΅Ρ‚ΡŒΡΡ. Когда ΡƒΡ‚ΡŽΠ³ прогрСваСтся ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ Ρ‚Π°ΠΊ нСсколько Ρ€Π°Π·.

ΠžΡ‚Ρ€Π΅Π·Π°Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΡˆΠΈΡ… рисунков ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈΠ· кальки ΠΈ Π·Π°Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π½Π°ΡˆΡƒ ΠΏΠ»Π°Ρ‚Ρƒ Π² Π½Π΅Π³ΠΎ.

Β Β Β Β 

Π‘Π΅Ρ€Π΅ΠΌ Ρ‚ΠΎΠ»ΡΡ‚ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ (ΠΆΡƒΡ€Π½Π°Π», любоС толстоС ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅)

КладСм Π½Π° Π½Π΅Π΅ свСрток Ρ€ΠΎΠ²Π½ΠΎΠΉ стороной ΠΊ Π²Π΅Ρ€Ρ…Ρƒ ΠΈ Π½Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ листом чистой Π±ΡƒΠΌΠ°Π³ΠΈ ΠΈ Ρ€Π°Π·Π³Π»Π°ΠΆΠΈΠ²Π°Π΅ΠΌ.

Π‘Π΅Ρ€Π΅ΠΌ ΡƒΡ‚ΡŽΠ³ ΠΈ ΠΏΡ€ΠΈΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΈΠΌ лист Π±ΡƒΠΌΠ°Π³ΠΈ Π² Ρ‚ΠΎΠΌ мСстС Π³Π΄Π΅ ΠΏΠ»Π°Ρ‚Π° ΠΈ Π΄Π΅Ρ€ΠΆΠΈΠΌ считая Π΄ΠΎ 6 послС Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ АККУРАВНО Ρ€Π°Π·Π³Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ (слСгка надавливая) Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° Π±ΡƒΠΌΠ°Π³Π΅ ΠΎΠ±Ρ€Π°Π· ΠΏΠ»Π°Ρ‚Ρ‹ Π΅Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ сСк 5.

ПослС Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ лист Π±ΡƒΠΌΠ°Π³ΠΈ свСрху.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π΅Π΅Π½Π½Ρ‹ΠΉ ΠΊ ΠΏΠ»Π°Ρ‚Π΅ лист кальки. Π― ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· сильно Π²ΠΎΠ΄ΠΈΠ» ΡƒΡ‚ΡŽΠ³ΠΎΠΌ ΠΈ рисунок сдвинулся.

Когда ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ устраиваСт .. Π½Π΅ разворачивая!! опускаСм ΠΏΠ»Π°Ρ‚Ρƒ с Π±ΡƒΠΌΠ°Π³ΠΎΠΉ ΠΏΠΎΠ΄ Π²ΠΎΠ΄Ρƒ, ΠΆΠ΅ΠΌ ΠΊΠΎΠ³Π΄Π° калька ΠΏΡ€ΠΎΠΌΠΎΠΊΠ½Π΅Ρ‚ ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠ°Π»ΡŒΡ†Π°ΠΌΠΈ стираСм Π΅Π΅ с ΠΏΠ»Π°Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ.

Π”Π°Π»ΡŒΡˆΠ΅ Π²Ρ‹Ρ‚ΠΈΡ€Π°Π΅ΠΌ Π±ΡƒΠΌΠ°ΠΆΠ½Ρ‹ΠΌ ΠΏΠΎΠ»ΠΎΡ‚Π΅Π½Ρ†Π΅ΠΌ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ. О Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ рисунок стоит ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ я суТу ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠ»ΠΈΡΡŒ самыС слоТныС Π»ΠΈΠ½ΠΈΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΌ рисункС это мСсто Ρ€Π°Π·Π²ΠΎΠ΄ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Оно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΈΠΌ убирая остатки Π±ΡƒΠΌΠ°Π³ΠΈ. Π’ мСстах Π³Π΄Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΈ Π½Π΅ ΠΏΡ€ΠΎΡ€ΠΈΡΠΎΠ²Π°Π»ΠΈΡΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚Π²Π°Π»ΠΈΠ»ΠΈΡΡŒ я Π΄ΠΎΡ€ΠΈΡΠΎΠ²Ρ‹Π²Π°ΡŽ ΠŸΠ•Π ΠœΠΠΠ•ΠΠ’ΠΠ«Πœ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠΌ 0.5 ΠΌΠΌ.

ПослС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ — Ρ‚Ρ€Π°Π²ΠΈΠΌ. Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² травлСния ΠΏΠ»Π°Ρ‚ Π² Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… условиях. Π― это дСлаю Π² Ρ…Π»ΠΎΡ€Π½ΠΎΠΌ ΠΆΠ΅Π»Π΅Π·Π΅.Β 

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΒ 

Β 

ΠšΠΎΠ½Ρ‚ΡƒΡ€ остался ΠΈ ΠΏΠΎ Π½Π΅ΠΌΡƒ Π½ΠΎΠΆΠ½ΠΈΡ†Π°ΠΌΠΈ ΠΎΡ‚Ρ€Π΅Π·Π°Π΅ΠΌ лишнСС.

Π‘Ρ‚ΠΈΡ€Π°Π΅ΠΌ Ρ‚ΠΎΠ½Π΅Ρ€Β 

Π”Π°Π»ΡŒΡˆΠ΅ ΠΊΠ΅Ρ€Π½ΠΈΠΌ отвСрстия ΠΈ свСрлим. Π£ мСня свСрло 0.5 ΠΌΠΌ.

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ отвСрстия просвСрлСны — ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ Π½Π°ΠΆΠ΄Π°Ρ‡Π½ΠΎΠΉ Π±ΡƒΠΌΠ°Π³ΠΎΠΉ (Π½Π΅ сильно). Π’ΠΈΠΏ Π±ΡƒΠΌΠ°Π³ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅.Β 

Для домашнСй Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°ΠΆΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.

Π”Π°Π»ΡŒΡˆΠ΅ Π»ΡƒΠ΄ΠΈΠΌ ΠΈ паяСм, ΠΎΡ‚ΠΌΡ‹Π²Π°Π΅ΠΌΒ ΠΈ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ»Π°Ρ‚Ρƒ Π² сборС

Π£Ρ€Π°!!!Β   ВсС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚ΠΎΠΉ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅Β 

  • STM32F030F4P6 Blink CubeMX

Β 

ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, настройка ΠΈ Π½Π°Ρ‡Π°Π»ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ [АмпСрка / Π’ΠΈΠΊΠΈ]

ΠŸΠ»Π°Ρ‚Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Troyka HAT ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ„ΠΎΡ€ΠΌ-Ρ„Π°ΠΊΡ‚ΠΎΡ€Π° Troyka ΠΊ ΠΎΠ΄Π½ΠΎΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°ΠΌ Raspberry Pi Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Troyka HAT Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ возмоТности ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈ, вСдь Ρƒ Π½Π΅Ρ‘ Π½Π° Π±ΠΎΡ€Ρ‚Ρƒ располоТСн IΒ²C-Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ STM32F030F4P6 с Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ядром ARM Cortex M0. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π΄Π°Ρ‘Ρ‚ восСмь Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΈΠ½ΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ 12-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ АЦП ΠΈ 16-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ ШИМ.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ настройка

ДисплСй Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Raspberry Pi. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ настройку Π½Π° ΠΌΠ°Π»ΠΈΠ½ΠΊΠ΅ Pi 4 Model B.

Для старта Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΆΠ΅Π»Π΅Π·ΠΎ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ настройку.

Аппаратная Ρ‡Π°ΡΡ‚ΡŒ

Π§Ρ‚ΠΎ понадобится
  • Raspberry Pi 4

  • Troyka HAT

  • Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ питания Robiton TN2000S

Π‘Π±ΠΎΡ€ΠΊΠ° устройства
  1. УстановитС Troyka HAT свСрху Π½Π° Raspberry Pi.

  2. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΊ DC-Ρ€Π°Π·ΡŠΡ‘ΠΌΡƒ Π½Π° Troyka HAT.

ΠŸΡ€ΠΈ использовании ΠΏΠ»Π°Ρ‚Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Troyka HAT Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ питания Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·ΡŠΡ‘ΠΌ USB Π½Π° Raspberry Pi.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ

  1. Π—Π°Π²Π΅Π΄ΠΈΡ‚Π΅ Raspberry Pi.

  2. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΡˆΠΈΠ½Ρƒ IΒ²C ΠΈ установитС IΒ²C сканСр.

  3. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Π΅ IΒ²C-устройства:

    sudo i2cdetect -y 1

    Π‘ΠΊΠ°Π½Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΉΡ‚ΠΈ адрСс 0x2a, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся IΒ²C-адрСсом Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»Ρ ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

  4. УстановитС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ TroykaHatPython для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚ΠΎΠΉ Amperka Troyka HAT:

    pip3 install troykahat

На этом настройка Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π°, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ смСло ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ экспСримСнтам.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ИмСна ΠΏΠΈΠ½ΠΎΠ² Π½Π° Troyka HAT относятся ΠΊ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ Wiring Pi, которая отличаСтся ΠΎΡ‚ стандартной Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ BCM, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² стартовом Π½Π°Π±ΠΎΡ€Π΅ Малина. Для удобства Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π½ΠΈΠΆΠ΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ Wiring Pi. А всС подробности распиновки Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅.

ΠœΠ°ΡΡ‡ΠΎΠΊ Π½Π° WiringPi IO

Для Π½Π°Ρ‡Π°Π»Π° ΠΌΠΈΠ³Π½Ρ‘ΠΌ свСтодиодом Π½Π° Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Β«Wiring Pi IOΒ».

Π§Ρ‚ΠΎ понадобится
  • Raspberry Pi 4

  • Troyka HAT

  • Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ питания Robiton TN2000S

  • Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ Β«ΠŸΠΈΡ€Π°Π½ΡŒΡΒ» (Troyka-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ)

Π‘Ρ…Π΅ΠΌΠ° устройства

Код для Python
blink_led_wiringpi_io.py
# Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚ΠΎΠΉ Troyka HAT.
import troykahat
# Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с функциями Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
from time import sleep
Β 
Β 
# НазначаСм константноС имя ΠΏΠΈΠ½Ρƒ 7 ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ "Wiring PI IO",
# ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ свСтодиод ΠΊ этому ΠΏΠΈΠ½Ρƒ. 
PIN_WP_LED = 7
Β 
Β 
# Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ wp для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΈΠ½Π°ΠΌΠΈ,
# ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°ΠΊ Β«Wiring Pi IOΒ» Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Troyka HAT.
# Π­Ρ‚ΠΎ ΠΏΠΈΠ½Ρ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ Raspberry Pi Ρ‡Π΅Ρ€Π΅Π· Π΅Π³ΠΎ GPIO-Ρ€Π°Π·ΡŠΡ‘ΠΌ.
wp = troykahat.wiringpi_io()
# ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ "PIN_WP_LED" Π² Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π°.
wp.pinMode(PIN_WP_LED, wp.OUTPUT)
Β 
while True:
Β 
    # Π—Π°ΠΆΠΈΠ³Π°Π΅ΠΌ свСтодиод
    wp.digitalWrite(PIN_WP_LED, True)
    # Π–Π΄Ρ‘ΠΌ 500 мс
    sleep(0.5)
    # Гасим свСтодиод
    wp.digitalWrite(PIN_WP_LED, False)
    # Π–Π΄Ρ‘ΠΌ 500 мс
    sleep(0.5)

ПослС запуска скрипта, свСтодиод Π½Π°Ρ‡Π½Ρ‘Ρ‚ ΠΌΠΈΠ³Π°Ρ‚ΡŒ Ρ€Π°Π· Π² ΠΏΠΎΠ» сСкунды.

ΠœΠ°ΡΡ‡ΠΎΠΊ Π½Π° Analog IO

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΈΠ³Π½Ρ‘ΠΌ свСтодиодом Π½Π° Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Β«Analog IOΒ».

Π§Ρ‚ΠΎ понадобится
  • Raspberry Pi 4

  • Troyka HAT

  • Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ питания Robiton TN2000S

  • Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ Β«ΠŸΠΈΡ€Π°Π½ΡŒΡΒ» (Troyka-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ)

Π‘Ρ…Π΅ΠΌΠ° устройства

Код для Python
blink_led_analog_io.py
# Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚ΠΎΠΉ Troyka HAT. 
import troykahat
# Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с функциями Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
from time import sleep
Β 
# НазначаСм константноС имя ΠΏΠΈΠ½Ρƒ 7 ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ "Analog IO",
# ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ свСтодиод ΠΊ этому ΠΏΠΈΠ½Ρƒ.
PIN_AP_LED = 7
Β 
Β 
# Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ap для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΈΠ½Π°ΠΌΠΈ,
# ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°ΠΊ Β«Analog IOΒ» Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Troyka HAT.
# Π­Ρ‚ΠΎ ΠΏΠΈΠ½Ρ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊ встроСнному Π½Π° ΠΏΠ»Π°Ρ‚Π΅ IΒ²C Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»ΡŽ
# Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ STM32F030F4P6.
ap = troykahat.analog_io()
# ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ "PIN_AP_LED" Π² Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π°.
ap.pinMode(PIN_AP_LED, ap.OUTPUT)
Β 
while True:
Β 
    # Π—Π°ΠΆΠΈΠ³Π°Π΅ΠΌ свСтодиод
    ap.digitalWrite(PIN_AP_LED, True)
    # Π–Π΄Ρ‘ΠΌ 500 мс
    sleep(0.5)
    # Гасим свСтодиод
    ap.digitalWrite(PIN_AP_LED, False)
    # Π–Π΄Ρ‘ΠΌ 500 мс
    sleep(0.5)

ПослС запуска скрипта, свСтодиод Π½Π°Ρ‡Π½Ρ‘Ρ‚ ΠΌΠΈΠ³Π°Ρ‚ΡŒ Ρ€Π°Π· Π² ΠΏΠΎΠ» сСкунды.

Π”Π°Π±Π» ΠœΠ°ΡΡ‡ΠΎΠΊ

Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΠΌ Π΄Π²Π° скрипта: ΠΎΠ΄ΠΈΠ½ свСтодиод ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Β«WiringPi IOΒ», Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” ΠΊ Β«Analog IOΒ».

Π§Ρ‚ΠΎ понадобится
  • Raspberry Pi 4

  • Troyka HAT

  • Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ питания Robiton TN2000S

  • Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ Β«ΠŸΠΈΡ€Π°Π½ΡŒΡΒ» / красный (Troyka-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ)

  • Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ Β«ΠŸΠΈΡ€Π°Π½ΡŒΡΒ» / Π·Π΅Π»Ρ‘Π½Ρ‹ΠΉ (Troyka-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ)

Π‘Ρ…Π΅ΠΌΠ° устройства

Код для Python
blink_led_multiple. py
# Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚ΠΎΠΉ Troyka HAT.
import troykahat
# Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с функциями Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
from time import sleep
Β 
# НазначаСм константноС имя ΠΏΠΈΠ½Ρƒ 7 ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ "Wiring PI IO",
# ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ красный свСтодиод ΠΊ этому ΠΏΠΈΠ½Ρƒ.
PIN_WP_LED = 7
# НазначаСм константноС имя ΠΏΠΈΠ½Ρƒ 7 ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ "Analog IO",
# ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π·Π΅Π»Π΅Π½Ρ‹ΠΉ свСтодиод ΠΊ этому ΠΏΠΈΠ½Ρƒ.
PIN_AP_LED = 7
Β 
Β 
# Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ wp для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΈΠ½Π°ΠΌΠΈ,
# ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°ΠΊ Β«Wiring Pi IOΒ» Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Troyka HAT.
# Π­Ρ‚ΠΎ ΠΏΠΈΠ½Ρ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ Raspberry Pi Ρ‡Π΅Ρ€Π΅Π· Π΅Π³ΠΎ GPIO-Ρ€Π°Π·ΡŠΡ‘ΠΌ.
wp = troykahat.wiringpi_io()
# Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ap для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΈΠ½Π°ΠΌΠΈ,
# ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°ΠΊ Β«Analog IOΒ» Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Troyka HAT.
# Π­Ρ‚ΠΎ ΠΏΠΈΠ½Ρ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊ встроСнному Π½Π° ΠΏΠ»Π°Ρ‚Π΅ IΒ²C Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»ΡŽ
# Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ STM32F030F4P6.
ap = troykahat.analog_io()
# ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ "PIN_WP_LED" Π² Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π°.
wp.pinMode(PIN_WP_LED, wp.OUTPUT)
# ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ "PIN_AP_LED" Π² Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π°.
ap.pinMode(PIN_AP_LED, ap.OUTPUT)
Β 
while True:
Β 
    # Π—Π°ΠΆΠΈΠ³Π°Π΅ΠΌ свСтодиод Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ "PIN_WP_LED"
    wp. digitalWrite(PIN_WP_LED, True)
    # Π—Π°ΠΆΠΈΠ³Π°Π΅ΠΌ свСтодиод Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ "PIN_AP_LED"
    ap.digitalWrite(PIN_AP_LED, True)
    # Π–Π΄Ρ‘ΠΌ 500 мс
    sleep(0.5)
    # Гасим свСтодиод Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ "PIN_WP_LED"
    wp.digitalWrite(PIN_WP_LED, False)
    # Гасим свСтодиод Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ "PIN_AP_LED"
    ap.digitalWrite(PIN_AP_LED, False)
    # Π–Π΄Ρ‘ΠΌ 500 мс
    sleep(0.5)

ПослС запуска скрипта, свСтодиоды Π½Π°Ρ‡Π½ΡƒΡ‚ ΠΌΠΈΠ³Π°Ρ‚ΡŒ Ρ€Π°Π· Π² ΠΏΠΎΠ» сСкунды.

ΠšΠ½ΠΎΠΏΠΎΡ‡Π½Ρ‹ΠΉ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ

Π’ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠΈ собСрСм простой ΠΊΠ½ΠΎΠΏΠΎΡ‡Π½Ρ‹ΠΉ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ.

Π§Ρ‚ΠΎ понадобится
  • Raspberry Pi 4

  • Troyka HAT

  • Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ питания Robiton TN2000S

  • Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ Β«ΠŸΠΈΡ€Π°Π½ΡŒΡΒ» / красный (Troyka-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ)

  • Кнопка (Troyka-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ)

Π‘Ρ…Π΅ΠΌΠ° устройства

Код для Python
toogle_led.py
# Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚ΠΎΠΉ Troyka HAT.
import troykahat
Β 
Β 
# НазначаСм константноС имя ΠΏΠΈΠ½Ρƒ 7 ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ "Wiring PI IO",
# ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ свСтодиод ΠΊ этому ΠΏΠΈΠ½Ρƒ. 
PIN_WP_LED = 7
# НазначаСм константноС имя ΠΏΠΈΠ½Ρƒ 22 ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ "Wiring PI IO",
# ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΊ этому ΠΏΠΈΠ½Ρƒ.
PIN_WP_BUTTON = 22
Β 
# Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ wp для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΈΠ½Π°ΠΌΠΈ,
# ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°ΠΊ Β«Wiring Pi IOΒ» Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Troyka HAT.
# Π­Ρ‚ΠΎ ΠΏΠΈΠ½Ρ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ Raspberry Pi Ρ‡Π΅Ρ€Π΅Π· Π΅Π³ΠΎ GPIO-Ρ€Π°Π·ΡŠΡ‘ΠΌ.
wp = troykahat.wiringpi_io()
# ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ "PIN_WP_LED" Π² Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π°.
wp.pinMode(PIN_WP_LED, wp.OUTPUT)
# ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ "PIN_WP_BUTTON" Π² Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ…ΠΎΠ΄Π°.
wp.pinMode(PIN_WP_BUTTON, wp.INPUT)
Β 
while True:
Β 
    # Если ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°
    if not wp.digitalRead(PIN_WP_BUTTON):
        # Π—Π°ΠΆΠΈΠ³Π°Π΅ΠΌ свСтодиод
        wp.digitalWrite(PIN_WP_LED, True)
    # Если ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΎΡ‚ΠΆΠ°Ρ‚Π°
    else:
        # Гасим свСтодиод
        wp.digitalWrite(PIN_WP_LED, False)

Если ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π° β€” свСтодиод загорится, Π° Ссли ΠΎΡ‚ΠΆΠ°Ρ‚Π° β€” погаснСт.

Π‘Π²Π΅Ρ‚ΠΈΠ»ΡŒΠ½ΠΈΠΊ с управляСмой ΡΡ€ΠΊΠΎΡΡ‚ΡŒΡŽ

Π”Π°Π»Π΅Π΅ собСрСм ΡΠ²Π΅Ρ‚ΠΈΠ»ΡŒΠ½ΠΈΠΊ с управляСмой ΡΡ€ΠΊΠΎΡΡ‚ΡŒΡŽ. К соТалСнию Π² Raspberry Pi всСго Π΄Π²Π° ΠΊΠ°Π½Π°Π»Π° ШИМ, Π° АЦП вовсС отсутствуСт. Однако ΠΏΠΎΡ€Ρ‚Ρ‹ Β«Analog IOΒ» Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Troyka HAT с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ подарят ΠΌΠ°Π»ΠΈΠ½ΠΊΠ΅ 8 ΠΏΠΈΠ½ΠΎΠ² с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ШИМ ΠΈ АЦП.

Π§Ρ‚ΠΎ понадобится
  • Raspberry Pi 4

  • Troyka HAT

  • Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ питания Robiton TN2000S

  • Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ Β«ΠŸΠΈΡ€Π°Π½ΡŒΡΒ» / красный (Troyka-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ)

  • ΠŸΠΎΠ»Π·ΡƒΠ½ΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ (Troyka-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ)

Π‘Ρ…Π΅ΠΌΠ° устройства

Код для Python
dimming_led.py
# Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚ΠΎΠΉ Troyka HAT.
import troykahat
Β 
Β 
# НазначаСм константноС имя ΠΏΠΈΠ½Ρƒ 6 ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ "Analog IO",
# ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ свСтодиод ΠΊ этому ΠΏΠΈΠ½Ρƒ.
PIN_AP_LED = 6
# НазначаСм константноС имя ΠΏΠΈΠ½Ρƒ 3 ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ "Analog IO",
# ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ ΠΊ этому ΠΏΠΈΠ½Ρƒ.
PIN_AP_POT = 3
Β 
# Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ap для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΈΠ½Π°ΠΌΠΈ,
# ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°ΠΊ Β«Analog IOΒ» Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Troyka HAT.
# Π­Ρ‚ΠΎ ΠΏΠΈΠ½Ρ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊ встроСнному Π½Π° ΠΏΠ»Π°Ρ‚Π΅ IΒ²C Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»ΡŽ
# Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ STM32F030F4P6.
ap = troykahat.analog_io()
# ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ "PIN_AP_LED" Π² Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π°. 
ap.pinMode(PIN_AP_LED, ap.OUTPUT)
# ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ "PIN_AP_INPUT" Π² Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ…ΠΎΠ΄Π°.
ap.pinMode(PIN_AP_POT, ap.INPUT)
Β 
while True:
Β 
    # Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€Π°
    potValue = ap.analogRead(PIN_AP_POT)
    # Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² качСствС яркости свСтодиода
    ap.analogWrite(PIN_AP_LED, potValue)

ПослС запуска скрипта, ΡΡ€ΠΊΠΎΡΡ‚ΡŒ свСтодиода Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ пСрСмСщСния ΠΏΠΎΠ»Π·ΡƒΠ½ΠΊΠ° слайдСра.

Аналоговая Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° громкости

Π’Ρ‹ΠΉΠ΄Π΅ΠΌ Π·Π° Ρ€Π°ΠΌΠΊΠΈ свСтодиодной Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΈ. Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡƒΡŽ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΡƒ громкости ΠΎΠ΄Π½ΠΎΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ° Raspberry Pi.

Π§Ρ‚ΠΎ понадобится
  • Raspberry Pi 4

  • Troyka HAT

  • Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ питания Robiton TN2000S

  • ΠŸΠΎΠ»Π·ΡƒΠ½ΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ (Troyka-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ)

Π‘Ρ…Π΅ΠΌΠ° устройства

Установка Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ

УстановитС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ pyalsaaudio для контроля уровня громкости:

pip3 install pyalsaaudio
Код для Python
analog_control_volume. py
# Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚ΠΎΠΉ Troyka HAT.
import troykahat
# Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для контроля уровня громкости
import alsaaudio
# НазначаСм константноС имя ΠΏΠΈΠ½Ρƒ 3 ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ "Analog IO",
# ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ ΠΊ этому ΠΏΠΈΠ½Ρƒ.
PIN_AP_POT = 3
# Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ap для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΈΠ½Π°ΠΌΠΈ,
# ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°ΠΊ Β«Analog IOΒ» Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Troyka HAT.
# Π­Ρ‚ΠΎ ΠΏΠΈΠ½Ρ‹, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊ встроСнному Π½Π° ΠΏΠ»Π°Ρ‚Π΅ IΒ²C Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»ΡŽ
# Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ STM32F030F4P6.
ap = troykahat.analog_io()
# Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ громкости
mixer = alsaaudio.Mixer('Master')
Β 
while True:
    # Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€Π°
    potValue = ap.analogRead(PIN_AP_POT)
    # Π£ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ со слайдСра Π½Π° 100
    # ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ float Π² int
    volume = int(potValue * 100)
    # УстанавливаСм Π³Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒ
    mixer.setvolume(volume)

Π“Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ пСрСмСщСния ΠΏΠΎΠ»Π·ΡƒΠ½ΠΊΠ° слайдСра.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ‹

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ STM32F030F4P6

Raspberry Pi ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ всСго двумя ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ ШИМ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прСобразоватСля. Troyka HAT Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… интСрфСйсов Ρ‡Π΅Ρ€Π΅Π· встроСнный ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ STM32F030F4P6 Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ARM Cortex M0+, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚ ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈ ΠΏΠΎ шинС IΒ²C ΠΈ дальнСйшиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΆΠ΅Π»Π΅Π·Ρƒ Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя. НоТки ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ΄ΠΊΡƒ Troyka-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² IΒ²C Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»Ρ.

Troyka-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Raspberry Pi

На ΠΏΠ»Π°Ρ‚Π΅ установлСны Π³Ρ€ΡƒΠΏΠΏΡ‹ ΡˆΡ‚Ρ‹Ρ€Π΅Π²Ρ‹Ρ… Troyka-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Β«S-5V-GΒ»:

  • сигнал (S) β€” Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠΈΠ½ Raspberry Pi с Ρ‚ΠΎΠ»Π»Π΅Ρ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊ 5 Π’.

  • ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ (5V) β€” ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ модуля, постоянно ΠΈ Ρ€Π°Π²Π½ΠΎ 5 Π’

  • зСмля (G) β€” общая зСмля

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠΈΠ½Π°ΠΌΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ интСрфСйса IΒ²C ΠΈ Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ SPI.

Колодки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ быстро ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ Troyka-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊ ΠΌΠ°Π»ΠΈΠ½ΠΊΠ΅ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎ сигналы ΠΈ интСрфСйсы Troyka HAT Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ распиновка.

Troyka-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ IΒ²C Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»Ρ

ΠŸΠΈΠ½Ρ‹ IΒ²C Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»Ρ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ Troyka-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Β«S-V-GΒ»:

  • Π‘ΠΈΠ³Π½Π°Π» (S) β€” ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΈΠ½ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»Ρ GPIO

  • ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ (V) β€” ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ модуля 3,3 / 5 Π’ (выбираСтся Π΄ΠΆΠ°ΠΌΠΏΠ΅Ρ€ΠΎΠΌ)

  • ЗСмля (G) β€” общая зСмля

Колодки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ быстро ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ Troyka-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊ ΠΌΠ°Π»ΠΈΠ½ΠΊΠ΅ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎ сигналы ΠΈ интСрфСйсы Troyka HAT Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ распиновка.

Π’Ρ‹Π±ΠΎΡ€ питания Π½Π° Troyka-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°Ρ… IΒ²C Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»Ρ

На Π»ΠΈΠ½ΠΈΠΈ питания IΒ²C-Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»Ρ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° питания установкой Π΄ΠΆΠ°ΠΌΠΏΠ΅Ρ€Π°:

  • 5Vβ†’V β€” Π½Π° Π»ΠΈΠ½ΠΈΠΈ V Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ напряТСниС 5 Π²ΠΎΠ»ΡŒΡ‚. Π Π΅ΠΆΠΈΠΌ пригодится ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ напряТСниСм 5 Π²ΠΎΠ»ΡŒΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ микросСрвопривод FS90 ΠΈΠ»ΠΈ ΡƒΠ»ΡŒΡ‚Ρ€Π°Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Π΄Π°Π»ΡŒΠ½ΠΎΠΌΠ΅Ρ€ SR-04.

  • 3V3β†’V β€” Π½Π° Π»ΠΈΠ½ΠΈΠΈ V β€” 3,3 Π²ΠΎΠ»ΡŒΡ‚Π°. Π’.ΠΊ. ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ напряТСния ΠΎΡ‚ 0 Π΄ΠΎ 3,3 Π²ΠΎΠ»ΡŒΡ‚, Ρ‚ΠΎ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… сСнсоров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ напряТСниС ΠΎΡ‚ 0 Π΄ΠΎ значСния Π½Π° Π»ΠΈΠ½ΠΈΠΈ питания, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ ΠΈΠ»ΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ освСщённости.

БвСтодиодная индикация

Имя свСтодиода НазначСниС
L23Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° 23 ΠΏΠΎ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ WiringPi. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ высокого уровня β€” свСтодиод загораСтся, ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΌ β€” гаснСт.
ACTΠœΠΈΠ³Π°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ΄Π½ΠΎΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠΎΠΌ Raspberry Pi ΠΈ IΒ²C Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»ΡΠΌ ΠΏΠΎΡ€Ρ‚ΠΎΠ². Если свСтодиод Π½Π΅ ΠΌΠΈΠ³Π°Π΅Ρ‚, скорСС всСго ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π΅ ΠΏΡ€ΠΎΡˆΠΈΡ‚.

Π Π°Π·ΡŠΡ‘ΠΌ питания DC

ΠšΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΡ€ DC Barrel Jack слуТит для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ внСшнСго источника напряТСния Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 7 Π΄ΠΎ 15 Π²ΠΎΠ»ΡŒΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Troyka HAT ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ Raspberry Pi. Если Π·Π°ΠΏΠΈΡ‚Π°Ρ‚ΡŒ устройство ΠΎΡ‚ ΠΏΠΎΡ€Ρ‚Π° Raspberry Pi, Ρ‚ΠΎ напряТСниС Π½Π° Troyka-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°Ρ… Raspberry Pi Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΈ использовании ΠΏΠ»Π°Ρ‚Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Troyka HAT Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ питания Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·ΡŠΡ‘ΠΌ USB Π½Π° Raspberry Pi.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ напряТСния

ΠŸΠΎΠ½ΠΈΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ TPS565208 обСспСчиваСт ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Troyka HAT ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Raspbeery Pi ΠΏΡ€ΠΈ напряТСния Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·ΡŠΡ‘ΠΌ питания DC. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ напряТСния ΠΎΡ‚ 7 Π΄ΠΎ 15 Π²ΠΎΠ»ΡŒΡ‚. Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ напряТСниС 5 Π’ с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Ρ‚ΠΎΠΊΠΎΠΌ 5 А.

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° ID EEPROM

На ΠΏΠ»Π°Ρ‚Π΅ Troykaa HAT располоТСна микросхСма EEPROM-памяти AT24C32D, которая содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ ΠΏΠ»Π°Ρ‚Ρ‹, настройкС GPIO ΠΈ описаниС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ оборудования, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Linux автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹.

ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° ID EEPROM ΠΎΠ΄Π½ΠΎ ΠΈΠ· основных Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Raspberry Pi Foundation Π² спСцификации производств ΠΏΠ»Π°Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Raspbery Pi HATs.

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠΈΠ½Ρ‹ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°

Troyka HAT ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΏΠ»Π°Ρ‚Π½ΠΈΠΊΠ°ΠΌ Rasperry Pi свСрху Ρ‡Π΅Ρ€Π΅Π· Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ 40-ΠΏΠΈΠ½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·ΡŠΡ‘ΠΌ.

Распиновка

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΈ монтаТная схСмы

Π“Π°Π±Π°Ρ€ΠΈΡ‚Π½Ρ‹ΠΉ Ρ‡Π΅Ρ€Ρ‚Ρ‘ΠΆ

Π₯арактСристики

  • МодСль: Amperka Troyka HAT

  • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ: ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Raspberry Pi

  • Аппаратный интСрфСйс: ΡˆΡ‚Ρ‹Ρ€ΡŒΠΊΠΎΠ²Ρ‹Π΅ соСдинитСли GPIO

  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс: ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Raspberry Pi ΠΈ IΒ²C-Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»ΡŒ

  • Π’Ρ…ΠΎΠ΄Π½ΠΎΠ΅ напряТСниС Ρ‡Π΅Ρ€Π΅Π· DC-Ρ€Π°Π·ΡŠΡ‘ΠΌ: 7–15 Π’

  • Π Π°Π·ΠΌΠ΅Ρ€Ρ‹: 65Γ—56,5Γ—20,5 ΠΌΠΌ

ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Raspberry Pi

  • Troyka-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния: 21

  • Troyka-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² SPI: 3

  • Troyka-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² IΒ²C: 2

  • НапряТСниС питания ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ: 5 Π’

  • НапряТСниС логичСских ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ: 3,3 Π’ (всС ΠΏΠΈΠ½Ρ‹ Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ‚Π½Ρ‹ ΠΊ 5 Π’)

ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ IΒ²C Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅Π»Ρ

  • ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: STM32F030F4P6

  • IΒ²C-адрСс: ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 0x2A

  • Troyka-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния: 8

  • ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ШИМ: 8

  • Π Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ШИМ: 8 Π±ΠΈΡ‚

  • ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² с АЦП: 8

  • Π Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ АЦП: 12 Π±ΠΈΡ‚

  • НапряТСниС питания ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ: 3,3 / 5 Π’ (выбираСтся Π΄ΠΆΠ°ΠΌΠΏΠ΅Ρ€ΠΎΠΌ)

  • НапряТСниС логичСских ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ: 3,3 Π’ (Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΊ 5 Π’)

РСсурсы

  • Troyka HAT Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅.

  • Π’Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ модуля

  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Raspberry Pi Π½Π° языкС Python

  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Raspberry Pi Π½Π° языкС C++

uart — ΠŸΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΏΡ€ΠΎΡˆΠΈΡ‚ΡŒ STM32f030f4 (ARM, Cortex M0) — какая ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ Ρ€Π°Π·Π²ΠΎΠ΄ΠΊΠ°?

спросил

ИзмСнСно 7 Π»Π΅Ρ‚, 5 мСсяцСв Π½Π°Π·Π°Π΄

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΎ 4ΠΊ Ρ€Π°Π·

\$\Π½Π°Ρ‡Π°Π»ΠΎ Π³Ρ€ΡƒΠΏΠΏΡ‹\$

ΠšΡƒΠΏΠΈΠ» Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ Ρ‡ΠΈΠΏ STM32F030F4, сдСлал для Π½Π΅Π³ΠΎ нСбольшой ΠΌΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ ΠΈ попытался ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π΅Π³ΠΎ встроСнному Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· USART1.

Π£ мСня Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, ΠΈ я нСсколько ΠΎΠ·Π°Π΄Π°Ρ‡Π΅Π½ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠΎΠΉ. Моя тСкущая схСма выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 16 (VDD) Π½Π° +3,3
  • ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 15 (зСмля) Π½Π° зСмлю
  • ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 1 (BOOT0) Π½Π° +3,3
  • ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 4 (Π‘Π‘Π ΠžΠ‘) Π½Π° GND, Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ
  • ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 8 (USART1_TX) ΠΊ RX FTDI-кабСля
  • ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 9 (USART1_RX) ΠΊ TX кабСля FTDI

КабСль, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ постоянно с Ρ‡ΠΈΠΏΠ°ΠΌΠΈ NXP, поэтому я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Он Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСт +3,3 Π²ΠΎΠ»ΡŒΡ‚Π° ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ свСтодиоды для ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠΈ активности TX/RX.

Π― ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» этот инструмСнт http://sourceforge.net/projects/bootstm32/ послС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ кабСля ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ примСнСния RESET ΠΊ GND.

Π’ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½ Π½Π΅ смог ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ, хотя я Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ свСтодиод активности TX ΠΌΠΈΠ³Π°Π΅Ρ‚…

Π― ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ сбит с Ρ‚ΠΎΠ»ΠΊΡƒ. Π’Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ 17 ΠΈ 18 для USART1 TX ΠΈ RX. Π― ΠΈΡ… Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π», Π½ΠΎ Π±Π΅Π·Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π½ΠΎ.

Π•Ρ‰Π΅ бСспокоит Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ эта микросхСма Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° BOOT1 (ΠΌΠ½ΠΎΠ³ΠΈΠ΅ руководства ΠΏΠΈΡˆΡƒΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½ΠΈΠ·ΠΊΠΈΠΌ). Π― Ρ‚Π°ΠΊ понимаю ΠΎΠ½ Π½Π΅ Π½ΡƒΠΆΠ΅Π½?

Π― Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€Π°, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² находится Π² сильном Π’Π«Π‘ΠžΠšΠžΠœ состоянии, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ TX, Π½ΠΎ это Π½Π΅ Ρ‚Π°ΠΊ. Π₯отя, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, TX ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ автоматичСского опрСдСлСния скорости ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ?

Π§Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚Π°ΠΊ? Π”ΡƒΠΌΠ°ΡŽ, для ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ схСмы ΠΊΠ²Π°Ρ€Ρ† Π½Π΅ Π½ΡƒΠΆΠ΅Π½, Π΄Π°? Π—Π°Ρ€Π°Π½Π΅Π΅ спасибо Π·Π° ваши подсказки!

UPD РСшСно! Оказалось, Ρ‡Ρ‚ΠΎ VDDA Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½, ΠΈΠ½Π°Ρ‡Π΅ Ρ‡ΠΈΠΏ находится Π² состоянии сброса. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, смотритС ΠΌΠΎΠΉ собствСнный ΠΎΡ‚Π²Π΅Ρ‚ Π½ΠΈΠΆΠ΅ для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

  • Ρ€ΡƒΠΊΠ°
  • uart
  • stm32
  • Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ
  • stm32f0
\$\конСчная Π³Ρ€ΡƒΠΏΠΏΠ°\$

0

\$\Π½Π°Ρ‡Π°Π»ΠΎ Π³Ρ€ΡƒΠΏΠΏΡ‹\$

НаконСц-Ρ‚ΠΎ я нашСл Ρ‚ΠΎ, Ρ‡Π΅Π³ΠΎ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π»ΠΎ.

VDDA Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½! Π½Π°ΠΏΡ€. ΠΊ Π’Π”Π”. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Ссли устройство Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ VSSA, Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ слСдуСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ.

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Ρ‡ΠΈΠΏ находится Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ сброса «Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Ρ» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдит ΠΊΠ°ΠΊ Π·Π° VDD, Ρ‚Π°ΠΊ ΠΈ Π·Π° VDDA ΠΈ просто Π½Π΅ Π΄Π°Π΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ Ρ‡ΠΈΠΏΡƒ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, минимальноС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • 3,3 Π’ΠΎΠ»ΡŒΡ‚Π° Π½Π° VDD, VDDA, BOOT0
  • GND ΠΊ VSS (ΠΈ VSSA, Ссли имССтся)

(Π½Π° этом этапС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ PA9 Π΄Π°Π΅Ρ‚ ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ — каТСтся, ΠΎΠ½ сразу становится Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ TX)

  • PA9 (TX) ΠΊ RX кабСля (Π² ΠΌΠΎΠ΅ΠΌ случаС подтяТка Π½Π΅ трСбуСтся, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄)
  • PA10 (RX) ΠΊ TX кабСля.

ΠšΡΡ‚Π°Ρ‚ΠΈ, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ кабСль с уровнями 5 Π’, ΠΈ это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ устойчивы ΠΊ 5 Π’.

\$\конСчная Π³Ρ€ΡƒΠΏΠΏΠ°\$

2

\$\Π½Π°Ρ‡Π°Π»ΠΎ Π³Ρ€ΡƒΠΏΠΏΡ‹\$

Начиная с справочного руководства STM32F030x4, стр. 45, Ρ€Π°Π·Π΄Π΅Π» Embedded Boot Loader:

ВстроСнный Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ находится Π² систСмной памяти, Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ ST Π²ΠΎ врСмя производства. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для пСрСпрограммирования Ρ„Π»ΡΡˆ-памяти. ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… интСрфСйсов:
β€’ USART Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°Ρ… ПА14/ПА15 ΠΈΠ»ΠΈ ПА9/PA10
β€’ I2C Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°Ρ… PB6/PB7 (STM32F070xx ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ устройства STM32F030xC)
β€’ Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ USB DFU (устройства STM32F070xx Ρ‚ΠΎΠ»ΡŒΠΊΠΎ)
Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. AN2606.

Если Π²Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ (AN2606), Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PA9/PA10, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ настроСн Π½Π° эти ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹. (Или PA14/PA15, Π½ΠΎ ваш Ρ‡ΠΈΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ 20-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΌ корпусом TSSOP20, Ссли Boot0 ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 1, поэтому PA15 отсутствуСт. ). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΏΡ€Π°Π²Ρ‹, внСшний кристалл Π½Π΅ Π½ΡƒΠΆΠ΅Π½, MCU тактируСтся ΠΎΡ‚ HSI.

Π’ соотвСтствии с трСбованиями ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ соСдинСнию Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Π΅ рСзисторы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π½Π° линиях TX ΠΈ RX, Ссли ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½Π° сторонС хоста.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ Boot0 ΠΈ Π±ΠΈΡ‚Π΅ nBoot1 (Π² этом MCU Boot1 β€” это Π½Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚, Π° Π±ΠΈΡ‚ Π² Π±Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ†ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ).

Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ STM32F03xx4/6 активируСтся ΠΏΡƒΡ‚Π΅ΠΌ примСнСния шаблона2

и шаблон2:

Pattern2 Boot0 (ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚) = 1 ΠΈ nBoot1 (Π±ΠΈΡ‚) = 1


Π›ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π»ΠΈΠ½ΠΈΠΈ UART с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ осциллографа ΠΈΠ»ΠΈ логичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, просто для увСрСнности. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ всС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΡ‚ ST.

\$\конСчная Π³Ρ€ΡƒΠΏΠΏΠ°\$

2

\$\Π½Π°Ρ‡Π°Π»ΠΎ Π³Ρ€ΡƒΠΏΠΏΡ‹\$

НС знаю ΠΎ сСрии stm32f0, Π½ΠΎ Ρƒ stm32f1 BOOT0 настроСн Π½Π° 3,3 Π’, BOOT1 Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Π΅Ρ‚, для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½, поэтому ΠΎΠ½ всСгда находится Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. BOOT0 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ высоким, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ устройство, Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ снова ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ сбросС Ρƒ вас высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ BOOT0, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½ запустится с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° XTAL Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ LSI.
Вопрос: ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для пСрСноса ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ графичСский интСрфСйс Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° ST? Π’Π°ΠΌ Π½Π΅ каТСтся, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ кастомный Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ΠΎΡ‚ sourceforge Π½Π΅ Π½Π° 100% Π² порядкС?

\$\конСчная Π³Ρ€ΡƒΠΏΠΏΠ°\$

1

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈΠ»ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² систСму

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Google

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· Facebook

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π³ΠΎΡΡ‚ΡŒ

ЭлСктронная ΠΏΠΎΡ‡Ρ‚Π°

ВрСбуСтся, Π½ΠΎ Π½Π΅ отобраТаСтся

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π³ΠΎΡΡ‚ΡŒ

ЭлСктронная ΠΏΠΎΡ‡Ρ‚Π°

ВрСбуСтся, Π½ΠΎ Π½Π΅ отобраТаСтся

НаТимая Β«ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ свой ΠΎΡ‚Π²Π΅Ρ‚Β», Π²Ρ‹ ΡΠΎΠ³Π»Π°ΡˆΠ°Π΅Ρ‚Π΅ΡΡŒ с нашими условиями обслуТивания ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ ΠΈ поняли Π½Π°ΡˆΡƒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ кодСкс повСдСния.

Nerd Ralph: STM32 Начиная с ΠΌΠ°Π»ΠΎΠ³ΠΎ

Β 

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния я часто ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ рядом с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ обСспСчСниСм. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ Ρ„Π»ΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½ΠΎ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ количСство ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… источников ошибок Π² вашСм ΠΊΠΎΠ΄Π΅. Для Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ тСста Π½Π° Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ STM32 я скомпилировал ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈΠ· ΠΌΠΎΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ TM1638NR Π² IDE Arduino 1.8.13, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ stm32duino для Ρ†Π΅Π»ΠΈ STM32F030. ВрСбуСмая Ρ„Π»ΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ составляла Ρ‡ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 8 ΠšΠ‘, ΠΈΠ»ΠΈ Ρ‡ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ ΠΎΡ‚ 16 ΠšΠ‘ спСцификации Ρ„Π»ΡΡˆ-памяти Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ STM32F030F4P6. Π₯отя я Π½Π΅ Π±Ρ‹Π» Π³ΠΎΡ‚ΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ собствСнноС ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½ΠΎΠ΅ ядро ​​Arduino для STM32F, я Π±Ρ‹Π» ΠΏΠΎΠ»ΠΎΠ½ Ρ€Π΅ΡˆΠΈΠΌΠΎΡΡ‚ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π±ΠΎΠ»Π΅Π΅ эффСктивный способ программирования Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… устройств ARM Cortex-M.

ПослС Π½Π΅Π΄ΠΎΠ»Π³ΠΈΡ… поисков, просмотрСв ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π‘ΠΈΠ»Π»Π° Уэстфилда Miimalist ARM, libopencm3 ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, я нашСл Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ искал, Π² сСрии статСй Уильяма Рансохоффа ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ STM32 Π½Π° Β«Π³ΠΎΠ»ΠΎΠΌ ΠΆΠ΅Π»Π΅Π·Π΅Β». Однако вмСсто ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° ST-Link я Ρ€Π΅ΡˆΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартный ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ USB-TTL для связи с Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠΌ ΠŸΠ—Π£ Π½Π° STM32.

Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ питания Π½Π° Π²Ρ‹Π²ΠΎΠ΄Π΅ boot0 STM32 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ. Π·Π°Ρ‚Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ связи ΠΏΠΎ линиям USART Tx ΠΈ Rx. На STM32F030F4P6 линия Tx β€” PA9., Π° линия Rx β€” PA10. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Ρ‡ΠΈΠΏ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ, я Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ» линию DTR ΠΎΡ‚ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ модуля ΠΊ NRST (ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 4) Π½Π° MCU, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ схСмС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ:

Для ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ MCU я Ρ€Π΅ΡˆΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ stm32flash. Π₯отя установка Π² Debian Linux Ρ‚Π°ΠΊ ΠΆΠ΅ проста, ΠΊΠ°ΠΊ Β«apt install stm32flashΒ», ΠΌΠ½Π΅ Π±Ρ‹Π»ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π½Π°ΠΉΡ‚ΠΈ послСднюю сборку Windows. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ я построил Π΅Π³ΠΎ сам. Π₯отя Π² ΠΌΠΎΠ΅ΠΉ сборкС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 115,2 ΠΊΠ±ΠΈΡ‚/с, я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ 230,4 ΠΊΠ±ΠΈΡ‚/с Π²ΠΏΠΎΠ»Π½Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹. ΠŸΡ€ΠΈ 460,8 ΠΊΠ±ΠΈΡ‚/с ΠΈ 500 ΠΊΠ±ΠΈΡ‚/с пСриодичСски Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ ошибки, поэтому я остановился Π½Π° 230,4 ΠΊΠ±ΠΈΡ‚/с. ПослС выполнСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ любого ΠΊΠΎΠ΄Π° Π½Π° MCU Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ тСст, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ MCU ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ stm32flash Π½Π΅ опрСдСляСт объСм Ρ„Π»ΡΡˆ-памяти ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅. Числа бСрутся ΠΈΠ· ТСстко Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° основС сообщаСмого ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° устройства. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π»ΡΡˆ-памяти Π² ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π°Ρ… хранится Π² систСмном ΠŸΠ—Π£ ΠΏΠΎ адрСсу 0x1FFFF7CC. На ΠΌΠΎΠ΅ΠΌ STM32F030F4P6 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, считанноС с этого адрСса, Ρ€Π°Π²Π½ΠΎΒ 0x0010, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ„Π»ΡΡˆ-памяти 16 ΠšΠ‘ для Ρ‡ΠΈΠΏΠ°. МоС тСстированиС ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Ρƒ Π½Π΅Π³ΠΎ 32 ΠšΠ‘ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Ρ„Π»ΡΡˆ-памяти.

Π― использовал ΠΏΡ€ΠΈΠΌΠ΅Ρ€ STM32F0 GPIO Уильяма Π² качСствС шаблона для создания ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΌΠΈΠ³Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Π½Π΅Π΅ 300 Π±Π°ΠΉΡ‚ Ρ„Π»ΡΡˆ-памяти. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ этого ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, которая Π½Π° Cortex-M0 ΠΈΠΌΠ΅Π΅Ρ‚ 48 записСй ΠΏΠΎ 4 Π±Π°ΠΉΡ‚Π° каТдая. Для экономии мСста я встроил ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сброса Π² Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с ΠΌΠΈΠ³Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ прСрывания, всС, ΠΊΡ€ΠΎΠΌΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ указатСля стСка Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π΅ 0 ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° сброса Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π΅ 1, тСхничСски ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *