Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ внСшний Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ для всСх iOS-устройств, совмСстим с PC/Mac, Android
8 800 100 5771 | +7 495 540 4266
c 9:00 Π΄ΠΎ 24:00 ΠΏΠ½-ΠΏΡ‚ | c 10:00 Π΄ΠΎ 18:00 сб
0 Comments

Π˜Π½Ρ„Ρ€Π°ΠΊΡ€Π°ΡΠ½Ρ‹ΠΉ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ расстояния [Robotic & Microcontroller Educational Knowledgepage

Sharp GP2Y0A21YK

Для измСрСния расстояния Π΄ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ оптичСскиС Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ триангуляции. Π‘Π°ΠΌΡ‹Π΅ распространСнныС ΠΈΠ· Π½ΠΈΡ… – это Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° Π΄Π»ΠΈΠ½Π΅ Π²ΠΎΠ»Π½Ρ‹, инфракрасныС (Π½Π° английском языкС infra-red, сокращСнно IR) Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ расстояния с Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ напряТСниСм, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ„ΠΈΡ€ΠΌΠΎΠΉ Sharp. Π£ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Sharp имССтся IR LED с Π»ΠΈΠ½Π·ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ·Π»ΡƒΡ‡Π°Π΅Ρ‚ ΡƒΠ·ΠΊΠΈΠΉ свСтовой Π»ΡƒΡ‡. ΠžΡ‚Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π»ΡƒΡ‡ направляСтся Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π»ΠΈΠ½Π·Ρƒ Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ-Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ фотоэлСмСнт (Π½Π° английском языкС position-sensitive detector, сокращСнно PSD). ΠžΡ‚ мСстополоТСния ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π° PSD Π»ΡƒΡ‡Π°, зависит Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ прСобразуСтся Π² напряТСниС ΠΈ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, дигитализируя Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ расстояниС. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ рисунок ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π»ΡƒΡ‡Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… расстояниях.

ΠŸΡƒΡ‚ΡŒ свСтового Π»ΡƒΡ‡Π° IR измСритСля расстояния

Π’Ρ‹Ρ…ΠΎΠ΄ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° расстояния Sharp ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ – с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ расстояния это ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ ΠΈ растСт ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π’ΠΎΡ‡Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ расстояниСм ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² спСцификации Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°. Π£ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ², Π² соотвСтствии с Ρ‚ΠΈΠΏΠΎΠΌ, имССтся Π³Ρ€Π°Π½ΠΈΡ†Π° измСрСния, Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° являСтся Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ. Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ максимально Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ расстояния ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ Π΄Π²Π° аспСкта: ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ интСнсивности ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎΡΡ свСта ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ PSD Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ мСстополоТСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ малСнького Π»ΡƒΡ‡Π°. ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ сильно ΠΎΡ‚Π΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π²Ρ‹Ρ…ΠΎΠ΄ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° остаСтся ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ максимально ΠΎΡ‚Π΄Π°Π»Π΅Π½Π½Ρ‹Ρ… расстояний. Минимально измСряСмоС расстояниС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ особСнностями Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Sharp, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ – Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ напряТСниС Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ расстоянии (Π² зависимости ΠΎΡ‚ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°: 4-20 см) Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π΅Π·ΠΊΠΎ ΠΏΠ°Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠΈ расстояния. По сущСству это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ напряТСния соотвСтствуСт Π΄Π²Π° расстояния. Для прСдотвращСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ слишком Π±Π»ΠΈΠ·ΠΊΠΎΠ³ΠΎ приблиТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΡƒ.

Π“Ρ€Π°Ρ„ΠΈΠΊ напряТСния-расстояния Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ IR измСритСля расстояния Sharp

Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Π”ΠΎΠΌΠ°ΡˆΠ½Π΅ΠΉ Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ Π΅ΡΡ‚ΡŒ инфракрасный ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒ расстояния Sharp GP2Y0A21YK с Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ измСрСния 10-80 cΠΌ. Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ напряТСниС Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π΄ΠΎ 3 V Π² зависимости ΠΎΡ‚ измСряСмого расстояния. Π”Π°Ρ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Β«Π”Π°Ρ‚Ρ‡ΠΈΠΊΠΈΒ» ΠΈ Π΅Π³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ напряТСниС направляСтся Π½Π° ΠΊΠ°Π½Π°Π» 0 Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прСобразоватСля AVR. На Π±Π°Π·Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ задания Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ просто ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая измСряСт Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ напряТСниС измСритСля расстояния, Π½ΠΎ Π²Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ этому Ρ†Π΅Π»ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ задания являСтся Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ с процСссом ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° напряТСния Π² расстояниС.

Π’ спСцификации Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° GP2Y0A21YK ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π³Ρ€Π°Ρ„ΠΈΠΊ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ напряТСниСм ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹ΠΌ расстояниСм. Π­Ρ‚ΠΎΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊ Π½Π΅ являСтся Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ напряТСния ΠΈ расстояния ΠΏΠΎΡ‡Ρ‚ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ, ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π³ΠΎ довольно просто Π½Π°ΠΉΡ‚ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ для прСобразования напряТСния Π² расстояниС. Для нахоТдСния Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ этого Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ввСсти Π² ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠ· Π½ΠΈΡ… ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС Ρ‚ΠΎΡ‡Π΅ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ автоматичСски Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ линию Ρ‚Ρ€Π΅Π½Π΄Π°. Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π³Ρ€Π°Ρ„ΠΈΠΊ связи исправлСнной ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ напряТСниСм GP2Y0A21YK ΠΈ расстояниСм вмСстС с Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ Ρ‚Ρ€Π΅Π½Π΄Π°. Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ напряТСниС для упрощСния Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π² 10-Π±ΠΈΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎ-Π΄ΠΈΠ³ΠΈΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ прСобразоватСля с ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΌ напряТСниСм +5 V.

Π“Ρ€Π°Ρ„ΠΈΠΊ Π»ΠΈΠ½Π΅Π°Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ расстояния ΠΈ значСния ADC

Как Π²ΠΈΠ΄Π½ΠΎ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, линия Ρ‚Ρ€Π΅Π½Π΄Π° (синяя) совпадаСт довольно Ρ‚ΠΎΡ‡Π½ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (красная линия). Π’Π°ΠΊΠΎΠ΅ совпадСниС достигнуто с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ константы расстояния. ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ константа Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ± ΠΈ ошибок – испробованы Ρ€Π°Π·Π½Ρ‹Π΅ числа, ΠΏΠΎΠΊΠ° Π½Π΅ Π±Ρ‹Π»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Ρ‚Π΅, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ Π»ΠΈΠ½ΠΈΠ΅ΠΉ Ρ‚Ρ€Π΅Π½Π΄Π° большС всСго. ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ константа для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° это +2, Ρ‚.Π΅. ΠΊΠΎ всСм Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ расстояниям Π² Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΏΡ€ΠΈΠ±Π°Π²Π»Π΅Π½ΠΎ 2. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ линию Ρ‚Ρ€Π΅Π½Π΄Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ расстояниСм ΠΈ напряТСниСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

1 / (d + k) = a β‹… ADC + b

Π³Π΄Π΅

  • d – расстояниС Π² сантимСтрах

  • k – ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ константа (Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ± ΠΈ ошибок)

  • ADC – это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ³ΠΈΡ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ напряТСния

  • a – Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Ρ‡Π»Π΅Π½ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· уравнСния Π»ΠΈΠ½ΠΈΠΈ Ρ‚Ρ€Π΅Π½Π΄Π°)

  • b – свободный Ρ‡Π»Π΅Π½ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· уравнСния Π»ΠΈΠ½ΠΈΠΈ Ρ‚Ρ€Π΅Π½Π΄Π°)

Из Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ расстояниС d:

d = (1 / (a β‹… ADC + B)) – k

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, этим ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ расстояниС, Π½ΠΎ это ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ вычислСния ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² частном ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа. Для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами, придСтся ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ ΠΈ пСрСвСсти Π² большиС ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ. Π Π°Π·Π΄Π΅Π»ΠΈΠ² частноС Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π½Π° Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Ρ‡Π»Π΅Π½, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

d = (1 / a) / (ADC + B / a) – k

ВвСдя Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ константы ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ· уравнСния Π»ΠΈΠ½ΠΈΠΈ Ρ‚Ρ€Π΅Π½Π΄Π° Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ ΠΈ свободный Ρ‡Π»Π΅Π½ (ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ· рисунка), ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ для вычислСния расстояния:

d = 5461 / (ADC – 17) – 2

Π­Ρ‚Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° вычислСна 16-Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для AVR. ΠŸΠ΅Ρ€Π΅Π΄ вычислСниСм придСтся ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ADC Π±Ρ‹Π»ΠΎ Π²Ρ‹ΡˆΠ΅ 17, ΠΈΠ½Π°Ρ‡Π΅ получится Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ расстояниС, Ρ‡Ρ‚ΠΎ Π½Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ.

Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° записанная Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π”ΠΎΠΌΠ°ΡˆΠ½Π΅ΠΉ Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ функция ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° значСния ADC Π² сантимСтры. Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ ΠΈ свободный Ρ‡Π»Π΅Π½, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ константа Π½Π΅ вписаны ТСстко Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½ΠΎ ΠΎΠ½ΠΈ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° структуры IR Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° расстояния. Бохраняя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π² константС, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ IR Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² расстояния.

Β 

//
// Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² IR Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° расстояния
//
typedef const struct
{
	const signed short a;
	const signed short b;
	const signed short k;
}
ir_distance_sensor;
Β 
//
// ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° GP2Y0A21YK
// 
const ir_distance_sensor GP2Y0A21YK = { 5461, -17, 2 };
Β 
//
// ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ значСния ADC Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° расстояния IR Π² сантимСтры
// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ -1, Ссли ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ
//
signed short ir_distance_calculate_cm(ir_distance_sensor sensor,
	unsigned short adc_value)
{
	if (adc_value + sensor.b <= 0)
	{
		return -1;
	}
Β 
	return sensor.a / (adc_value + sensor.b) - sensor.k;
}

Для создания ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ir_distance_calculate_cm ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ – это ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° IR Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° расстояния, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ADC. Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ вычислСнноС расстояниС Π² сантимСтрах. ΠŸΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ расчСтС (Ρ‚.Π΅. ΠΏΡ€ΠΈ нССстСствСнном Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ADC) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ функция -1. ИспользованиС IR Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° расстояния ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСобразования дСмонстрируСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ LCD экран, Π³Π΄Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ измСрСния. ΠŸΡ€ΠΈ нССстСствСнном расстоянии отобраТаСтся Π²ΠΎΠΏΡ€ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ.

Β 

//
// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ IR Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° расстояния Π”ΠΎΠΌΠ°ΡˆΠ½Π΅ΠΉ Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ.
// На LCD экранС отобраТаСтся ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ расстояниС Π² сантимСтрах.
//
#include <stdio.h>
#include <homelab/adc.h>
#include <homelab/delay.h>
#include <homelab/module/sensors.h>
#include <homelab/module/lcd_alpha.h>
Β 
//
// Основная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°
//
int main(void)
{
	signed short value, distance;	
	char text[16];
Β 
	// External sensor selection
	pin ex_sensors = PIN(G, 0);
	pin_setup_output(ex_sensors);
	pin_set(ex_sensors);
Β 
	// Настройка LCD экрана
	lcd_alpha_init(LCD_ALPHA_DISP_ON);
Β 
	// ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° LCD экрана
	lcd_alpha_clear();
Β 
	// НазваниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
	lcd_alpha_write_string("Π”Π°Ρ‚Ρ‡ΠΈΠΊ расстояния");
Β 
	// Настройка ADC прСобразоватСля
	adc_init(ADC_REF_AVCC, ADC_PRESCALE_8);
Β 
	// БСсконСчный Ρ†ΠΈΠΊΠ»
	while (true)
	{
		// Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ значСния Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ напряТСния Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°, ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² 4 Ρ€Π°Π·Π°
		value = adc_get_average_value(0, 4);		
Β 
		// ΠŸΠ΅Ρ€Π΅ΡΡ‡Π΅Ρ‚ значСния ADC Π² расстояниС
		distance = ir_distance_calculate_cm(GP2Y0A21YK, value);
Β 
		// Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ расстояниС ΠΈΠ»ΠΈ сообщСниС ΠΎΠ± ошибкС?
		if (distance >= 0)
		{			
			sprintf(text, "%d cm   ", distance);
		}
		else
		{
			sprintf(text, "Ошибка   ");
		}
Β 
		// ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ тСкста Π² Π½Π°Ρ‡Π°Π»Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки LCD
		lcd_alpha_goto_xy(0, 1);
		lcd_alpha_write_string(text);
Β 
		// ΠŸΠ°ΡƒΠ·Π°
		sw_delay_ms(500);
	}
}

home.roboticlab.eu

Arduino:ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹/Π Π°Π΄ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ИК-Π΄Π°Ρ‚Ρ‡ΠΈΠΊ расстояния β€” Онлайн справочник

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°/ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅/Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: МякишСв Π•.А.

Π§Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт построСниС Ρ€Π°Π΄ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΄Π°Π»ΡŒΠ½ΠΎΠΌΠ΅Ρ€Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ИК-Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°, установлСнного Π½Π° сСрводвигатСлС ΠΈ 4 свСтодиодов. РасстояниС измСряСтся Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· 4 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ(15, 65, 115, 165 градусов),Π° ΡΡ€ΠΊΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… свСтодиодов соотвСтствуСт Ρ€Π°ΡΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π΄ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стабилизатор напряТСния Π½Π° 5Π’ L4940V5 для питания сСрвопривода. Π­Ρ‚ΠΎ являСтся Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎ нСскольким ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ. Π₯ΠΎΡ‚ΡŒ ΠΈ Π² Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ сСрвоприводы ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ нСбольшой Ρ‚ΠΎΠΊ, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ‚ΠΎΠΊ потрСблСния ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сотСн ΠΌΠΈΠ»Π»ΠΈΠ°ΠΌΠΏΠ΅Ρ€, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ скачкам напряТСния. ΠŸΡ€ΠΈ нСдостаточном напряТСнии питания Π²Π°Π» сСрвопривода Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ нСустойчиво. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сСрвоприводам Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ источником питания.

НСобходимоС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅

ЦСпь

Π‘ΠΎΠ±Π΅Ρ€ΠΈΡ‚Π΅ схСму согласно ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ½ΠΎΠΉ схСмС. ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚Π΅ ИК-Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΊ ΡΠ΅Ρ€Π²ΠΎΠ΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŽ.

ΠžΠ‘Π’ΠžΠ ΠžΠ–ΠΠž! Π’Ρ‹Ρ…ΠΎΠ΄ стабилизатора напряТСния Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ с шиной 5V ΠΏΠ»Π°Ρ‚Ρ‹ Arduino. Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΠΈΠ½Ρ‹ Π·Π΅ΠΌΠ»ΠΈ стабилизатора ΠΈ ΠΏΠ»Π°Ρ‚Ρ‹ Arduino.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° кондСнсаторы Π½Π° Π²Ρ…ΠΎΠ΄Π΅ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ стабилизатора напряТСния, ΠΎΠ½ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ ΠΏΡƒΠ»ΡŒΡΠ°Ρ†ΠΈΠΈ напряТСния.

Π‘Ρ…Π΅ΠΌΠ° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ стабилизатора напряТСния

Распиновка стабилизатора напряТСния L4940V5

Код

  1. #include <Servo.h> Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Servo

  2. Β 

  3. #define SERVO Β 9 Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // Π²Ρ‹Π²ΠΎΠ΄ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сигнального ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° сСрводвигатСля

  4. #define IR Β  Β  0 Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сигнального ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ИК-Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° расстояния

  5. #define LED1 Β  3 Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // Π²Ρ‹Π²ΠΎΠ΄ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ LED1

  6. #define LED2 Β  5 Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // Π²Ρ‹Π²ΠΎΠ΄ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ LED2

  7. #define LED3 Β  6 Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // Π²Ρ‹Π²ΠΎΠ΄ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ LED3

  8. #define LED4 Β  11 Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  // Π²Ρ‹Π²ΠΎΠ΄ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ LED4

  9. Β 

  10. Servo myServo; Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Servo

  11. int dist1 = 0; Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // пСрСмСнная для хранСния дистанции Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

  12. int dist2 = 0; Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // пСрСмСнная для хранСния дистанции Π² Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

  13. int dist3 = 0; Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // пСрСмСнная для хранСния дистанции Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

  14. int dist4 = 0; Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // пСрСмСнная для хранСния дистанции Π² Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

  15. Β 

  16. void setup()

  17. {

  18. Β  Β  myServo.attach(SERVO); Β  Β  Β  Β  Β  Β  Β  Β  Β // ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сСрводвигатСля ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ SERVO (Ρ‚.Π΅. 9-ΠΌΡƒ)

  19. Β  Β  pinMode(LED1, OUTPUT); Β  Β  Β  Β  Β  Β  Β  Β  Β // ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ LED1(Ρ‚.Π΅. 3-ΠΈΠΉ) ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄

  20. Β  Β  pinMode(LED2, OUTPUT); Β  Β  Β  Β  Β  Β  Β  Β  Β // ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ LED2(Ρ‚.Π΅. 5-ΠΈΠΉ) ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄

  21. Β  Β  pinMode(LED3, OUTPUT); Β  Β  Β  Β  Β  Β  Β  Β  Β // ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ LED3(Ρ‚.Π΅. 6-ΠΈΠΉ) ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄

  22. Β  Β  pinMode(LED4, OUTPUT); Β  Β  Β  Β  Β  Β  Β  Β  Β // ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ LED4(Ρ‚.Π΅. 11-ΠΈΠΉ) ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄

  23. }

  24. Β 

  25. void loop()

  26. {

  27. Β  Β  // ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²Π°Π»Π° сСрводвигатСля ΠΏΠΎ 4 позициям

  28. Β  Β  dist1 = readDistance(15); Β  Β  Β  Β  Β  Β  Β  // Π˜Π·ΠΌΠ΅Ρ€ΡΠ΅ΠΌ расстояния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ИК-Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π²Π°Π»Π° сСрводвигатСля Π½Π° 15 градусов

  29. Β  Β  analogWrite(LED1, dist1); Β  Β  Β  Β  Β  Β  Β  // Π Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΡΡ€ΠΊΠΎΡΡ‚ΡŒ свСтодиода LED1

  30. Β  Β  delay(300); Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  // Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ

  31. Β 

  32. Β  Β  dist2 = readDistance(65); Β  Β  Β  Β  Β  Β  Β  // Π˜Π·ΠΌΠ΅Ρ€ΡΠ΅ΠΌ расстояния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ИК-Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π²Π°Π»Π° сСрводвигатСля Π½Π° 65 градусов

  33. Β  Β  analogWrite(LED2, dist2); Β  Β  Β  Β  Β  Β  Β  // Π Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΡΡ€ΠΊΠΎΡΡ‚ΡŒ свСтодиода LED2

  34. Β  Β  delay(300); Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  // Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ

  35. Β 

  36. Β  Β  dist3 = readDistance(115); Β  Β  Β  Β  Β  Β  Β // Π˜Π·ΠΌΠ΅Ρ€ΡΠ΅ΠΌ расстояния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ИК-Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π²Π°Π»Π° сСрводвигатСля Π½Π° 115 градусов

  37. Β  Β  analogWrite(LED3, dist3); Β  Β  Β  Β  Β  Β  Β  // Π Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΡΡ€ΠΊΠΎΡΡ‚ΡŒ свСтодиода LED3

  38. Β  Β  delay(300); Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  // Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ

  39. Β 

  40. Β  Β  dist4 = readDistance(165); Β  Β  Β  Β  Β  Β  Β // Π˜Π·ΠΌΠ΅Ρ€ΡΠ΅ΠΌ расстояния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ИК-Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π²Π°Π»Π° сСрводвигатСля Π½Π° 165 градусов

  41. Β  Β  analogWrite(LED4, dist4); Β  Β  Β  Β  Β  Β  Β  // Π Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΡΡ€ΠΊΠΎΡΡ‚ΡŒ свСтодиода LED4

  42. Β  Β  delay(300); Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  // Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ

  43. }

  44. Β 

  45. int readDistance(int pos)

  46. {

  47. Β  Β  myServo.write(pos); Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π²Π°Π» сСрвопривода Π½Π° ‘pos’ градусов

  48. Β  Β  delay(600); Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β // Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°

  49. Β  Β  int dist = analogRead(IR); Β  Β  Β  Β  Β  Β  // Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с ИК-Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° расстояния

  50. Β  Β  dist = map(dist, 50, 500, 0, 255); Β  Β  // ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΌΡƒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ

  51. Β  Β  return dist; Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  // Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ значСния расстояния, ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π²Π°Π»Π° сСрводвигатСля

  52. }

wikihandbk.com

ИК Π΄Π°Ρ‚Ρ‡ΠΈΠΊ прСпятствий с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ направлСния

НСдавно Π½Π°Ρ‡Π°Π» Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ сборкой самоходного Ρ€ΠΎΠ±ΠΎΡ‚Π°, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ИК ΠΏΡƒΠ»ΡŒΡ‚ΠΎΠΌ ΠΈ Π±Ρ‹Π» Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π·ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ инфракрасный Π΄Π°Ρ‚Ρ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΡ… Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ, происходящСС слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

Π‘Ρ…Π΅ΠΌΠ° ИК Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ направлСния

Π‘Ρ…Π΅ΠΌΠ° основана Π½Π° 2 ИК Π΄ΠΈΠΎΠ΄Π°Ρ…, ИК Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ΅ 36 ΠΊΠ“Ρ†, МК Tiny13 ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… свСтодиодах. Π­Ρ‚ΠΈ свСтодиоды ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для рСгулярной ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠΈ состояния устройства β€” Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ β€” Ρ‚ΡƒΡ‚ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ возмоТности.

Π”Π°Ρ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² 3-Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… полоТСниях: Π’Π›Π•Π’Πž, Π‘Π Π•Π”ΠΠ˜Π™, Π’ΠŸΠ ΠΠ’Πž

МоТно Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ расстояниС дСтСктирования Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 2 см Π΄ΠΎ 1,5 ΠΌ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° схСмС ΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Π΅. Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° обнаруТиваСтся ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² состоянии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΏΠΎΠ»Π΅ зрСния, сигнал INTERRUPT (IRQ) гСнСрируСтся Π½Π° внСшниС устройства. Благодаря этому процСссу Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ состояниС Π²Ρ…ΠΎΠ΄ΠΎΠ² L ΠΈ R ΠΈ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ситуации:

LR (Π»Π΅Π²Ρ‹ΠΉ/ΠΏΡ€Π°Π²Ρ‹ΠΉ)

  1. 0 0 β€” Π½Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΏΠΎΠ»Π΅ зрСния
  2. 1 0 β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ находится слСва
  3. 0 1 β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ находится справа
  4. 1 1 β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ находится посСрСдинС.

Π›ΡƒΡ‡ΡˆΠ΅ всСго ситуация ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ИК-Π΄ΠΈΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° нСсущСй частотС 36 ΠΊΠ“Ρ†, это Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡƒΠ»ΡŒΡ‚Π° (Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ этот Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π½ΡŽΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Π° Ρƒ Ρ€ΠΎΠ±ΠΎΡ‚Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ИК-ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ для управлСния сзади).

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ IRQ гСнСрируСтся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ появляСтся Π² Π·ΠΎΠ½Π΅ видимости Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°, Π½ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ исчСзаСт ΠΈΠ· поля зрСния. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ процСссора. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ послС чтСния прСрывания Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ β€” состояниС просмотра Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° β€” Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ сразу ввСсти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для управлСния двигатСлями Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… колСс ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ.

Π‘Π°ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ слоТна β€” ΠΎΠ½Π° состоит ΠΈΠ· Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ нСсущСй 36 ΠΊΠ“Ρ† с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Timer0 ΠΈ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π΅Π΅ ΠΏΠΎΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΊ ΠΎΠ±ΠΎΠΈΠΌ ИК-Π΄ΠΈΠΎΠ΄Π°ΠΌ β€” послС Ρ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΡ‘ΠΌ ΠΈ Π°Π½Π°Π»ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ происходит.

Π’Π°ΠΊΠΆΠ΅ Π²Π²Π΅Π΄Π΅Π½Π° буфСризация Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сравнСниС нСсколько ΠΈΠ· Ρ‚Π΅Ρ… ΠΆΠ΅ самых сигналов Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ сигнал прСрывания β€” ΠΎΠ½ вСдь Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ устойчивым ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ ΠΏΠΎΠΌΠ΅Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡƒΠ»ΡŒΡ‚Ρ‹ дистанционного управлСния Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π° (Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ синий LED быстро ΠΌΠΈΠ³Π°Π΅Ρ‚ нСсколько Ρ€Π°Π· β€” красный свСтодиод, ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΎ исходящСм сигналС прСрывания, срабатываСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·). Благодаря этому Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒ Π³Π»Π°Π²Π½Ρ‹ΠΉ процСссор Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ состояниями ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ находится Π½Π° ΠΊΡ€Π°ΡŽ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

  1. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ΡΡƒΡ‰ΡƒΡŽ Π½Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя Π½Π° Π»Π΅Π²Ρ‹ΠΉ ИК-Π΄ΠΈΠΎΠ΄.
  2. Π–Π΄Π΅ΠΌ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ нСсколько миллисСкунд.
  3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π»ΠΈ ИК-ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ отраТСния.
  4. Если Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΈΡ… Π²ΠΈΠ΄ΠΈΡ‚ β€” Π·Π½Π°Ρ‡ΠΈΡ‚ Π½Π° Π΄ΠΎΡ€ΠΎΠ³Π΅ слСва ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.
  5. Π—Π°Ρ‚Π΅ΠΌ Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚Π΅ ΠΆΠ΅ шаги, Π½ΠΎ с ΠΏΡ€Π°Π²Ρ‹ΠΌ ИК-Π΄ΠΈΠΎΠ΄ΠΎΠΌ.

Для суммирования ΠΈ усрСднСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния всСго Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, исправлСния ошибок ΠΈ нСбольшого обобщСния β€” ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² срСднСм ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ нСсколько дСсятков миллисСкунд с ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ИК-Π΄ΠΈΠΎΠ΄Π°.

ΠŸΠΎΠΌΠ΅Ρ…ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ искусствСнном освСщСнии, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Ссли Π½Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π±Π»ΠΈΠΆΠ΅ 20 см ΠΊ Π»ΡŽΠΌΠΈΠ½Π΅ΡΡ†Π΅Π½Ρ‚Π½ΠΎΠΉ Π»Π°ΠΌΠΏΠ΅, Ρ‚ΠΎΠ³Π΄Π° фактичСски свСтодиоды ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠΈΠ³Π°Ρ‚ΡŒ β€” хотя ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° Ρ€Π°Π·Π°. Основной Ρ†Π΅Π»ΡŒΡŽ создания этого Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π±Ρ‹Π»ΠΎ свСсти ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ влияниС Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΈ это ΡƒΠ΄Π°Π»ΠΎΡΡŒ.

Π‘Ρ…Π΅ΠΌΠ° ИК Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π±Π΅Π· ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

А Π΄Π°Π»Π΅Π΅ схСма Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π½Π° TTL микросхСмах, это для Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Π½Π΅ Π»ΡŽΠ±ΠΈΡ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° приятная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ этого Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ИК-Π΄ΠΈΠΎΠ΄ΠΎΠ², Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ссли ΠΎΠ½ΠΈ установлСны ΠΏΠΎΠ΄ прямым ΡƒΠ³Π»ΠΎΠΌ β€” Π±ΡƒΠ΄Π΅Ρ‚ самый ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ расстояний, Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ видимости Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΏΠΎ Π±ΠΎΠΊΠ°ΠΌ β€” ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ минимального расстояния, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ посСрСдинС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² области Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сантимСтров Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ ΠΏΠ΅Ρ€Π΅Π΄ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ слСгка ΠΎΡ‚ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚. Но Ссли слСгка Π½Π°ΠΊΠ»ΠΎΠ½ΠΈΠΌ ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€ΡŒ, Ρ‚ΠΎ смоТСм Ρ€Π΅Π·ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ условия Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Ρ‚ΠΎΠ½ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

Если Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ послС оТидания β€” это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… видимости прСпятствий Π½Π΅Ρ‚ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ…Π°Ρ‚ΡŒ Π²ΠΏΠ΅Ρ€Π΅Π΄.

2shemi.ru

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

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