Π’Ρ…ΠΎΠ΄ Π‘Π»ΠΎΠ³
Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΈ Ρ€Π΅ΠΌΠΎΠ½Ρ‚
Π Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€Ρ‹
ΠšΡ€Π°ΡΠΎΡ‚Π°
ЀрилансСры
Π Π°Π·Π½Ρ‹Π΅ спСциалисты
Π£Ρ…ΠΎΠ΄ Π·Π° ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹ΠΌΠΈ
Π’Ρ€Π΅Π½Π΅Ρ€Ρ‹
Автоинструкторы

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python β€” удалённая Ρ€Π°Π±ΠΎΡ‚Π° Π² МосквС

Π”Π°Ρ‚Π°: 2025-07-19
Π”Π΅Ρ‚Π°Π»ΠΈ
Π Π΅Π³ΠΈΠΎΠ½
Москва
Π—Π°Π½ΡΡ‚ΠΎΡΡ‚ΡŒ
дистанционно
Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ
договорная
Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ
2025-07-19
ОписаниС
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: Orange pi zero 3. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: НуТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ устройство Π½Π° Π±Π°Π·Π΅ Orange Pi Zero 3, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚: - Устройство ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ПК, ΠΈ опрСдСляСтся ΠΊΠ°ΠΊ HID-устройство (ΠΌΡ‹ΡˆΡŒ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°) - К устройству ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ внСшняя ΠΌΡ‹ΡˆΡŒ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, ΠΈ устройство Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ сквозной рСтранслятор, распознавая сигналы ΠΌΡ‹ΡˆΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΈ транслируя ΠΈΡ… Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, управляя Π΅Π³ΠΎ ΠΌΡ‹ΡˆΡŒΡŽ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ. - Устройство ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ дСйствия ΠΌΡ‹ΡˆΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Π² установлСнноС врСмя, ΠΈΠ»ΠΈ с установлСнной ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ. - Устройство ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Wi-Fi ΠΈ управляСтся Ρ‡Π΅Ρ€Π΅Π· Telegram-Π±ΠΎΡ‚Π° 1. HID-эмуляция: β€’ ΠŸΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ ПК устройство опрСдСляСтся ΠΊΠ°ΠΊ USB HID (ΠΌΡ‹ΡˆΡŒ + ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°). β€’ Бпособно Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Π²ΠΎΠ΄Π°: ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ курсора, наТатия ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΡ‹ΡˆΠΈ, ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° колСсика, наТатия клавиш. 2. Π‘ΠΊΠ²ΠΎΠ·Π½ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ: β€’ Устройство Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π°Π·Ρ€Ρ‹Π²Π΅: ΠΌΡ‹ΡˆΡŒ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² устройство, устройство ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. β€’ Устройство рСтранслируСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΡ‹ΡˆΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Когда Π²Π»ΡŽΡ‡Π΅Π½Π° запись устройство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ рСтранслируСт дСйствия ΠΌΡ‹ΡˆΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ записываСт эти дСйствия Π² ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. 3. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Telegram-Π±ΠΎΡ‚Π°: Устройство ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈΠ»ΠΈ ΠΎΠ± установлСнии Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ пСриодичности выполнСния макроса Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚Π° Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ: Кнопка запуска (ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ устройство ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ список Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… макросов, Ρ‡Π΅ΠΌ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅) : 1. список записынных макросов
 - воспроизвСсти 
 - Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ > (описано Π½ΠΈΠΆΠ΅ **)
 - ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ 
 - ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ 2. Кнопка Π½ΠΎΠ²Ρ‹ΠΉ макрос
 - Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ > ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись > Π½Π°Π·Π²Π°Ρ‚ΡŒ макрос 3. Кнопка настройки
 - БвСдСния > Π²Ρ‹Π΄Π°Π΅Ρ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ врСмя Π½Π° устройствС с Π΄Π°Ρ‚ΠΎΠΉ, ΠΈ Π΄Π½Π΅ΠΌ Π½Π΅Π΄Π΅Π»ΠΈ, ΠΈ вСсь список Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ установлСны Π² порядкС ΠΎΡ‚ самого Ρ€Π°Π½Π½Π΅Π³ΠΎ установлСнного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎ самого ΠΏΠΎΠ·Π΄Π½Π΅Π³ΠΎ
 - Π’Π°ΠΉΡ„Π°ΠΉ > Π²Ρ‹Π΄Π°Π΅Ρ‚ список всСх Π²Π°ΠΉΠ²Π°ΠΉ сСтСй, изСстных устройству, ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉΒ» ΠΈ Β«ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒΒ», 
 - Π’Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°Ρ‚Ρ‹ > Ссли Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ , Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° синхронизации, Ссли Π½Π΅Ρ‚, Ρ‚ΠΎ ручная установка. *ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ хранятся Π² памяти устройства, ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ, Ссли ΠΎΠ½ΠΈ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ 

Π’Π°ΠΊΠΆΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒ сохраняСт всС макросы, Ρ‚Π°ΠΉΠΌΠ΅Ρ€, установки Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ сСти Π²Π°ΠΉΡ„Π°ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ записаны Π½Π° случай ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания. ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ автоматичСски Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΡ€Π΅ΠΆΠ½ΡŽΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. (Π”Π°ΠΆΠ΅ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π²Π°ΠΉΡ„Π°ΠΉ. **Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ²: 
1. ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ, ограничСнная Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ дСйствия 
НапримСр: повторяй этот макрос ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 4 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ с 9.00 Π΄ΠΎ 18.00 Π² ΠΏΠ½, Π²Ρ‚, Ρ‡Ρ‚, ΠΏΡ‚.

2. ВоспроизвСдСниС Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ врСмя
Выполняй этот макрос Π² 9.30 ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‚, ср, Ρ‡Ρ‚ ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ Π΅ΡΡ‚ΡŒ Π² любом случаС. ΠœΠ°ΠΊΡ€ΠΎΡ ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π΅ удаляСтся послС ΠΎΠ΄Π½ΠΎΠ³ΠΎ воспроизвСдСния *** ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π² случаС, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π΄Π²ΠΈΠ³Π°Π΅Ρ‚ ΠΌΡ‹ΡˆΡŒ ΠΈΠ»ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ клавиши Π²ΠΎ врСмя воспроизвСдСния макроса. Надо Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ устройству Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π² Ρ‚Π°ΠΊΠΈΡ… случаях, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Π½Π΅ ломалось. 

 **** Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ воспроизвСдСния макросов Π½Π° ΠΊΠ°ΠΊΠΎΠ΅ Ρ‚ΠΎ врСмя с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ автоматичСским Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ макросов

 ***** Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ устройство Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ распознано ΠΊΠ°ΠΊ ΠΈΠ½ΠΎΡ€ΠΎΠ΄Π½ΠΎΠ΅, Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ простая ΠΌΡ‹ΡˆΡŒ 

 ****** ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ стоит вопрос ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ устройство Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ для устройства ΡΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΠΎ запросу.
ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ Π·Π°ΠΊΠ°Π·Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

дистанционно
договорная
ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: ΠΏΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ спСциалиста. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: ΠŸΠΎΠ΄Π±ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств для управлСния ΠΏΡ€ΠΈΡ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ установками, ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.
Москва ЀрилансСры

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

дистанционно
договорная
ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: FX1s-20MR-ES/UL. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: УправлСния гидросистСмой (ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° Π΅ΡΡ‚ΡŒ). Π•ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€.
Москва ЀрилансСры

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹

дистанционно
договорная
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: WB MAP3E WB MGEv.3. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ‚Ρ€ΠΈΠ±Π»Π΅Π½ΠΈΠ΅ элСктроэнСргии.
Москва ЀрилансСры

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

дистанционно
договорная
ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: ST elecrtonics STM32x. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Oled экраном, А.
БмолСнск ЀрилансСры

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° C/C++

дистанционно
договорная
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: AVR ATMega. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. /***************************************************** Chip type : ATmega8 Program type : Application AVR Core Clock frequency: 8,000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 256 *****************************************************/ #include #include #define ON 1 #define OFF 0 #define timer_ TCNT0 #define timer_tact TCCR0 #define OUT PORTB.0 #define enable PINB.3 #define up PINB.4 #define down PINB.5 #define pwm__ OCR1AL #define klapan PORTB.2 #define motor_stop {PORTB.1=0;} #define motor_tormoz {PORTD.4=1;} #define motor_tormoz_off {PORTD.4=0;} bit flags_button=0; volatile unsigned char sek_; volatile unsigned char timer_button, timer_butt; volatile unsigned char timer_shou; volatile unsigned char timer_stop; volatile unsigned char eep_timer; volatile unsigned char sek; volatile unsigned char timer; volatile unsigned char y,jamp2=0; volatile unsigned int pwm, start_; volatile unsigned char pwm_, data0, data1, data2, led_buff[3]; //--------------- 0-9 10 ........... 18 символов //Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ для LED (0-9, ,-,t,L,A,r,d,b,DP) flash unsigned char led_table[26]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf,0x87,0xC7,0x88,0xAF,0xA1,0x83,0x7F,0x8C,0xC6,0xC1,0x86,0x89,0x8E,0x9C}; // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // [] - t L A r d b Dp P C U E H F Π³Ρ€Π°Π΄. //volatile unsigned char y, jamp2=0; volatile unsigned char start=180; eeprom unsigned char eep_power, eep_jamp, eep_pwm, eep_sek; // External Interrupt 0 service routine interrupt [EXT_INT0] void ext_int0_isr(void) // ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ для Π·Π°Ρ…Π²Π°Ρ‚Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· ноль. { // Place your code here OUT=OFF; timer_=start; } // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) // ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ для Π²Ρ‹Ρ…ΠΎΠ΄Π° управлСния тиристорами { // Place your code here timer_=start; OUT=ON; } // Timer2 overflow interrupt service routine interrupt [TIM2_OVF] void timer2_ovf_isr(void) // ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ для дисплСя { // Reinitialize Timer2 value TCNT2=0xCB; if (jamp2==0) { PORTD.5=PORTD.6=PORTD.7=0; // Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ всС разряды switch (y) // ΠΎΠ±Ρ‰ΠΈΠΉ Π°Π½ΠΎΠ΄ { case 0: PORTC = 0x3F & led_buff[0]; PORTD.0 = 0x40 & led_buff[0]; PORTD.1 = 0x80 & led_buff[0]; PORTD.5=1; PORTD.6=0; PORTD.7=0; break; case 1: PORTC = 0x3F & led_buff[1]; PORTD.0 = 0x40 & led_buff[1]; PORTD.1 = 0x80 & led_buff[1]; PORTD.5=0; PORTD.6=1; PORTD.7=0; break; case 2: PORTC = 0x3F & led_buff[2]; PORTD.0 = 0x40 & led_buff[2]; PORTD.1 = 0x80 & led_buff[2]; PORTD.5=0; PORTD.6=0; PORTD.7=1; break; default: } } else // ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠ°Ρ‚ΠΎΠ΄ { PORTD.5=PORTD.6=PORTD.7=1; // Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ всС разряды data0 = ~led_buff[0]; data1 = ~led_buff[1]; data2 = ~led_buff[2]; switch (y) { case 0: PORTC = 0x3F & data0; PORTD.0 = 0x40 & data0; PORTD.1 = 0x80 & data0; PORTD.5=0; PORTD.6=1; PORTD.7=1; break; case 1: PORTC = 0x3F & data1; PORTD.0 = 0x40 & data1; PORTD.1 = 0x80 & data1; PORTD.5=1; PORTD.6=0; PORTD.7=1; break; case 2: PORTC = 0x3F & data2; PORTD.0 = 0x40 & data2; PORTD.1 = 0x80 & data2; PORTD.5=1; PORTD.6=1; PORTD.7=0; break; default: } } if (++y>2)y=0; } /////===========================================////// void enable_() { if (enable==0) // Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ { klapan=1; pwm__=pwm_; // ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² рСгистр motor_tormoz_off; if (++timer > sek) { TCCR1B=0x02; // частота ШИМ двигатСля timer_tact=0x05; // Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ сварку timer=sek+1; } else { TCCR1B=0; } timer_stop=0; // Ρ‚Π°ΠΉΠΌΠ΅Ρ€ тормоТСния двигатСля } if (enable==1) { pwm__=0; // сбрасываСм рСгистр ШИМ delay_ms(5); TCCR1B=OFF; motor_stop; timer=timer_tact=OFF; // останавливаСм Ρ‚Π°ΠΉΠΌΠ΅Ρ€ OUT=OFF; // Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄ timer=0; klapan=0; if (++timer_stop > 3) // Ρ‚Π°ΠΉΠΌΠ΅Ρ€ тормоТСния двигатСля. { motor_tormoz; timer_stop=3; } } } void power_control() { start_ = start; //start_ *= 100; //start_ /= 177; start_ -= 154; if(start_ < 10) { led_buff[0]=led_table[start_]; // led_buff[1]=led_table[10]; led_buff[2]=led_table[10]; } if(start_ > 9 && start_ < 100) { led_buff[1]=led_table[start_%10]; // start_ = start_/10; led_buff[0]=led_table[start_%10]; led_buff[2]=led_table[10]; } if (start_ > 99 && start_ <= 255) { led_buff[2]=led_table[start_%10]; // start_ = start_/10; led_buff[1]=led_table[start_%10]; start_ = start_/10; led_buff[0]=led_table[start_%10]; } if (up==0 && down && timer_butt<1) // ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Ρ‚ΠΎΠΊ Π½Π° ΠΎΠ΄ΠΈΠ½ шаг { if(start<254) { start++; } } if (up==0 && down && ++timer_butt>8) // быстроС ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ° { if(start<254) { start++; } timer_butt=9; } if (down==0 && up && ++timer_butt>8) // быстроС ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ° { if (start>154) { start--; } timer_butt=9; } if (down==0 && up && timer_butt<2) // ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅ΠΌ Ρ‚ΠΎΠΊ Π½Π° ΠΎΠ΄ΠΈΠ½ шаг { if (start>154) { start--; } } } void pwm_control() { pwm = pwm_; pwm = pwm * 99; pwm = pwm / 255; if(pwm < 10) { led_buff[1]=led_table[pwm]; // led_buff[0]=led_table[19]; led_buff[2]=led_table[10]; } if(pwm > 9 && pwm < 100) { led_buff[2]=led_table[pwm%10]; // pwm = pwm/10; led_buff[1]=led_table[pwm%10]; led_buff[0]=led_table[19]; } if (up==0 && down && timer_button==0) { pwm_+=2; eep_timer=0; timer_shou=80; flags_button=1; } if (up==0 && down) { if (++timer_button > 8) { pwm_+=2; eep_timer=0; delay_ms(75); timer_button=9; flags_button=1; } timer_shou=80; } if (up && down==0 && timer_button==0) { pwm_-=2; eep_timer=0; flags_button=1; timer_shou=80; } if (up && down==0) { if (++timer_button > 8) { pwm_-=2; eep_timer=0; delay_ms(75); timer_button=9; flags_button=1; } timer_shou=80; } } void motor_delay() // функция Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ»ΠΎΠΊΠΈ. { sek_ = sek; if(sek_ < 10) { led_buff[0]=led_table[12]; // led_buff[1]=led_table[sek_]; led_buff[2]=led_table[10]; } if(sek_ > 9 && sek_ < 100) { led_buff[2]=led_table[sek_%10]; // sek_ = sek_/10; led_buff[1]=led_table[sek_%10]; led_buff[0]=led_table[12]; } if (up==0 && down && timer_button==0) { if(sek<99) sek++; else sek=2; timer_shou=100; eep_timer=0; flags_button=1; timer_shou=160; } if (up==0 && down) { if(++timer_button > 8) { if(sek<99) sek++; else sek=2; timer_shou=100; delay_ms(75); eep_timer=0; timer_button=9; flags_button=1; } timer_shou=160; } if (up && down==0 && timer_button==0) { sek--; timer_shou=100; if (sek<2) sek=99; eep_timer=0; flags_button=1; timer_shou=160; } if (up && down==0) { if (++timer_button > 8) { sek--; timer_shou=100; if (sek<2) sek=99; eep_timer=0; delay_ms(75); timer_button=9; flags_button=1; } timer_shou=160; } } void button_enable() { if (up && down) { flags_button=0; timer_button=0; timer_butt=0; } if (up==0 && down==0 && flags_button==0 && timer_shou==0) // ΠΊΠ½ΠΎΠΏΠΊΠ° мСню { timer_shou=80; flags_button=1; } if (up==0 && down==0 && flags_button==0 && (timer_shou>0 && timer_shou<81)) // ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² мСню Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ»ΠΎΠΊΠΈ { timer_shou=160; flags_button=1; } if (up==0 && down==0 && flags_button==0 && (timer_shou>80 && timer_shou<161)) // Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ мСню { timer_shou=0; flags_button=1; } if (timer_shou>0) // Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ мСню { timer_shou--; } if (timer_shou == 81) // Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ мСню { timer_shou=0; } if (sek > 100) sek=99; delay_ms(50); } void eep_save() { if (eep_timer < 200) { eep_timer++; } if (eep_timer > 197 && eep_timer < 199) { #asm ("cli"); delay_ms(2); eep_sek = sek; eep_pwm = pwm_; eep_power = start; #asm ("sei"); } } /////===========================================////// // Declare your global variables here void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=Out // State7=T State6=T State5=P State4=P State3=P State2=0 State1=0 State0=0 PORTB=0x38; DDRB=0x07; // Port C initialization // Func6=In Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State6=T State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTC=0x00; DDRC=0x3F; // Port D initialization // Func7=Out Func6=Out Func5=Out Func4=In Func3=Out Func2=In Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=T State3=0 State2=P State1=0 State0=0 PORTD=0x04; DDRD=0xFB; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 7,813 kHz TCCR0=0x00; // Ρ‚Π°ΠΉΠΌΠ΅Ρ€ для управлСния Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° тиристоры TCNT0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 1000,000 kHz // Mode: Fast PWM top=OCR1A // OC1A output: Toggle // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x81; // Ρ‚Π°ΠΉΠΌΠ΅Ρ€1 для формирования ШИМ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ»ΠΎΠΊΠΈ TCCR1B=0x03; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: 7,813 kHz // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00; TCCR2=0x07; TCNT2=0xCB; OCR2=0x00; // External Interrupt(s) initialization // INT0: On // INT0 Mode: Falling Edge // INT1: On // INT1 Mode: Low level GICR|=0x70; MCUCR=0x01; GIFR=0xC0; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x41; // USART initialization // USART disabled UCSRB=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC disabled ADCSRA=0x00; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization // TWI disabled TWCR=0x00; // Global enable interrupts #asm("sei") jamp2 = eep_jamp; led_buff[0]=led_table[11]; // led_buff[1]=led_table[10]; led_buff[2]=led_table[10]; delay_ms(1000); led_buff[0]=led_table[11]; // led_buff[1]=led_table[11]; led_buff[2]=led_table[10]; delay_ms(1000); led_buff[0]=led_table[11]; // led_buff[1]=led_table[11]; led_buff[2]=led_table[11]; delay_ms(1000); led_buff[0]=led_table[10]; // led_buff[1]=led_table[10]; led_buff[2]=led_table[10]; delay_ms(1000); if (up==0 && down) { led_buff[0]=led_table[19]; // led_buff[1]=led_table[11]; led_buff[2]=led_table[20]; jamp2 = 1; eep_jamp = jamp2; delay_ms(3000); } if (up==0 && down==0) { led_buff[0]=led_table[19]; // led_buff[1]=led_table[11]; led_buff[2]=led_table[14]; jamp2 = 0; eep_jamp = jamp2; delay_ms(3000); } #asm ("cli"); delay_ms(2); pwm_ = eep_pwm; if (eep_sek > 100) { eep_sek=10; } if (eep_power < 154 || eep_power > 254) { eep_power=155; } sek = eep_sek; start = eep_power; #asm("sei") while (1) { // Place your code here enable_(); if (timer_shou==0) { power_control(); } if (timer_shou > 0 && timer_shou < 81) { pwm_control(); } if (timer_shou > 80 && timer_shou < 161) { motor_delay(); } button_enable(); eep_save(); } }.
Москва ЀрилансСры

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

дистанционно
договорная
ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: ST elecrtonics STM32x. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: Π₯ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ stm 32f407vg, Π½ΡƒΠΆΠ΅Π½ наставник. Начал ΡƒΡ‡ΠΈΡ‚ΡŒ БИ, Π•ΡΡ‚ΡŒ stm32f407vg discovery.
Москва ЀрилансСры

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²

дистанционно
договорная
ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: AVR ATMega. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡Π° устройства: Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡƒΡˆΠΈΠ»ΠΊΠΎΠΉ ΠΎΠ±ΡƒΠ²ΠΈ.
Москва ЀрилансСры