Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ 2. Arduino — ΠΊΠ½ΠΎΠΏΠΊΠΈ, PWM, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

videolesson2

БСгодня ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ, посвящСнный основам Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Arduino. Π­Ρ‚ΠΎΡ‚ ΡƒΡ€ΠΎΠΊ посвящСн ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΎΠΊ для Π²Π²ΠΎΠ΄Π° сигналов, PWM-Π²Ρ…ΠΎΠ΄Π°ΠΌ Arduino ΠΈ использованию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² языкС Arduino.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ Π”ΠΆΠ΅Ρ€Π΅ΠΌΠΈ Π‘Π»ΡŽΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊ PWM-Π²Ρ…ΠΎΠ΄Ρƒ Arduino ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ управляСт ΡΡ€ΠΊΠΎΡΡ‚ΡŒΡŽ свСчСния свСтодиода.

PWM, сокращСниС ΠΎΡ‚Β Pulse-Width Modulation — это ΡˆΠΈΡ€ΠΎΡ‚Π½ΠΎ-ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½Π°Ρ модуляция. Π― ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽ ΠΏΠΎΡΠ²ΡΡ‚ΠΈΡ‚ΡŒ этому ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ, поэтому Π½Π΅ Π±ΡƒΠ΄Ρƒ Π·Π°ΠΎΡΡ‚Ρ€ΡΡ‚ΡŒ здСсь Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° этом понятии. ΠŸΡ€ΠΎΡΡ‚ΠΎ посмотритС Π²ΠΈΠ΄Π΅ΠΎ.

Для этого ΡƒΡ€ΠΎΠΊΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ:

  • ΠŸΠ»Π°Ρ‚Π° Arduino
  • Кнопка
  • Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄
  • 2 рСзистора
  • Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°

Π˜Ρ‚Π°ΠΊ, смотрим Π²ΠΈΠ΄Π΅ΠΎ.

Π§Π°ΡΡ‚ΡŒ 1.

 

Π§Π°ΡΡ‚ΡŒ 2.

Π’ΠΈΠΏ boolean — это Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° значСния. Π­Ρ‚ΠΈ значСния 1 ΠΈΠ»ΠΈ 0 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для обозначСния истинно-Π»ΠΎΠΆΠ½ΠΎ, Π΅ΡΡ‚ΡŒ сигнал-Π½Π΅Ρ‚ сигнала). Π’ языкС Arduino Π΅ΡΡ‚ΡŒ константы, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡƒ boolean: HIGH-LOW, TRUE-FALSE. Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, HIGH = 1, LOW = 0, TRUE = 1, FALSE = 0.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π΅ΡΡ‚ΡŒ, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния: == (Ρ€Π°Π²Π½ΠΎ), &&(ΠΈ), Π° Ρ‚Π°ΠΊΠΆΠ΅ логичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ отрицания !, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ «ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚.Π΅. Π² Π΄Π°Π½Π½ΠΎΠΌ случаС мСняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ledPin Π½Π° 0, Ссли ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°Π²Π½ΠΎ 1 ΠΈ устанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ledPin Π² 1, Ссли ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°Π²Π½ΠΎ 0. Π’Π°ΠΊΠΆΠ΅ здСсь рассмотрСна условная ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ конструкция if-else.

Код с коммСнтариями ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ Π²ΠΈΠ΄Π΅ΠΎ

Если Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ вопросы — Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅.

Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги с Arduino

Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ 3. ΠžΡΠ½ΠΎΠ²Ρ‹ схСмотСхники

Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ 4. АналоговыС Π²Ρ…ΠΎΠ΄Ρ‹ Arduino

Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ 5. ΠœΠΎΡ‚ΠΎΡ€Ρ‹ ΠΈ транзисторы

Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ 6. Serial ΠΈ Processing

 
Как Π²Ρ‹ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚Π΅ эту ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ? 1 Π·Π²Π΅Π·Π΄Π°2 Π·Π²Π΅Π·Π΄Ρ‹3 Π·Π²Π΅Π·Π΄Ρ‹4 Π·Π²Π΅Π·Π΄Ρ‹5 Π·Π²Π΅Π·Π΄ (5 голосов, срСдняя ΠΎΡ†Π΅Π½ΠΊΠ°: 5.00 ΠΈΠ· 5)
Loading ... Loading ...

4 коммСнтария ΠΊ записи “Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ 2. Arduino — ΠΊΠ½ΠΎΠΏΠΊΠΈ, PWM, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ”

  1. ΠœΠΈΡ…Π°ΠΈΠ» ΠΏΠΈΡˆΠ΅Ρ‚:

    ΠŸΡ€ΠΈΠ²Π΅Ρ‚.

    Π― Π½Π΅ понял ΠΊΠ°ΠΊΡƒΡŽ Ρ€ΠΎΠ»ΡŒ выполняСт «last» Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ debounce, «last» это ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚Π°ΠΊΠΎΠΉ? ПослС if сравниваСтся «last» с «current», Π½ΠΎ ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π½Π°Π΅Ρ‚ Ρ‡Π΅ΠΌΡƒ Ρ€Π°Π²Π΅Π½ «last»??

    • ΠœΠΈΡ…Π°ΠΈΠ», ΠΏΡ€ΠΈΠ²Π΅Ρ‚. last ΠΈ current — это названия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ last хранится состояниС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° Π² current — Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΊΠ½ΠΎΠΏΠΊΠΈ. last пСрСдаСтся Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ debounce. Когда ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ debounce (lastButton), Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ debounce, пСрСмСнная last Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ lastButton.

      • МbΡ…Π°ΠΈΠ» ΠΏΠΈΡˆΠ΅Ρ‚:

        Π’ΠΎ Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «last» устанавливаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ строчки «return current;» ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΊΠΎΠ³Π΄Π° функция debounce срабатываСт Π² Ρ†ΠΈΠΊΠ»Π΅ void loop считываСтся ΠΏΡ€Π΅ΠΆΠ½Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅? Π― ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ понял?

        • Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊΠΎΠ΄ с коммСнтариями Π² тСкстС ΡΡ‚Π°Ρ‚ΡŒΠΈ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ last устанавливаСтся Π² 28 строкС

          ПослС этого Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ debounce ΠΈ last ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ lastButton

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ideal-standart.ru .

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ