CNCU PCA9685 ਸਰਵੋ ਡਰਾਈਵਰ i2C ਇੰਟਰਫੇਸ
ਉਤਪਾਦ ਵਰਤੋਂ ਨਿਰਦੇਸ਼
- ਜਦੋਂ ਤੁਸੀਂ ਮਸ਼ੀਨ 'ਤੇ ERR 40 ਦੇਖਦੇ ਹੋ:
- ਮਸ਼ੀਨ ਨੂੰ ਚਾਲੂ ਰੱਖੋ, ਇਹ ਬਹੁਤ ਜ਼ਰੂਰੀ ਹੈ।
- ਲਾਈਵ ਸਥਿਤੀ ਤੋਂ ਬੈਟਰੀਆਂ ਨੂੰ ਹਟਾਓ।
- ਬੈਟਰੀਆਂ ਨੂੰ ਰਿਜ਼ਰਵ ਪੋਜੀਸ਼ਨ ਤੋਂ ਲਾਈਵ ਪੋਜੀਸ਼ਨ ਵਿੱਚ ਰੱਖੋ।
- ਮਸ਼ੀਨ ਨੂੰ ਰੀਬੂਟ ਕਰੋ.
- ਅਗਲੀ ਬੈਟਰੀ ਤਬਦੀਲੀ ਲਈ ਰਿਜ਼ਰਵ ਵਿੱਚ ਰੱਖਣ ਲਈ ਦੋ ਨਵੀਆਂ ਬੈਟਰੀਆਂ ਖਰੀਦਣਾ ਯਾਦ ਰੱਖੋ।
AM.CO.ZA ਸਹਾਇਤਾ ਨਾਲ ਸੰਪਰਕ ਕਰੋ ਜੇਕਰ ਤੁਹਾਨੂੰ ਬੈਟਰੀ ਬਦਲਣ ਵਿੱਚ ਮੁਸ਼ਕਲ ਆਉਂਦੀ ਹੈ ਜਾਂ ਜੇ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਮਸ਼ੀਨ ਦੀ ਸਥਿਤੀ ਬਦਲ ਜਾਂਦੀ ਹੈ। ਤੁਸੀਂ ਸਹਾਇਤਾ ਲਈ WhatsApp ਰਾਹੀਂ 060 600 6000 'ਤੇ ਵੀ ਸੰਪਰਕ ਕਰ ਸਕਦੇ ਹੋ।
ਵੱਧview
Arduino ਸਰਵੋ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਨਾਲ ਸਰਵੋ ਮੋਟਰਾਂ ਨੂੰ ਚਲਾਉਣਾ ਬਹੁਤ ਆਸਾਨ ਹੈ, ਪਰ ਹਰ ਇੱਕ ਇੱਕ ਕੀਮਤੀ ਪਿੰਨ ਦੀ ਖਪਤ ਕਰਦਾ ਹੈ - ਕੁਝ ਅਰਡੀਨੋ ਪ੍ਰੋਸੈਸਿੰਗ ਪਾਵਰ ਦਾ ਜ਼ਿਕਰ ਨਾ ਕਰਨ ਲਈ। Adafruit 16-ਚੈਨਲ 12-ਬਿੱਟ PWM/Servo ਡਰਾਈਵਰ ਸਿਰਫ 16 ਪਿੰਨਾਂ ਨਾਲ I2C ਉੱਤੇ 2 ਸਰਵੋਜ਼ ਤੱਕ ਚਲਾਏਗਾ। ਆਨ-ਬੋਰਡ PWM ਕੰਟਰੋਲਰ ਸਾਰੇ 16 ਚੈਨਲਾਂ ਨੂੰ ਇੱਕੋ ਸਮੇਂ ਬਿਨਾਂ ਕਿਸੇ ਵਾਧੂ ਅਰਡਿਊਨੋ ਪ੍ਰੋਸੈਸਿੰਗ ਓਵਰਹੈੱਡ ਦੇ ਚਲਾਏਗਾ। ਹੋਰ ਕੀ ਹੈ, ਤੁਸੀਂ 62 ਸਰਵੋਜ਼ ਤੱਕ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਉਹਨਾਂ ਵਿੱਚੋਂ 992 ਤੱਕ ਚੇਨ ਕਰ ਸਕਦੇ ਹੋ - ਸਾਰੇ ਇੱਕੋ 2 ਪਿੰਨ ਨਾਲ!
Adafruit PWM/Servo ਡਰਾਈਵਰ ਕਿਸੇ ਵੀ ਪ੍ਰੋਜੈਕਟ ਲਈ ਸੰਪੂਰਨ ਹੱਲ ਹੈ ਜਿਸ ਲਈ ਬਹੁਤ ਸਾਰੇ ਸਰਵੋ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਪਿਨਆਉਟ
- ਦੋਵੇਂ ਪਾਸੇ ਕੰਟਰੋਲ ਇਨਪੁਟ ਪਿੰਨ ਦੇ ਦੋ ਸੈੱਟ ਹਨ। ਪਿੰਨ ਦੇ ਦੋਵੇਂ ਪਾਸੇ ਇੱਕੋ ਜਿਹੇ ਹਨ! ਜੋ ਵੀ ਸਾਈਡ ਤੁਸੀਂ ਚਾਹੋ ਵਰਤੋ, ਤੁਸੀਂ ਦੋ ਨਾਲ-ਨਾਲ-ਨਾਲ ਜੋੜ ਕੇ ਆਸਾਨੀ ਨਾਲ ਚੇਨ ਵੀ ਕਰ ਸਕਦੇ ਹੋ
ਪਾਵਰ ਪਿੰਨ
- GND - ਇਹ ਪਾਵਰ ਅਤੇ ਸਿਗਨਲ ਗਰਾਊਂਡ ਪਿੰਨ ਹੈ, ਕਨੈਕਟ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ
- VCC - ਇਹ ਤਰਕ ਸ਼ਕਤੀ ਪਿੰਨ ਹੈ, ਇਸਨੂੰ ਉਸ ਤਰਕ ਪੱਧਰ ਨਾਲ ਕਨੈਕਟ ਕਰੋ ਜੋ ਤੁਸੀਂ PCA9685 ਆਉਟਪੁੱਟ ਲਈ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ, 3 - 5V ਅਧਿਕਤਮ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ! ਇਹ SCL/SDA 'ਤੇ 10K ਪੁੱਲਅਪਸ ਲਈ ਵੀ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਜਦੋਂ ਤੱਕ ਤੁਹਾਡੇ ਕੋਲ ਆਪਣੇ ਖੁਦ ਦੇ ਪੁੱਲਅੱਪ ਨਹੀਂ ਹਨ, ਕੀ ਇਹ ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਦੇ ਤਰਕ ਪੱਧਰ ਨਾਲ ਵੀ ਮੇਲ ਖਾਂਦਾ ਹੈ!
- V+ - ਇਹ ਇੱਕ ਵਿਕਲਪਿਕ ਪਾਵਰ ਪਿੰਨ ਹੈ ਜੋ ਸਰਵੋਜ਼ ਨੂੰ ਵੰਡੀ ਪਾਵਰ ਸਪਲਾਈ ਕਰੇਗਾ। ਜੇ ਤੁਸੀਂ ਸਰਵੋਜ਼ ਲਈ ਨਹੀਂ ਵਰਤ ਰਹੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਡਿਸਕਨੈਕਟ ਛੱਡ ਸਕਦੇ ਹੋ। ਇਹ ਚਿੱਪ ਦੁਆਰਾ ਬਿਲਕੁਲ ਨਹੀਂ ਵਰਤੀ ਜਾਂਦੀ. ਤੁਸੀਂ ਬੋਰਡ ਦੇ ਸਿਖਰ 'ਤੇ 2-ਪਿੰਨ ਟਰਮੀਨਲ ਬਲਾਕ ਤੋਂ ਪਾਵਰ ਵੀ ਇੰਜੈਕਟ ਕਰ ਸਕਦੇ ਹੋ। ਜੇਕਰ ਤੁਸੀਂ ਸਰਵੋਸ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਤੁਹਾਨੂੰ 5-6VDC ਪ੍ਰਦਾਨ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਕਰਨਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ 12VDC ਤੱਕ ਉੱਚੇ ਜਾ ਸਕਦੇ ਹੋ, ਪਰ ਜੇਕਰ ਤੁਸੀਂ ਗੜਬੜ ਕਰਦੇ ਹੋ ਅਤੇ VCC ਨੂੰ V+ ਨਾਲ ਜੋੜਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਆਪਣੇ ਬੋਰਡ ਨੂੰ ਨੁਕਸਾਨ ਪਹੁੰਚਾ ਸਕਦੇ ਹੋ!
ਕੰਟਰੋਲ ਪਿੰਨ
- SCL - I2C ਕਲਾਕ ਪਿੰਨ, ਆਪਣੇ ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ I2C ਕਲਾਕ ਲਾਈਨ ਨਾਲ ਜੁੜੋ। 3V ਜਾਂ 5V ਤਰਕ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ VCC ਲਈ ਕਮਜ਼ੋਰ ਪੁੱਲਅਪ ਹੈ
- SDA - I2C ਡਾਟਾ ਪਿੰਨ, ਆਪਣੇ ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ I2C ਡਾਟਾ ਲਾਈਨ ਨਾਲ ਜੁੜੋ। 3V ਜਾਂ 5V ਤਰਕ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ VCC ਲਈ ਕਮਜ਼ੋਰ ਪੁੱਲਅਪ ਹੈ
- OE - ਆਉਟਪੁੱਟ ਯੋਗ. ਸਾਰੇ ਆਉਟਪੁੱਟ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਅਯੋਗ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ. ਜਦੋਂ ਇਹ ਪਿੰਨ ਘੱਟ ਹੁੰਦਾ ਹੈ ਤਾਂ ਸਾਰੀਆਂ ਪਿੰਨਾਂ ਯੋਗ ਹੁੰਦੀਆਂ ਹਨ। ਜਦੋਂ ਪਿੰਨ ਉੱਚਾ ਹੁੰਦਾ ਹੈ ਤਾਂ ਆਉਟਪੁੱਟ ਅਸਮਰੱਥ ਹੁੰਦੇ ਹਨ। ਪੂਰਵ-ਨਿਰਧਾਰਤ ਤੌਰ 'ਤੇ ਘੱਟ ਖਿੱਚਿਆ ਗਿਆ ਹੈ ਇਸ ਲਈ ਇਹ ਇੱਕ ਵਿਕਲਪਿਕ ਪਿੰਨ ਹੈ!
ਆਉਟਪੁੱਟ ਪੋਰਟ
- ਇੱਥੇ 16 ਆਉਟਪੁੱਟ ਪੋਰਟ ਹਨ। ਹਰੇਕ ਪੋਰਟ ਵਿੱਚ 3 ਪਿੰਨ ਹੁੰਦੇ ਹਨ: V+, GND ਅਤੇ PWM ਆਉਟਪੁੱਟ। ਹਰੇਕ PWM ਪੂਰੀ ਤਰ੍ਹਾਂ ਸੁਤੰਤਰ ਤੌਰ 'ਤੇ ਚੱਲਦਾ ਹੈ ਪਰ ਉਹਨਾਂ ਸਾਰਿਆਂ ਕੋਲ ਇੱਕੋ PWM ਬਾਰੰਬਾਰਤਾ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
- ਭਾਵ, LEDs ਲਈ ਤੁਸੀਂ ਸ਼ਾਇਦ 1.0 KHz ਚਾਹੁੰਦੇ ਹੋ ਪਰ ਸਰਵੋਸ ਨੂੰ 60 Hz ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ - ਇਸਲਈ ਤੁਸੀਂ LEDs ਲਈ ਅੱਧੇ @ 1.0 KHz ਅਤੇ ਅੱਧੇ @ 60 Hz ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹੋ।
- ਉਹ ਸਰਵੋਜ਼ ਲਈ ਸਥਾਪਤ ਕੀਤੇ ਗਏ ਹਨ ਪਰ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ LEDs ਲਈ ਵਰਤ ਸਕਦੇ ਹੋ! ਵੱਧ ਤੋਂ ਵੱਧ ਕਰੰਟ ਪ੍ਰਤੀ ਪਿੰਨ 25mA ਹੈ।
- ਸਾਰੇ PWM ਪਿੰਨਾਂ ਦੇ ਨਾਲ ਲੜੀ ਵਿੱਚ 220 ohm ਰੋਧਕ ਹੁੰਦੇ ਹਨ ਅਤੇ ਆਉਟਪੁੱਟ ਤਰਕ VCC ਵਾਂਗ ਹੀ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ LEDs ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ ਇਸ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ।
ਅਸੈਂਬਲੀ
ਸਰਵੋ ਹੈਡਰ ਸਥਾਪਿਤ ਕਰੋ
- ਬੋਰਡ ਦੇ ਕਿਨਾਰੇ ਦੇ ਨਾਲ ਚਿੰਨ੍ਹਿਤ ਸਥਿਤੀਆਂ ਵਿੱਚ 4 3 × 4 ਪਿੰਨ ਪੁਰਸ਼ ਸਿਰਲੇਖਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ।
ਸਾਰੇ ਪਿੰਨ ਸੋਲਡਰ
- ਉਹਨਾਂ ਵਿੱਚੋਂ ਬਹੁਤ ਸਾਰੇ ਹਨ!
ਕੰਟਰੋਲ ਲਈ ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਕਰੋ
- ਮਰਦ ਸਿਰਲੇਖ ਦੀ ਇੱਕ ਪੱਟੀ ਸ਼ਾਮਲ ਕੀਤੀ ਗਈ ਹੈ। ਤੁਸੀਂ ਸਿਰਲੇਖ ਕਿੱਥੇ ਸਥਾਪਿਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਅਤੇ ਕਿਸ ਪਾਸੇ ਵਰਤੋਂ 'ਤੇ ਥੋੜ੍ਹਾ ਨਿਰਭਰ ਕਰਦਾ ਹੈ:
- ਲਈ ਰੋਟੀ ਦਾ ਬੋਰਡ (http://adafru.it/239) ਦੀ ਵਰਤੋਂ ਕਰੋ, ਬੋਰਡ ਦੇ ਹੇਠਾਂ ਸਿਰਲੇਖਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ।
- ਨਾਲ ਵਰਤਣ ਲਈ ਜੰਪਰ ਤਾਰਾਂ (http://adafru.it/758), ਬੋਰਡ ਦੇ ਸਿਖਰ 'ਤੇ ਸਿਰਲੇਖਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ।
- ਸਾਡੇ ਨਾਲ ਵਰਤਣ ਲਈ 6-ਪਿੰਨ ਕੇਬਲ (http://adafru.it/206), ਬੋਰਡ ਦੇ ਸਿਖਰ 'ਤੇ ਸਿਰਲੇਖਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ।
- ਜੇਕਰ ਤੁਸੀਂ ਮਲਟੀਪਲ ਡਰਾਈਵਰ ਬੋਰਡਾਂ ਨੂੰ ਚੇਨ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਦੋਵਾਂ ਸਿਰਿਆਂ 'ਤੇ ਸਿਰਲੇਖ ਚਾਹੁੰਦੇ ਹੋ।
ਪਾਵਰ ਟਰਮੀਨਲ ਸਥਾਪਿਤ ਕਰੋ
- ਜੇਕਰ ਤੁਸੀਂ ਮਲਟੀਪਲ ਡਰਾਈਵਰ ਬੋਰਡਾਂ ਨੂੰ ਚੇਨ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਸਿਰਫ਼ ਪਹਿਲੇ 'ਤੇ ਪਾਵਰ ਟਰਮੀਨਲ ਦੀ ਲੋੜ ਹੈ।
ਇਸ ਨੂੰ ਹੁੱਕ ਕਰ ਰਿਹਾ ਹੈ
Arduino ਨਾਲ ਜੁੜ ਰਿਹਾ ਹੈ
- PWM/Servo ਡਰਾਈਵਰ I2C ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਇਸਲਈ ਇਹ ਤੁਹਾਡੇ Arduino ਨਾਲ ਜੁੜਨ ਲਈ ਸਿਰਫ 4 ਤਾਰਾਂ ਲੈਂਦਾ ਹੈ:
"ਕਲਾਸਿਕ" ਅਰਡਿਨੋ ਵਾਇਰਿੰਗ:
- +5v -> VCC (ਇਹ ਸਿਰਫ਼ ਬ੍ਰੇਕਆਊਟ ਲਈ ਪਾਵਰ ਹੈ, ਸਰਵੋ ਪਾਵਰ ਨਹੀਂ!)
- GND -> GND
- ਐਨਾਲਾਗ 4 -> SDA
- ਐਨਾਲਾਗ 5 -> SCL
ਪੁਰਾਣੀ ਮੈਗਾ ਵਾਇਰਿੰਗ:
- +5v -> VCC (ਇਹ ਸਿਰਫ਼ ਬ੍ਰੇਕਆਊਟ ਲਈ ਪਾਵਰ ਹੈ, ਸਰਵੋ ਪਾਵਰ ਨਹੀਂ!)
- GND -> GND
- ਡਿਜੀਟਲ 20 -> SDA
- ਡਿਜੀਟਲ 21 -> SCL
R3 ਅਤੇ ਬਾਅਦ ਵਿੱਚ Arduino ਵਾਇਰਿੰਗ (Uno, Mega & Leonardo):
(ਇਹਨਾਂ ਬੋਰਡਾਂ ਵਿੱਚ USB ਕਨੈਕਟਰ ਦੇ ਨੇੜੇ ਸਿਰਲੇਖ 'ਤੇ SDA ਅਤੇ SCL ਪਿੰਨ ਸਮਰਪਿਤ ਹਨ)
- +5v -> VCC (ਇਹ ਸਿਰਫ਼ ਬ੍ਰੇਕਆਊਟ ਲਈ ਪਾਵਰ ਹੈ, ਸਰਵੋ ਪਾਵਰ ਨਹੀਂ!)
- GND -> GND
- SDA -> SDA
- SCL -> SCL
VCC ਪਿੰਨ ਸਿਰਫ ਚਿੱਪ ਲਈ ਪਾਵਰ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ V+ ਪਿੰਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੇ ਸਰਵੋਜ਼ ਜਾਂ LEDs ਨੂੰ ਕਨੈਕਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ V+ ਪਿੰਨ ਨੂੰ ਵੀ ਕਨੈਕਟ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। V+ ਪਿੰਨ 6V ਤੱਕ ਉੱਚਾ ਹੋ ਸਕਦਾ ਹੈ ਭਾਵੇਂ VCC 3.3V ਹੋਵੇ (ਚਿੱਪ 5V ਸੁਰੱਖਿਅਤ ਹੈ)। ਅਸੀਂ ਨੀਲੇ ਟਰਮੀਨਲ ਬਲਾਕ ਰਾਹੀਂ ਪਾਵਰ ਨੂੰ ਜੋੜਨ ਦਾ ਸੁਝਾਅ ਦਿੰਦੇ ਹਾਂ ਕਿਉਂਕਿ ਇਹ ਪੋਲਰਿਟੀ-ਸੁਰੱਖਿਅਤ ਹੈ।
ਸਰਵੋਸ ਲਈ ਪਾਵਰ
ਜ਼ਿਆਦਾਤਰ ਸਰਵੋਜ਼ ਲਗਭਗ 5 ਜਾਂ 6v 'ਤੇ ਚੱਲਣ ਲਈ ਤਿਆਰ ਕੀਤੇ ਗਏ ਹਨ। ਇਹ ਗੱਲ ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ ਕਿ ਇੱਕੋ ਸਮੇਂ ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ ਸਰਵੋਜ਼ ਚਲਦੇ ਹਨ (ਖਾਸ ਤੌਰ 'ਤੇ ਵੱਡੇ ਸ਼ਕਤੀਸ਼ਾਲੀ) ਨੂੰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਕਰੰਟ ਦੀ ਲੋੜ ਹੋਵੇਗੀ। ਇੱਥੋਂ ਤੱਕ ਕਿ ਮਾਈਕ੍ਰੋ ਸਰਵੋਸ ਵੀ ਹਿਲਾਉਣ ਵੇਲੇ ਕਈ ਸੌ mA ਖਿੱਚੇਗਾ। ਕੁਝ ਉੱਚ-ਟਾਰਕ ਸਰਵੋਜ਼ ਲੋਡ ਅਧੀਨ ਹਰੇਕ 1A ਤੋਂ ਵੱਧ ਖਿੱਚਣਗੇ।
ਚੰਗੇ ਪਾਵਰ ਵਿਕਲਪ ਹਨ:
- 5v 2A ਸਵਿਚਿੰਗ ਪਾਵਰ ਸਪਲਾਈ (http://adafru.it/276)
- 5v 10A ਸਵਿਚਿੰਗ ਪਾਵਰ ਸਪਲਾਈ (http://adafru.it/658)
- 4xAA ਬੈਟਰੀ ਧਾਰਕ (http://adafru.it/830) - ਖਾਰੀ ਸੈੱਲਾਂ ਦੇ ਨਾਲ 6v. NiMH ਰੀਚਾਰਜ ਹੋਣ ਯੋਗ ਸੈੱਲਾਂ ਨਾਲ 4.8v.
- ਇੱਕ ਸ਼ੌਕ ਸਟੋਰ ਤੋਂ 4.8 ਜਾਂ 6v ਰੀਚਾਰਜ ਹੋਣ ਯੋਗ RC ਬੈਟਰੀ ਪੈਕ।
ਤੁਹਾਡੇ ਸਰਵੋਜ਼ ਨੂੰ ਪਾਵਰ ਦੇਣ ਲਈ Arduino 5v ਪਿੰਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚੰਗਾ ਵਿਚਾਰ ਨਹੀਂ ਹੈ। ਵਾਧੂ ਕਰੰਟ ਡਰਾਅ ਤੋਂ ਇਲੈਕਟ੍ਰੀਕਲ ਸ਼ੋਰ ਅਤੇ 'ਭੂਰੇ ਆਉਟ' ਤੁਹਾਡੇ ਅਰਡਿਊਨੋ ਨੂੰ ਅਨਿਯਮਤ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਨ, ਰੀਸੈਟ ਕਰਨ ਅਤੇ/ਜਾਂ ਓਵਰਹੀਟ ਕਰਨ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੇ ਹਨ।
ਥਰੂ-ਹੋਲ ਕੈਪੇਸੀਟਰ ਸਲਾਟ ਵਿੱਚ ਇੱਕ ਕੈਪੀਸੀਟਰ ਜੋੜਨਾ
ਸਾਡੇ ਕੋਲ ਇੱਕ ਇਲੈਕਟ੍ਰੋਲਾਈਟਿਕ ਕੈਪਸੀਟਰ ਵਿੱਚ ਸੋਲਡਰਿੰਗ ਲਈ PCB 'ਤੇ ਇੱਕ ਥਾਂ ਹੈ। ਤੁਹਾਡੀ ਵਰਤੋਂ ਦੇ ਆਧਾਰ 'ਤੇ, ਤੁਹਾਨੂੰ ਕੈਪੇਸੀਟਰ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ ਜਾਂ ਨਹੀਂ ਵੀ। ਜੇਕਰ ਤੁਸੀਂ ਪਾਵਰ ਸਪਲਾਈ ਤੋਂ ਬਹੁਤ ਸਾਰੇ ਸਰਵੋਜ਼ ਚਲਾ ਰਹੇ ਹੋ ਜੋ ਸਰਵੋਜ਼ ਦੇ ਹਿੱਲਣ 'ਤੇ ਬਹੁਤ ਘੱਟ ਜਾਂਦੀ ਹੈ, ਤਾਂ n * 100uF ਜਿੱਥੇ n ਸਰਵੋਜ਼ ਦੀ ਸੰਖਿਆ ਹੈ, ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਇੱਕ ਚੰਗੀ ਜਗ੍ਹਾ ਹੈ - ਜਿਵੇਂ ਕਿ 470 ਸਰਵੋਜ਼ ਲਈ 5uF ਜਾਂ ਇਸ ਤੋਂ ਵੱਧ। ਕਿਉਂਕਿ ਇਹ ਸਰਵੋ ਕਰੰਟ ਡਰਾਅ, ਹਰੇਕ ਮੋਟਰ 'ਤੇ ਟਾਰਕ, ਅਤੇ ਕਿਹੜੀ ਪਾਵਰ ਸਪਲਾਈ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਇੱਥੇ ਕੋਈ ਵੀ "ਇੱਕ ਮੈਜਿਕ ਕੈਪੇਸੀਟਰ ਵੈਲਯੂ" ਨਹੀਂ ਹੈ, ਅਸੀਂ ਸੁਝਾਅ ਦੇ ਸਕਦੇ ਹਾਂ ਕਿ ਅਸੀਂ ਕਿੱਟ ਵਿੱਚ ਇੱਕ ਕੈਪਸੀਟਰ ਕਿਉਂ ਸ਼ਾਮਲ ਨਹੀਂ ਕਰਦੇ ਹਾਂ।
ਸਰਵੋ ਨੂੰ ਕਨੈਕਟ ਕਰਨਾ
ਜ਼ਿਆਦਾਤਰ ਸਰਵੋ ਇੱਕ ਮਿਆਰੀ 3-ਪਿੰਨ ਮਾਦਾ ਕਨੈਕਟਰ ਦੇ ਨਾਲ ਆਉਂਦੇ ਹਨ ਜੋ ਸਰਵੋ ਡਰਾਈਵਰ ਦੇ ਸਿਰਲੇਖਾਂ ਵਿੱਚ ਸਿੱਧਾ ਪਲੱਗ ਕਰਦੇ ਹਨ। ਹੇਠਲੀ ਕਤਾਰ ਦੇ ਨਾਲ ਜ਼ਮੀਨੀ ਤਾਰ (ਆਮ ਤੌਰ 'ਤੇ ਕਾਲੇ ਜਾਂ ਭੂਰੇ) ਅਤੇ ਸਿਖਰ 'ਤੇ ਸਿਗਨਲ ਤਾਰ (ਆਮ ਤੌਰ 'ਤੇ ਪੀਲੀ ਜਾਂ ਚਿੱਟੀ) ਨਾਲ ਪਲੱਗ ਨੂੰ ਇਕਸਾਰ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਓ।
ਹੋਰ ਸਰਵੋਜ਼ ਜੋੜ ਰਿਹਾ ਹੈ
ਇੱਕ ਬੋਰਡ ਨਾਲ 16 ਸਰਵੋਜ਼ ਤੱਕ ਜੁੜੇ ਜਾ ਸਕਦੇ ਹਨ। ਜੇ ਤੁਹਾਨੂੰ 16 ਤੋਂ ਵੱਧ ਸਰਵੋਜ਼ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਅਗਲੇ ਪੰਨੇ 'ਤੇ ਦੱਸੇ ਅਨੁਸਾਰ ਵਾਧੂ ਬੋਰਡਾਂ ਨੂੰ ਜੰਜ਼ੀਰਾਂ ਨਾਲ ਬੰਨ੍ਹਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਚੇਨਿੰਗ ਡਰਾਈਵਰ
- ਮਲਟੀਪਲ ਡ੍ਰਾਈਵਰਾਂ (62 ਤੱਕ) ਨੂੰ ਅਜੇ ਵੀ ਹੋਰ ਸਰਵੋਜ਼ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਚੇਨ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
- ਬੋਰਡ ਦੇ ਦੋਵਾਂ ਸਿਰਿਆਂ 'ਤੇ ਸਿਰਲੇਖਾਂ ਦੇ ਨਾਲ, ਵਾਇਰਿੰਗ ਏ ਨੂੰ ਜੋੜਨ ਜਿੰਨੀ ਹੀ ਸਧਾਰਨ ਹੈ 6-ਪਿੰਨ ਸਮਾਨਾਂਤਰ ਕੇਬਲ (http://adafru.it/206) ਇੱਕ ਬੋਰਡ ਤੋਂ ਅਗਲੇ ਤੱਕ।
ਬੋਰਡਾਂ ਨੂੰ ਸੰਬੋਧਨ ਕਰਦੇ ਹੋਏ
- ਚੇਨ ਵਿੱਚ ਹਰੇਕ ਬੋਰਡ ਨੂੰ ਇੱਕ ਵਿਲੱਖਣ ਪਤਾ ਨਿਰਧਾਰਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ ਬੋਰਡ ਦੇ ਉੱਪਰਲੇ ਸੱਜੇ ਕਿਨਾਰੇ 'ਤੇ ਐਡਰੈੱਸ ਜੰਪਰਾਂ ਨਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਹਰੇਕ ਬੋਰਡ ਲਈ I2C ਅਧਾਰ ਪਤਾ 0x40 ਹੈ। ਬਾਈਨਰੀ ਐਡਰੈੱਸ ਜੋ ਤੁਸੀਂ ਐਡਰੈੱਸ ਜੰਪਰਾਂ ਨਾਲ ਪ੍ਰੋਗਰਾਮ ਕਰਦੇ ਹੋ, ਬੇਸ I2C ਐਡਰੈੱਸ ਨਾਲ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ।
- ਐਡਰੈੱਸ ਆਫਸੈੱਟ ਨੂੰ ਪ੍ਰੋਗਰਾਮ ਕਰਨ ਲਈ, ਪਤੇ ਵਿੱਚ ਹਰੇਕ ਬਾਈਨਰੀ '1' ਲਈ ਅਨੁਸਾਰੀ ਐਡਰੈੱਸ ਜੰਪਰ ਨੂੰ ਬ੍ਰਿਜ ਕਰਨ ਲਈ ਸੋਲਡਰ ਦੀ ਇੱਕ ਬੂੰਦ ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਬੋਰਡ 0: ਪਤਾ = 0x40 ਔਫਸੈੱਟ = ਬਾਈਨਰੀ 00000 (ਕੋਈ ਜੰਪਰ ਦੀ ਲੋੜ ਨਹੀਂ)
- ਬੋਰਡ 1: ਪਤਾ = 0x41 ਔਫਸੈੱਟ = ਬਾਈਨਰੀ 00001 (ਉਪਰੋਕਤ ਫੋਟੋ ਵਿੱਚ ਬ੍ਰਿਜ A0)
- ਬੋਰਡ 2: ਪਤਾ = 0x42 ਔਫਸੈੱਟ = ਬਾਈਨਰੀ 00010 (ਬ੍ਰਿਜ A1)
- ਬੋਰਡ 3: ਪਤਾ = 0x43 ਔਫਸੈੱਟ = ਬਾਈਨਰੀ 00011 (ਬ੍ਰਿਜ A0 ਅਤੇ A1)
- ਬੋਰਡ 4: ਪਤਾ = 0x44 ਔਫਸੈੱਟ = ਬਾਈਨਰੀ 00100 (ਬ੍ਰਿਜ A2)
ਆਦਿ
ਤੁਹਾਡੇ ਸਕੈਚ ਵਿੱਚ, ਤੁਹਾਨੂੰ ਹਰੇਕ ਬੋਰਡ ਲਈ ਇੱਕ ਵੱਖਰੇ ਪ੍ਰੋਜੈਕਟ ਦਾ ਐਲਾਨ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ। ਕਾਲ ਹਰੇਕ ਵਸਤੂ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਹਰੇਕ ਸਰਵੋ ਨੂੰ ਉਸ ਵਸਤੂ ਦੁਆਰਾ ਨਿਯੰਤਰਿਤ ਕਰਦੀ ਹੈ ਜਿਸ ਨਾਲ ਇਹ ਜੁੜਿਆ ਹੋਇਆ ਹੈ। ਸਾਬਕਾ ਲਈampLe:
ਐਡਫਰੂਟ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
- ਕਿਉਂਕਿ PWM ਸਰਵੋ ਡ੍ਰਾਈਵਰ ਨੂੰ I2C ਉੱਤੇ ਨਿਯੰਤਰਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਇਸਦੀ ਵਰਤੋਂ ਕਿਸੇ ਵੀ ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਜਾਂ ਮਾਈਕ੍ਰੋ ਕੰਪਿਊਟਰ ਨਾਲ ਕਰਨਾ ਬਹੁਤ ਆਸਾਨ ਹੈ।
- ਇਸ ਡੈਮੋ ਵਿੱਚ, ਅਸੀਂ ਇਸਨੂੰ Arduino IDE ਨਾਲ ਵਰਤਦੇ ਹੋਏ ਦਿਖਾਵਾਂਗੇ ਪਰ C++ ਕੋਡ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਪੋਰਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
Adafruit PCA9685 ਲਾਇਬ੍ਰੇਰੀ ਸਥਾਪਿਤ ਕਰੋ
- ਸੈਂਸਰ ਡੇਟਾ ਨੂੰ ਪੜ੍ਹਨਾ ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਲੋੜ ਹੋਵੇਗੀ Adafruit_PWMServo ਲਾਇਬ੍ਰੇਰੀ (ਸਾਡੀ github ਰਿਪੋਜ਼ਟਰੀ 'ਤੇ ਕੋਡ) ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ (https://adafru.it/aQl). ਇਹ Arduino ਲਾਇਬ੍ਰੇਰੀ ਮੈਨੇਜਰ ਤੋਂ ਉਪਲਬਧ ਹੈ ਇਸਲਈ ਅਸੀਂ ਇਸਨੂੰ ਵਰਤਣ ਦੀ ਸਿਫਾਰਸ਼ ਕਰਦੇ ਹਾਂ।
- IDE ਤੋਂ ਲਾਇਬ੍ਰੇਰੀ ਮੈਨੇਜਰ ਨੂੰ ਖੋਲ੍ਹੋ…
- ਅਤੇ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ ਐਡਫਰੂਟ pwm ਟਾਈਪ ਕਰੋ। ਇੰਸਟਾਲ ਕਰੋ 'ਤੇ ਕਲਿੱਕ ਕਰੋ
- ਸਾਡੇ ਕੋਲ Arduino ਲਾਇਬ੍ਰੇਰੀ ਸਥਾਪਨਾ 'ਤੇ ਇੱਕ ਵਧੀਆ ਟਿਊਟੋਰਿਅਲ ਵੀ ਹੈ: http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use (https://adafru.it/aYM)
ਸਾਬਕਾ ਨਾਲ ਟੈਸਟample ਕੋਡ:
- ਪਹਿਲਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ Arduino IDE ਦੀਆਂ ਸਾਰੀਆਂ ਕਾਪੀਆਂ ਬੰਦ ਹਨ।
- ਅੱਗੇ Arduino IDE ਖੋਲ੍ਹੋ ਅਤੇ ਚੁਣੋ File-> ਸਾਬਕਾamples->Adafruit_PWMServoDriver->Servo. ਇਹ ਸਾਬਕਾ ਨੂੰ ਖੋਲ੍ਹ ਦੇਵੇਗਾample file ਇੱਕ IDE ਵਿੰਡੋ ਵਿੱਚ.
ਜੇਕਰ ਬ੍ਰੇਕਆਉਟ ਵਰਤ ਰਹੇ ਹੋ:
- ਡਰਾਈਵਰ ਬੋਰਡ ਅਤੇ ਸਰਵੋ ਨੂੰ ਕਨੈਕਟ ਕਰੋ ਜਿਵੇਂ ਕਿ ਪਿਛਲੇ ਪੰਨੇ 'ਤੇ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। Vin (3-5V ਤਰਕ ਪੱਧਰ) ਅਤੇ V+ (5V ਸਰਵੋ ਪਾਵਰ) ਦੋਵਾਂ ਨੂੰ ਪਾਵਰ ਪ੍ਰਦਾਨ ਕਰਨਾ ਨਾ ਭੁੱਲੋ। ਚੈੱਕ ਕਰੋ ਕਿ ਹਰੇ LED ਦੀ ਰੌਸ਼ਨੀ ਹੈ!
ਜੇਕਰ ਸ਼ੀਲਡ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ:
- ਆਪਣੇ Arduino ਵਿੱਚ ਢਾਲ ਲਗਾਓ। ਇਹ ਨਾ ਭੁੱਲੋ ਕਿ ਤੁਹਾਨੂੰ V+ ਟਰਮੀਨਲ ਬਲਾਕ ਨੂੰ 5V ਵੀ ਪ੍ਰਦਾਨ ਕਰਨਾ ਹੋਵੇਗਾ। ਲਾਲ ਅਤੇ ਹਰੇ LED ਦੋਵੇਂ ਜਗਾਉਣੇ ਚਾਹੀਦੇ ਹਨ।
ਜੇਕਰ ਇੱਕ FeatherWing ਵਰਤ ਰਹੇ ਹੋ:
- ਫੇਦਰਵਿੰਗ ਨੂੰ ਆਪਣੇ ਫੇਦਰ ਵਿੱਚ ਪਲੱਗ ਕਰੋ। ਇਹ ਨਾ ਭੁੱਲੋ ਕਿ ਤੁਹਾਨੂੰ V+ ਟਰਮੀਨਲ ਬਲਾਕ ਨੂੰ 5V ਵੀ ਪ੍ਰਦਾਨ ਕਰਨਾ ਹੋਵੇਗਾ। ਚੈੱਕ ਕਰੋ ਕਿ ਹਰੇ LED ਦੀ ਰੌਸ਼ਨੀ ਹੈ!
ਸਰਵੋ ਨਾਲ ਜੁੜੋ
- ਇੱਕ ਸਿੰਗਲ ਸਰਵੋ ਨੂੰ PWM #0 ਪੋਰਟ, ਪਹਿਲੀ ਪੋਰਟ ਵਿੱਚ ਪਲੱਗ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਸਰਵੋ ਨੂੰ ਲਗਭਗ 180 ਡਿਗਰੀ ਉੱਤੇ ਅੱਗੇ ਅਤੇ ਪਿੱਛੇ ਸਵੀਪ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
ਤੁਹਾਡੇ ਸਰਵੋਜ਼ ਨੂੰ ਕੈਲੀਬ੍ਰੇਟ ਕਰਨਾ
ਸਰਵੋ ਪਲਸ ਟਾਈਮਿੰਗ ਵੱਖ-ਵੱਖ ਬ੍ਰਾਂਡਾਂ ਅਤੇ ਮਾਡਲਾਂ ਵਿਚਕਾਰ ਵੱਖ-ਵੱਖ ਹੁੰਦੀ ਹੈ। ਕਿਉਂਕਿ ਇਹ ਇੱਕ ਐਨਾਲਾਗ ਨਿਯੰਤਰਣ ਸਰਕਟ ਹੈ, ਇਸਲਈ ਅਕਸਰ s ਵਿਚਕਾਰ ਕੁਝ ਪਰਿਵਰਤਨ ਹੁੰਦਾ ਹੈampਉਸੇ ਬ੍ਰਾਂਡ ਅਤੇ ਮਾਡਲ ਦੇ les. ਸਟੀਕ ਸਥਿਤੀ ਨਿਯੰਤਰਣ ਲਈ, ਤੁਸੀਂ ਸਰਵੋ ਦੀਆਂ ਜਾਣੀਆਂ ਗਈਆਂ ਸਥਿਤੀਆਂ ਨਾਲ ਮੇਲ ਕਰਨ ਲਈ ਆਪਣੇ ਕੋਡ ਵਿੱਚ ਘੱਟੋ ਘੱਟ ਅਤੇ ਵੱਧ ਤੋਂ ਵੱਧ ਪਲਸ ਚੌੜਾਈ ਨੂੰ ਕੈਲੀਬਰੇਟ ਕਰਨਾ ਚਾਹੋਗੇ।
ਘੱਟੋ-ਘੱਟ ਲੱਭੋ:
- ਸਾਬਕਾ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏample ਕੋਡ, SERVOMIN ਸੰਪਾਦਿਤ ਕਰੋ ਜਦੋਂ ਤੱਕ ਸਵੀਪ ਦਾ ਨੀਵਾਂ ਬਿੰਦੂ ਯਾਤਰਾ ਦੀ ਘੱਟੋ-ਘੱਟ ਸੀਮਾ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਜਾਂਦਾ। ਹੌਲੀ-ਹੌਲੀ ਇਸ ਤੱਕ ਪਹੁੰਚਣਾ ਅਤੇ ਯਾਤਰਾ ਦੀ ਸਰੀਰਕ ਸੀਮਾ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਰੁਕਣਾ ਸਭ ਤੋਂ ਵਧੀਆ ਹੈ।
ਵੱਧ ਤੋਂ ਵੱਧ ਲੱਭੋ:
- ਦੁਬਾਰਾ ਸਾਬਕਾ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏample ਕੋਡ, SERVOMAX ਨੂੰ ਸੰਪਾਦਿਤ ਕਰੋ ਜਦੋਂ ਤੱਕ ਸਵੀਪ ਦਾ ਉੱਚ ਬਿੰਦੂ ਯਾਤਰਾ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਸੀਮਾ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਜਾਂਦਾ। ਦੁਬਾਰਾ ਫਿਰ, ਹੌਲੀ ਹੌਲੀ ਇਸ ਤੱਕ ਪਹੁੰਚਣਾ ਅਤੇ ਯਾਤਰਾ ਦੀ ਸਰੀਰਕ ਸੀਮਾ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਰੁਕਣਾ ਸਭ ਤੋਂ ਵਧੀਆ ਹੈ।
SERVOMIN ਅਤੇ SERVOMAX ਨੂੰ ਐਡਜਸਟ ਕਰਦੇ ਸਮੇਂ ਸਾਵਧਾਨੀ ਵਰਤੋ। ਸਫ਼ਰ ਦੀਆਂ ਭੌਤਿਕ ਸੀਮਾਵਾਂ ਨੂੰ ਮਾਰਨਾ ਗੇਅਰਾਂ ਨੂੰ ਉਤਾਰ ਸਕਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਸਰਵੋ ਨੂੰ ਸਥਾਈ ਤੌਰ 'ਤੇ ਨੁਕਸਾਨ ਪਹੁੰਚਾ ਸਕਦਾ ਹੈ।
ਡਿਗਰੀ ਤੋਂ ਪਲਸ ਲੰਬਾਈ ਵਿੱਚ ਬਦਲਣਾ
ਦ Arduino “map()” ਫੰਕਸ਼ਨ (https://adafru.it/aQm) ਰੋਟੇਸ਼ਨ ਦੀਆਂ ਡਿਗਰੀਆਂ ਅਤੇ ਤੁਹਾਡੀ ਕੈਲੀਬਰੇਟਿਡ SERVOMIN ਅਤੇ SERVOMAX ਪਲਸ ਲੰਬਾਈ ਦੇ ਵਿਚਕਾਰ ਬਦਲਣ ਦਾ ਇੱਕ ਆਸਾਨ ਤਰੀਕਾ ਹੈ। 180 ਡਿਗਰੀ ਰੋਟੇਸ਼ਨ ਦੇ ਨਾਲ ਇੱਕ ਆਮ ਸਰਵੋ ਨੂੰ ਮੰਨਣਾ; ਇੱਕ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ SERVOMIN ਨੂੰ 0-ਡਿਗਰੀ ਸਥਿਤੀ ਅਤੇ SERVOMAX ਨੂੰ 180-ਡਿਗਰੀ ਸਥਿਤੀ ਵਿੱਚ ਕੈਲੀਬਰੇਟ ਕਰ ਲੈਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਕੋਡ ਦੀ ਹੇਠ ਦਿੱਤੀ ਲਾਈਨ ਦੇ ਨਾਲ 0 ਅਤੇ 180 ਡਿਗਰੀ ਦੇ ਵਿਚਕਾਰ ਕਿਸੇ ਵੀ ਕੋਣ ਨੂੰ ਅਨੁਸਾਰੀ ਪਲਸ ਲੰਬਾਈ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ:
ਲਾਇਬ੍ਰੇਰੀ ਸੰਦਰਭ ਸੈੱਟPWMFreq(freq)
ਵਰਣਨ
- ਇਸ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ PWM ਬਾਰੰਬਾਰਤਾ ਨੂੰ ਅਨੁਕੂਲ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ, ਜੋ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ ਕਿ IC ਦੁਆਰਾ ਪ੍ਰਤੀ ਸਕਿੰਟ ਕਿੰਨੀਆਂ ਪੂਰੀਆਂ 'ਪਲਸ' ਉਤਪੰਨ ਹੁੰਦੀਆਂ ਹਨ। ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਦੱਸਿਆ ਗਿਆ, ਬਾਰੰਬਾਰਤਾ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ ਕਿ ਹਰੇਕ ਨਬਜ਼ ਦੀ ਸ਼ੁਰੂਆਤ ਤੋਂ ਅੰਤ ਤੱਕ ਦੀ ਮਿਆਦ ਕਿੰਨੀ 'ਲੰਬੀ' ਹੈ, ਨਬਜ਼ ਦੇ ਉੱਚ ਅਤੇ ਨੀਵੇਂ ਦੋਹਾਂ ਹਿੱਸਿਆਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ।
- PWM ਵਿੱਚ ਬਾਰੰਬਾਰਤਾ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਕਿਉਂਕਿ ਇੱਕ ਬਹੁਤ ਹੀ ਛੋਟੇ ਡਿਊਟੀ ਚੱਕਰ ਦੇ ਨਾਲ ਬਾਰੰਬਾਰਤਾ ਨੂੰ ਬਹੁਤ ਜ਼ਿਆਦਾ ਸੈੱਟ ਕਰਨ ਨਾਲ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਹੋ ਸਕਦੀਆਂ ਹਨ, ਕਿਉਂਕਿ ਸਿਗਨਲ ਦਾ 'ਰਾਈਜ਼ ਟਾਈਮ' (ਜੋ ਸਮਾਂ 0V ਤੋਂ VCC ਤੱਕ ਜਾਣ ਵਿੱਚ ਲੱਗਦਾ ਹੈ) ਉਸ ਸਮੇਂ ਤੋਂ ਲੰਬਾ ਹੋ ਸਕਦਾ ਹੈ। ਸਿਗਨਲ ਕਿਰਿਆਸ਼ੀਲ ਹੈ, ਅਤੇ PWM ਆਉਟਪੁੱਟ ਨਿਰਵਿਘਨ ਦਿਖਾਈ ਦੇਵੇਗੀ ਅਤੇ VCC ਤੱਕ ਵੀ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦੀ, ਸੰਭਾਵੀ ਤੌਰ 'ਤੇ ਕਈ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕਰ ਸਕਦੀਆਂ ਹਨ।
ਦਲੀਲਾਂ
- freq: 40 ਅਤੇ 1600 ਦੇ ਵਿਚਕਾਰ, Hz ਵਿੱਚ ਬਾਰੰਬਾਰਤਾ ਨੂੰ ਦਰਸਾਉਂਦੀ ਇੱਕ ਸੰਖਿਆ
Example
- ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ PWM ਬਾਰੰਬਾਰਤਾ ਨੂੰ 1000Hz 'ਤੇ ਸੈੱਟ ਕਰੇਗਾ:
ਸੈੱਟPWM(ਚੈਨਲ, ਚਾਲੂ, ਬੰਦ)
ਵਰਣਨ
ਇਹ ਫੰਕਸ਼ਨ ਇੱਕ ਖਾਸ ਚੈਨਲ 'ਤੇ PWM ਪਲਸ ਦੇ ਉੱਚੇ ਹਿੱਸੇ ਦੀ ਸ਼ੁਰੂਆਤ (ਚਾਲੂ) ਅਤੇ ਅੰਤ (ਬੰਦ) ਸੈੱਟ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ 0..4095 ਦੇ ਵਿਚਕਾਰ 'ਟਿਕ' ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹੋ ਜਦੋਂ ਸਿਗਨਲ ਚਾਲੂ ਹੋਵੇਗਾ, ਅਤੇ ਇਹ ਕਦੋਂ ਬੰਦ ਹੋਵੇਗਾ। ਚੈਨਲ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ 16 PWM ਆਉਟਪੁੱਟਾਂ ਵਿੱਚੋਂ ਕਿਹੜੇ ਨਵੇਂ ਮੁੱਲਾਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤੇ ਜਾਣੇ ਚਾਹੀਦੇ ਹਨ।
ਦਲੀਲਾਂ
- ਚੈਨਲ: ਉਹ ਚੈਨਲ ਜਿਸ ਨੂੰ ਨਵੇਂ ਮੁੱਲਾਂ (0..15) ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
- ਚਾਲੂ: ਟਿਕ (0..4095 ਦੇ ਵਿਚਕਾਰ) ਜਦੋਂ ਸਿਗਨਲ ਨੂੰ ਨੀਵੇਂ ਤੋਂ ਉੱਚੇ ਵੱਲ ਬਦਲਣਾ ਚਾਹੀਦਾ ਹੈ
- ਬੰਦ: ਟਿੱਕ (0..4095 ਦੇ ਵਿਚਕਾਰ) ਜਦੋਂ ਸਿਗਨਲ ਉੱਚ ਤੋਂ ਨੀਵੇਂ ਵੱਲ ਬਦਲਣਾ ਚਾਹੀਦਾ ਹੈ
Example
ਹੇਠ ਦਿੱਤੇ ਸਾਬਕਾample ਚੈਨਲ 15 ਨੂੰ ਨੀਵਾਂ ਸ਼ੁਰੂ ਕਰਨ, ਨਬਜ਼ ਵਿੱਚ ਲਗਭਗ 25% ਉੱਚੇ ਜਾਣ (1024 ਵਿੱਚੋਂ 4096 'ਤੇ ਨਿਸ਼ਾਨ ਲਗਾਓ), ਨਬਜ਼ ਵਿੱਚ ਵਾਪਸ ਨੀਵੇਂ 75% (3072 'ਤੇ ਨਿਸ਼ਾਨ ਲਗਾਓ), ਅਤੇ ਨਬਜ਼ ਦੇ ਆਖਰੀ 25% ਤੱਕ ਘੱਟ ਰਹੇਗਾ। :
GPIO ਵਜੋਂ ਵਰਤ ਰਿਹਾ ਹੈ
- ਪਿੰਨ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਚਾਲੂ ਜਾਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਬੰਦ ਕਰਨ ਲਈ ਕੁਝ ਖਾਸ ਸੈਟਿੰਗਾਂ ਵੀ ਹਨ
Arduino ਲਾਇਬ੍ਰੇਰੀ ਦਸਤਾਵੇਜ਼
ਪਾਈਥਨ ਅਤੇ ਸਰਕਟ ਪਾਈਥਨ
- PCA9685 ਡਰਾਈਵਰ ਨੂੰ Python ਜਾਂ CircuitPython ਅਤੇ Adafruit ਨਾਲ ਵਰਤਣਾ ਆਸਾਨ ਹੈ CircuitPython PCA9685 (https://adafru.it/tZF) ਮੋਡੀਊਲ। ਇਹ ਮੋਡੀਊਲ ਤੁਹਾਨੂੰ ਆਸਾਨੀ ਨਾਲ ਪਾਈਥਨ ਕੋਡ ਲਿਖਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ ਜੋ ਇਸ ਬ੍ਰੇਕਆਉਟ ਨਾਲ ਸਰਵੋਸ ਅਤੇ PWM ਨੂੰ ਕੰਟਰੋਲ ਕਰਦਾ ਹੈ।
- ਤੁਸੀਂ ਇਸ ਡਰਾਈਵਰ ਬੋਰਡ ਨੂੰ ਕਿਸੇ ਵੀ CircuitPython ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਬੋਰਡ ਨਾਲ ਜਾਂ GPIO ਅਤੇ Python ਵਾਲੇ ਕੰਪਿਊਟਰ ਨਾਲ ਵਰਤ ਸਕਦੇ ਹੋ। Adafruit_Blinka ਦਾ ਧੰਨਵਾਦ, ਸਾਡੀ CircuitPython-for- Python ਅਨੁਕੂਲਤਾ ਲਾਇਬ੍ਰੇਰੀ (https://adafru.it/BSN).
CircuitPython ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਵਾਇਰਿੰਗ
ਪਹਿਲਾਂ ਆਪਣੇ ਬੋਰਡ 'ਤੇ PCA9685 ਨੂੰ ਤਾਰ ਦਿਓ ਜਿਵੇਂ ਕਿ Arduino ਲਈ ਪਿਛਲੇ ਪੰਨਿਆਂ 'ਤੇ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਇੱਥੇ ਇੱਕ ਸਾਬਕਾ ਹੈampI0C ਨਾਲ ਡਰਾਈਵਰ ਬੋਰਡ ਨੂੰ ਫੇਦਰ M2 ਦੀ ਵਾਇਰਿੰਗ:
ਪਾਈਥਨ ਕੰਪਿਊਟਰ ਵਾਇਰਿੰਗ
- ਕਿਉਂਕਿ ਇੱਥੇ ਦਰਜਨਾਂ ਲੀਨਕਸ ਕੰਪਿਊਟਰ/ਬੋਰਡ ਹਨ ਜੋ ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋ ਅਸੀਂ Raspberry Pi ਲਈ ਵਾਇਰਿੰਗ ਦਿਖਾਵਾਂਗੇ। ਹੋਰ ਪਲੇਟਫਾਰਮਾਂ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਇਹ ਦੇਖਣ ਲਈ ਕਿ ਤੁਹਾਡਾ ਪਲੇਟਫਾਰਮ ਸਮਰਥਿਤ ਹੈ ਜਾਂ ਨਹੀਂ, ਲੀਨਕਸ 'ਤੇ ਸਰਕੂਟਪਾਈਥਨ ਲਈ ਗਾਈਡ 'ਤੇ ਜਾਓ (https://adafru.it/BSN).
- I2C ਨਾਲ ਵਾਇਰਡ Raspberry Pi ਇੱਥੇ ਹੈ:
RasPi ਜਾਂ Linux ਬੋਰਡ ਦੀ 5V ਪਾਵਰ ਤੋਂ ਆਪਣੇ ਸਰਵੋਜ਼ ਨੂੰ ਪਾਵਰ ਦੇਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਨਾ ਕਰੋ, ਤੁਸੀਂ ਆਸਾਨੀ ਨਾਲ ਪਾਵਰ ਸਪਲਾਈ ਬਰਾਊਨ-ਆਊਟ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਤੁਹਾਡੇ Pi ਨੂੰ ਖਰਾਬ ਕਰ ਸਕਦੇ ਹੋ! ਇੱਕ ਵੱਖਰਾ 5v 2A ਜਾਂ 4A ਅਡਾਪਟਰ ਵਰਤੋ
- 5V 2A (2000mA) ਸਵਿਚਿੰਗ ਪਾਵਰ ਸਪਲਾਈ - UL ਸੂਚੀਬੱਧ
- ਇਹ ਇੱਕ FCC/CE ਪ੍ਰਮਾਣਿਤ ਅਤੇ UL-ਸੂਚੀਬੱਧ ਪਾਵਰ ਸਪਲਾਈ ਹੈ। 5V ਪਾਵਰ ਦੀ ਬਹੁਤ ਲੋੜ ਹੈ?
- ਇਹ ਸਵਿਚਿੰਗ ਸਪਲਾਈ 5mA ਤੱਕ ਇੱਕ ਸਾਫ਼ ਨਿਯੰਤ੍ਰਿਤ 2000V ਆਉਟਪੁੱਟ ਦਿੰਦੀ ਹੈ। 110 ਜਾਂ 240 ਇੰਪੁੱਟ, ਇਸ ਲਈ ਇਹ ਕੰਮ ਕਰਦਾ ਹੈ... https://www.adafruit.com/product/276
- 5V 4A (4000mA) ਸਵਿਚਿੰਗ ਪਾਵਰ ਸਪਲਾਈ - UL ਸੂਚੀਬੱਧ
- 5V ਪਾਵਰ ਦੀ ਬਹੁਤ ਲੋੜ ਹੈ? ਇਹ ਸਵਿਚਿੰਗ ਸਪਲਾਈ 5 ਤੱਕ ਇੱਕ ਸਾਫ਼ ਨਿਯੰਤ੍ਰਿਤ 4V ਆਉਟਪੁੱਟ ਦਿੰਦੀ ਹੈ Amps (4000mA)। 110 ਜਾਂ 240 ਇੰਪੁੱਟ, ਇਸਲਈ ਇਹ ਕਿਸੇ ਵੀ ਦੇਸ਼ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ। ਪਲੱਗ ਹਨ “ਯੂਐਸ… https://www.adafruit.com/product/1466
PCA9685 ਅਤੇ ਸਰਵੋਕਿਟ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਸਰਕਟਪਾਈਥਨ ਸਥਾਪਨਾ
- ਤੁਹਾਨੂੰ ਇੰਸਟਾਲ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ ਅਡਾਫਰੂਟ ਸਰਕਟ ਪਾਈਥਨ PCA9685 (https://adafru.it/tZF) ਤੁਹਾਡੇ CircuitPython ਬੋਰਡ 'ਤੇ ਲਾਇਬ੍ਰੇਰੀ.
- ਪਹਿਲਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਚਲਾ ਰਹੇ ਹੋ Adafruit CircuitPython ਦਾ ਨਵੀਨਤਮ ਸੰਸਕਰਣ (https://adafru.it/Amd) ਤੁਹਾਡੇ ਬੋਰਡ ਲਈ।
- ਅੱਗੇ ਤੁਹਾਨੂੰ ਹਾਰਡਵੇਅਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ - ਇਹਨਾਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਲੱਭਣ ਅਤੇ ਸਥਾਪਿਤ ਕਰਨ ਲਈ ਧਿਆਨ ਨਾਲ ਪੜਾਵਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ ਐਡਫਰੂਟ ਦਾ ਸਰਕਟ ਪਾਈਥਨ ਲਾਇਬ੍ਰੇਰੀ ਬੰਡਲ (https://adafru.it/uap). ਸਾਡੀ CircuitPython ਸਟਾਰਟਰ ਗਾਈਡ ਦਾ ਇੱਕ ਵਧੀਆ ਪੰਨਾ ਹੈ ਲਾਇਬ੍ਰੇਰੀ ਬੰਡਲ ਨੂੰ ਕਿਵੇਂ ਸਥਾਪਿਤ ਕਰਨਾ ਹੈe (https://adafru.it/ABU).
Trinket M0 ਜਾਂ Gemma M0 ਵਰਗੇ ਗੈਰ-ਐਕਸਪ੍ਰੈਸ ਬੋਰਡਾਂ ਲਈ, ਤੁਹਾਨੂੰ ਬੰਡਲ ਤੋਂ ਲੋੜੀਂਦੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਹੱਥੀਂ ਸਥਾਪਤ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ:
- adafruit_pca9685.mpy
- adafruit_bus_device
- adafruit_register
- adafruit_motor
- adafruit_servokit.mpy
ਜਾਰੀ ਰੱਖਣ ਤੋਂ ਪਹਿਲਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੇ ਬੋਰਡ ਦਾ lib ਫੋਲਡਰ ਜਾਂ ਰੂਟ ਹੈ fileਸਿਸਟਮ ਵਿੱਚ adafruit_pca9685.mpy, adafruit_register, ਅਤੇ adafruit_servokit.mpy, adafruit_motor ਅਤੇ adafruit_bus_device ਹੈ files ਅਤੇ ਫੋਲਡਰਾਂ ਦੀ ਨਕਲ ਕੀਤੀ ਗਈ।
ਅਗਲਾ ਬੋਰਡ ਦੇ ਸੀਰੀਅਲ REPL ਨਾਲ ਜੁੜੋ (https://adafru.it/Awz) ਤਾਂ ਤੁਸੀਂ CircuitPython >>> ਪ੍ਰੋਂਪਟ 'ਤੇ ਹੋ।
PCA9685 ਅਤੇ ਸਰਵੋਕਿਟ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਪਾਈਥਨ ਸਥਾਪਨਾ
ਤੁਹਾਨੂੰ Adafruit_Blinka ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਇੰਸਟਾਲ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ ਜੋ Python ਵਿੱਚ CircuitPython ਸਹਾਇਤਾ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ। ਇਸ ਲਈ ਤੁਹਾਡੇ ਪਲੇਟਫਾਰਮ 'ਤੇ I2C ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਅਤੇ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਦੀ ਵੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ ਕਿ ਤੁਸੀਂ Python 3 ਚਲਾ ਰਹੇ ਹੋ। ਕਿਉਂਕਿ ਹਰੇਕ ਪਲੇਟਫਾਰਮ ਥੋੜਾ ਵੱਖਰਾ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਲੀਨਕਸ ਅਕਸਰ ਬਦਲਦਾ ਹੈ, ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਕੰਪਿਊਟਰ ਨੂੰ ਤਿਆਰ ਕਰਨ ਲਈ ਲੀਨਕਸ ਗਾਈਡ 'ਤੇ CircuitPython 'ਤੇ ਜਾਓ। (https://adafru.it/BSN)!
- ਇੱਕ ਵਾਰ ਇਹ ਹੋ ਜਾਣ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਡੀ ਕਮਾਂਡ ਲਾਈਨ ਤੋਂ ਹੇਠ ਲਿਖੀਆਂ ਕਮਾਂਡਾਂ ਚਲਾਓ:
- ਜੇਕਰ ਤੁਹਾਡਾ ਡਿਫੌਲਟ ਪਾਈਥਨ ਸੰਸਕਰਣ 3 ਹੈ ਤਾਂ ਤੁਹਾਨੂੰ ਇਸਦੀ ਬਜਾਏ 'ਪਾਈਪ' ਚਲਾਉਣ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ। ਬਸ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ Python 2.x 'ਤੇ CircuitPython ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ ਕਰ ਰਹੇ ਹੋ, ਇਹ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ!
CircuitPython ਅਤੇ Python ਵਰਤੋਂ
- ਹੇਠਾਂ ਦਿੱਤਾ ਭਾਗ ਦਿਖਾਏਗਾ ਕਿ ਬੋਰਡ ਦੇ ਪਾਈਥਨ ਪ੍ਰੋਂਪਟ / REPL ਤੋਂ PCA9685 ਨੂੰ ਕਿਵੇਂ ਕੰਟਰੋਲ ਕਰਨਾ ਹੈ। ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡ ਵਿੱਚ ਟਾਈਪ ਕਰਕੇ ਸਰਵੋਜ਼ ਅਤੇ ਮੱਧਮ LEDs ਨੂੰ ਇੰਟਰਐਕਟਿਵ ਤਰੀਕੇ ਨਾਲ ਕੰਟਰੋਲ ਕਰਨਾ ਸਿੱਖੋਗੇ।
ਮੱਧਮ ਹੋਣ ਵਾਲੀਆਂ LEDs
ਲੋੜੀਂਦੇ ਮੋਡੀਊਲ ਨੂੰ ਆਯਾਤ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡ ਨੂੰ ਚਲਾਓ ਅਤੇ ਡਰਾਈਵਰ ਬੋਰਡ ਨਾਲ I2C ਕੁਨੈਕਸ਼ਨ ਸ਼ੁਰੂ ਕਰੋ:
- PCA9685 ਦੇ ਹਰੇਕ ਚੈਨਲ ਦੀ ਵਰਤੋਂ ਇੱਕ LED ਦੀ ਚਮਕ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। PCA9685 ਇੱਕ ਉੱਚ-ਸਪੀਡ PWM ਸਿਗਨਲ ਤਿਆਰ ਕਰਦਾ ਹੈ ਜੋ LED ਨੂੰ ਬਹੁਤ ਤੇਜ਼ੀ ਨਾਲ ਚਾਲੂ ਅਤੇ ਬੰਦ ਕਰਦਾ ਹੈ। ਜੇਕਰ LED ਨੂੰ ਬੰਦ ਕਰਨ ਤੋਂ ਜ਼ਿਆਦਾ ਦੇਰ ਤੱਕ ਚਾਲੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਇਹ ਤੁਹਾਡੀਆਂ ਅੱਖਾਂ ਨੂੰ ਚਮਕਦਾਰ ਦਿਖਾਈ ਦੇਵੇਗਾ।
- ਪਹਿਲਾਂ ਹੇਠਾਂ ਦਿੱਤੇ ਅਨੁਸਾਰ ਬੋਰਡ ਨੂੰ ਇੱਕ LED ਤਾਰ ਕਰੋ। ਨੋਟ ਕਰੋ ਕਿ ਤੁਹਾਨੂੰ LED ਦੁਆਰਾ ਕਰੰਟ ਨੂੰ ਸੀਮਿਤ ਕਰਨ ਲਈ ਇੱਕ ਰੋਧਕ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਨਹੀਂ ਹੈ ਕਿਉਂਕਿ PCA9685 ਕਰੰਟ ਨੂੰ ਲਗਭਗ 10mA ਤੱਕ ਸੀਮਤ ਕਰ ਦੇਵੇਗਾ:
LED ਕੈਥੋਡ / PCA9685 ਚੈਨਲ GND / ਜ਼ਮੀਨ ਨੂੰ ਛੋਟਾ ਲੱਤ. LED ਐਨੋਡ / PCA9685 ਚੈਨਲ PWM ਨੂੰ ਲੰਬੀ ਲੱਤ.
- PCA9685 ਕਲਾਸ PWM ਬਾਰੰਬਾਰਤਾ ਅਤੇ ਹਰੇਕ ਚੈਨਲ ਦੇ ਡਿਊਟੀ ਚੱਕਰ ਦਾ ਨਿਯੰਤਰਣ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਦੀ ਜਾਂਚ ਕਰੋ PCA9685 ਕਲਾਸ ਦਸਤਾਵੇਜ਼ (https://adafru.it/C5n) ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ।
- LED ਨੂੰ ਮੱਧਮ ਕਰਨ ਲਈ ਤੁਹਾਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਤੇਜ਼ PWM ਸਿਗਨਲ ਬਾਰੰਬਾਰਤਾ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ ਹੈ ਅਤੇ ਬਾਰੰਬਾਰਤਾ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਸੈੱਟ ਕਰਕੇ ਬੋਰਡ ਦੀ PWM ਬਾਰੰਬਾਰਤਾ ਨੂੰ 60hz 'ਤੇ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ:
- PCA9685 16 ਵੱਖਰੇ ਚੈਨਲਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ ਜੋ ਇੱਕ ਬਾਰੰਬਾਰਤਾ ਸਾਂਝਾ ਕਰਦੇ ਹਨ ਪਰ ਸੁਤੰਤਰ ਡਿਊਟੀ ਚੱਕਰ ਹੋ ਸਕਦੇ ਹਨ। ਇਸ ਤਰ੍ਹਾਂ ਤੁਸੀਂ ਵੱਖਰੇ ਤੌਰ 'ਤੇ 16 LED ਨੂੰ ਮੱਧਮ ਕਰ ਸਕਦੇ ਹੋ!
- PCA9685 ਆਬਜੈਕਟ ਵਿੱਚ ਇੱਕ ਚੈਨਲ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ ਜਿਸ ਵਿੱਚ ਹਰੇਕ ਚੈਨਲ ਲਈ ਇੱਕ ਆਬਜੈਕਟ ਹੈ ਜੋ ਡਿਊਟੀ ਚੱਕਰ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰ ਸਕਦਾ ਹੈ। ਵਿਅਕਤੀਗਤ ਚੈਨਲ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਚੈਨਲਾਂ ਵਿੱਚ ਇੰਡੈਕਸ ਕਰਨ ਲਈ [] ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਹੁਣ LED ਨਾਲ ਜੁੜੇ ਚੈਨਲ ਦੇ ਡਿਊਟੀ ਚੱਕਰ ਨੂੰ ਕੰਟਰੋਲ ਕਰਕੇ LED ਚਮਕ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ। ਡਿਊਟੀ ਚੱਕਰ ਦਾ ਮੁੱਲ ਇੱਕ 16-ਬਿੱਟ ਮੁੱਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਭਾਵ 0 ਤੋਂ 0xffff, ਜੋ ਕਿ ਸਿਗਨਲ ਦੇ ਚਾਲੂ ਬਨਾਮ ਬੰਦ ਦੇ ਸਮੇਂ ਦਾ ਕਿੰਨਾ ਪ੍ਰਤੀਸ਼ਤ ਦਰਸਾਉਂਦਾ ਹੈ। 0xffff ਦਾ ਮੁੱਲ 100% ਚਮਕ ਹੈ, 0 0% ਚਮਕ ਹੈ, ਅਤੇ ਵਿਚਕਾਰਲੇ ਮੁੱਲ 0% ਤੋਂ 100% ਚਮਕ ਤੱਕ ਜਾਂਦੇ ਹਨ।
- ਸਾਬਕਾ ਲਈample LED ਨੂੰ 0xffff ਦੇ ਡਿਊਟੀ ਚੱਕਰ ਨਾਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਚਾਲੂ ਕਰੋ:
- ਉੱਪਰ ਦਿੱਤੀ ਕਮਾਂਡ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਬਾਅਦ ਤੁਹਾਨੂੰ ਪੂਰੀ ਚਮਕ 'ਤੇ LED ਲਾਈਟ ਨੂੰ ਦੇਖਣਾ ਚਾਹੀਦਾ ਹੈ! ਹੁਣ 0 ਦੇ ਡਿਊਟੀ ਚੱਕਰ ਨਾਲ LED ਨੂੰ ਬੰਦ ਕਰੋ:
- 1000 ਦੇ ਵਿਚਕਾਰ ਮੁੱਲ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ:
- ਤੁਹਾਨੂੰ LED ਨੂੰ ਮੱਧਮ ਤੌਰ 'ਤੇ ਪ੍ਰਕਾਸ਼ਤ ਦੇਖਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ ਦੇਖਣ ਲਈ ਕਿ LED ਚਮਕ ਕਿਵੇਂ ਬਦਲਦੀ ਹੈ, ਹੋਰ ਡਿਊਟੀ ਚੱਕਰ ਮੁੱਲਾਂ ਨਾਲ ਪ੍ਰਯੋਗ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ!
- ਸਾਬਕਾ ਲਈampਡਿਊਟੀ_ਸਾਈਕਲ ਨੂੰ ਲੂਪ ਵਿੱਚ ਸੈੱਟ ਕਰਕੇ LED ਨੂੰ ਚਮਕਦਾਰ ਅਤੇ ਬੰਦ ਕਰੋ:
- ਇਹ ਲੂਪਸ ਲਈ ਕੁਝ ਸਮਾਂ ਲੈਂਦੇ ਹਨ ਕਿਉਂਕਿ 16-ਬਿੱਟ ਬਹੁਤ ਸਾਰੇ ਨੰਬਰ ਹੁੰਦੇ ਹਨ। ਲੂਪ ਨੂੰ ਚੱਲਣ ਤੋਂ ਰੋਕਣ ਅਤੇ REPL 'ਤੇ ਵਾਪਸ ਜਾਣ ਲਈ CTRL-C।
ਪੂਰਾ ਸਾਬਕਾampਲੇ ਕੋਡ
ਸਰਵੋਜ਼ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨਾ
- ਅਸੀਂ ਵੱਖ-ਵੱਖ PWM/Servo ਕਿੱਟਾਂ ਲਈ ਇੱਕ ਸੌਖਾ CircuitPython ਲਾਇਬ੍ਰੇਰੀ ਲਿਖੀ ਹੈ ਐਡਫਰੂਟ ਸਰਕਟ ਪਾਈਥਨ ਸਰਵੋਕਿਟ (https://adafru.it/Dpu) ਜੋ ਤੁਹਾਡੇ ਲਈ ਸਾਰੇ ਗੁੰਝਲਦਾਰ ਸੈੱਟਅੱਪ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਸਿਰਫ਼ ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ ਉਚਿਤ ਕਲਾਸ ਨੂੰ ਆਯਾਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਅਤੇ ਫਿਰ ਉਸ ਕਲਾਸ ਦੀਆਂ ਸਾਰੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਰਤੋਂ ਲਈ ਉਪਲਬਧ ਹਨ।
- ਅਸੀਂ ਤੁਹਾਨੂੰ ਇਹ ਦਿਖਾਉਣ ਜਾ ਰਹੇ ਹਾਂ ਕਿ ਕਿਵੇਂ ਸਰਵੋਕਿਟ ਕਲਾਸ ਨੂੰ ਆਯਾਤ ਕਰਨਾ ਹੈ ਅਤੇ ਐਡਫ੍ਰੂਟ 16-ਚੈਨਲ ਬ੍ਰੇਕਆਉਟ ਨਾਲ ਸਰਵੋ ਮੋਟਰਾਂ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਇਸਦਾ ਉਪਯੋਗ ਕਿਵੇਂ ਕਰਨਾ ਹੈ।
- ਜੇਕਰ ਤੁਸੀਂ ਸਰਵੋਜ਼ ਤੋਂ ਜਾਣੂ ਨਹੀਂ ਹੋ ਤਾਂ ਪਹਿਲਾਂ ਇਸਨੂੰ ਪੜ੍ਹਨਾ ਯਕੀਨੀ ਬਣਾਓ ਸਰਵੋਸ ਪੇਜ ਦੀ ਜਾਣ-ਪਛਾਣ (https://adafru.it/scW) ਅਤੇ ਇਹ ਵਿੱਚ-ਡੂੰਘਾਈ ਸਰਵੋ ਗਾਈਡ ਪੰਨਾ (https://adafru.it/scS).
- ਪਹਿਲਾਂ ਸਰਵੋ ਨੂੰ PCA0 'ਤੇ ਚੈਨਲ 9685 ਨਾਲ ਕਨੈਕਟ ਕਰੋ। ਇੱਥੇ ਇੱਕ ਸਾਬਕਾ ਹੈampਚੈਨਲ 0 ਨਾਲ ਜੁੜੇ ਸਰਵੋ ਦਾ le:
- ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ PCA5 ਬੋਰਡ ਲਈ ਬਾਹਰੀ 9685V ਪਾਵਰ ਸਪਲਾਈ ਨੂੰ ਵੀ ਚਾਲੂ ਜਾਂ ਪਲੱਗ ਕੀਤਾ ਹੋਇਆ ਹੈ!
- ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਸਰਵੋਕਿਟ ਕਲਾਸ ਨੂੰ ਆਯਾਤ ਅਤੇ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ। ਤੁਹਾਨੂੰ ਆਪਣੇ ਬੋਰਡ 'ਤੇ ਉਪਲਬਧ ਚੈਨਲਾਂ ਦੀ ਸੰਖਿਆ ਨਿਰਧਾਰਤ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। ਬ੍ਰੇਕਆਉਟ ਵਿੱਚ 16 ਚੈਨਲ ਹਨ, ਇਸਲਈ ਜਦੋਂ ਤੁਸੀਂ ਕਲਾਸ ਆਬਜੈਕਟ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ 16 ਨਿਰਧਾਰਤ ਕਰੋਗੇ।
- ਹੁਣ ਤੁਸੀਂ ਸਟੈਂਡਰਡ ਅਤੇ ਲਗਾਤਾਰ ਰੋਟੇਸ਼ਨ ਸਰਵੋਸ ਦੋਵਾਂ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਤਿਆਰ ਹੋ।
ਸਟੈਂਡਰਡ ਸਰਵੋਸ
- ਇੱਕ ਮਿਆਰੀ ਸਰਵੋ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਸਰਵੋ ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਚੈਨਲ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਤੁਸੀਂ ਫਿਰ ਕੋਣ ਨੂੰ ਕਈ ਡਿਗਰੀਆਂ 'ਤੇ ਸੈੱਟ ਕਰਕੇ ਅੰਦੋਲਨ ਨੂੰ ਕੰਟਰੋਲ ਕਰ ਸਕਦੇ ਹੋ।
- ਮੂਲ ਰੂਪ ਵਿੱਚ, ਸਰਵੋ ਕਲਾਸ ਐਕਚੁਏਸ਼ਨ ਰੇਂਜ, ਨਿਊਨਤਮ ਪਲਸ-ਚੌੜਾਈ, ਅਤੇ ਵੱਧ ਤੋਂ ਵੱਧ ਪਲਸ-ਚੌੜਾਈ ਮੁੱਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰੇਗੀ ਜੋ ਜ਼ਿਆਦਾਤਰ ਸਰਵੋ ਲਈ ਕੰਮ ਕਰਨੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਹਾਲਾਂਕਿ, ਸਰਵੋ ਕਲਾਸ ਦਸਤਾਵੇਜ਼ਾਂ ਦੀ ਜਾਂਚ ਕਰੋ (https://adafru.it/BNE) ਤੁਹਾਡੇ ਸਰਵੋਜ਼ ਲਈ ਤਿਆਰ ਸਿਗਨਲ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨ ਲਈ ਵਾਧੂ ਪੈਰਾਮੀਟਰਾਂ 'ਤੇ ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ।
- ਸਰਵੋ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਇੱਕ ਕੋਣ ਦੇ ਰੂਪ ਵਿੱਚ ਇੱਕ ਸਥਿਤੀ ਨਿਰਧਾਰਤ ਕਰਦੇ ਹੋ. ਕੋਣ ਹਮੇਸ਼ਾ 0 ਅਤੇ ਸਰਵੋ ਬਣਾਏ ਜਾਣ 'ਤੇ ਦਿੱਤੀ ਗਈ ਐਕਚੁਏਸ਼ਨ ਰੇਂਜ ਦੇ ਵਿਚਕਾਰ ਹੋਵੇਗਾ। ਡਿਫੌਲਟ 180 ਡਿਗਰੀ ਹੈ ਪਰ ਤੁਹਾਡੇ ਸਰਵੋ ਵਿੱਚ ਇੱਕ ਛੋਟਾ ਸਵੀਪ ਹੋ ਸਕਦਾ ਹੈ - ਉਪਰੋਕਤ ਸਰਵੋ ਕਲਾਸ ਸ਼ੁਰੂਆਤੀ ਵਿੱਚ actuation_angle ਪੈਰਾਮੀਟਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਕੇ ਕੁੱਲ ਕੋਣ ਨੂੰ ਬਦਲੋ।
- ਹੁਣ ਕੋਣ ਨੂੰ 180 'ਤੇ ਸੈੱਟ ਕਰੋ, ਸੀਮਾ ਦੀ ਇੱਕ ਹੱਦ:
- ਸਰਵੋ ਨੂੰ 0 ਡਿਗਰੀ 'ਤੇ ਵਾਪਸ ਕਰਨ ਲਈ:
- ਇੱਕ ਮਿਆਰੀ ਸਰਵੋ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਇੱਕ ਕੋਣ ਵਜੋਂ ਸਥਿਤੀ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਦੇ ਹੋ। ਕੋਣ ਹਮੇਸ਼ਾ 0 ਅਤੇ ਐਕਚੁਏਸ਼ਨ ਰੇਂਜ ਦੇ ਵਿਚਕਾਰ ਹੋਵੇਗਾ। ਡਿਫੌਲਟ 180 ਡਿਗਰੀ ਹੈ ਪਰ ਤੁਹਾਡੇ ਸਰਵੋ ਵਿੱਚ ਇੱਕ ਛੋਟਾ ਸਵੀਪ ਹੋ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ actuation_range ਸੈੱਟ ਕਰਕੇ ਕੁੱਲ ਕੋਣ ਬਦਲ ਸਕਦੇ ਹੋ।
- ਸਾਬਕਾ ਲਈample, ਐਕਚੁਏਸ਼ਨ ਰੇਂਜ ਨੂੰ 160 ਡਿਗਰੀ 'ਤੇ ਸੈੱਟ ਕਰਨ ਲਈ:
- ਅਕਸਰ ਇੱਕ ਵਿਅਕਤੀਗਤ ਸਰਵੋ ਦੁਆਰਾ ਪਛਾਣੀ ਜਾਣ ਵਾਲੀ ਰੇਂਜ ਦੂਜੇ ਸਰਵੋਜ਼ ਤੋਂ ਥੋੜੀ ਵੱਖਰੀ ਹੁੰਦੀ ਹੈ। ਜੇਕਰ ਸਰਵੋ ਪੂਰੀ ਉਮੀਦ ਕੀਤੀ ਰੇਂਜ ਨੂੰ ਸਵੀਪ ਨਹੀਂ ਕਰਦਾ ਹੈ, ਤਾਂ set_pulse_width_range(min_pulse, max_pulse) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਨਿਊਨਤਮ ਅਤੇ ਅਧਿਕਤਮ ਪਲਸ ਚੌੜਾਈ ਨੂੰ ਅਨੁਕੂਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।
- ਪਲਸ ਚੌੜਾਈ ਸੀਮਾ ਨੂੰ ਘੱਟੋ-ਘੱਟ 1000 ਅਤੇ ਵੱਧ ਤੋਂ ਵੱਧ 2000 'ਤੇ ਸੈੱਟ ਕਰਨ ਲਈ:
- PCA9685 ਬ੍ਰੇਕਆਉਟ, ਪਾਈਥਨ ਅਤੇ ਸਰਵੋਕਿਟ ਨਾਲ ਸਟੈਂਡਰਡ ਸਰਵੋਜ਼ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਇਹ ਸਭ ਕੁਝ ਹੈ!
ਲਗਾਤਾਰ ਰੋਟੇਸ਼ਨ ਸਰਵੋਜ਼
- ਇੱਕ ਨਿਰੰਤਰ ਰੋਟੇਸ਼ਨ ਸਰਵੋ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਸਰਵੋ ਚਾਲੂ ਹੋਣ ਵਾਲੇ ਚੈਨਲ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
- ਫਿਰ ਤੁਸੀਂ ਥ੍ਰੋਟਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅੰਦੋਲਨ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰ ਸਕਦੇ ਹੋ।
- ਸਾਬਕਾ ਲਈample, ਪੂਰੇ ਥ੍ਰੋਟਲ ਫਾਰਵਰਡਸ ਤੋਂ ਚੈਨਲ 1 ਨਾਲ ਜੁੜੇ ਨਿਰੰਤਰ ਰੋਟੇਸ਼ਨ ਸਰਵੋ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ:
- ਪੂਰੇ ਰਿਵਰਸ ਥ੍ਰੋਟਲ ਤੱਕ ਚੈਨਲ 1 ਨਾਲ ਜੁੜੇ ਨਿਰੰਤਰ ਰੋਟੇਸ਼ਨ ਸਰਵੋ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ:
- ਅੱਧਾ ਥ੍ਰੋਟਲ ਸੈੱਟ ਕਰਨ ਲਈ, ਦਸ਼ਮਲਵ ਦੀ ਵਰਤੋਂ ਕਰੋ:
- ਅਤੇ, ਲਗਾਤਾਰ ਰੋਟੇਸ਼ਨ ਸਰਵੋ ਅੰਦੋਲਨ ਨੂੰ ਰੋਕਣ ਲਈ ਥ੍ਰੋਟਲ ਨੂੰ 0 ਤੇ ਸੈੱਟ ਕਰੋ:
- PCA9685 16-ਚੈਨਲ ਬ੍ਰੇਕਆਉਟ, ਪਾਈਥਨ ਅਤੇ ਸਰਵੋਕਿਟ ਦੇ ਨਾਲ ਨਿਰੰਤਰ ਰੋਟੇਸ਼ਨ ਸਰਵੋਜ਼ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਇਹ ਸਭ ਕੁਝ ਹੈ!
ਪੂਰਾ ਸਾਬਕਾampਲੇ ਕੋਡ
ਪਾਈਥਨ ਡੌਕਸ
ਪਾਈਥਨ ਡੌਕਸ: ਸਰਵੋਕਿਟ
ਡਾਊਨਲੋਡ
Files
- PCA9685 ਡਾਟਾਸ਼ੀਟ (https://adafru.it/okB)
- Arduino ਡਰਾਈਵਰ ਲਾਇਬ੍ਰੇਰੀ (https://adafru.it/aQl)
- ਈਗਲਕੈਡ ਪੀਸੀਬੀ fileGitHub 'ਤੇ s (https://adafru.it/rME)
- GitHub 'ਤੇ 3D ਮਾਡਲ (https://adafru.it/19Bk)
- ਅਡਾਫ੍ਰੂਟ ਫ੍ਰਿਟਜ਼ਿੰਗ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਫ੍ਰਿਟਜ਼ਿੰਗ ਆਬਜੈਕਟ (https://adafru.it/aP3)
ਯੋਜਨਾਬੱਧ ਅਤੇ ਫੈਬਰੀਕੇਸ਼ਨ ਪ੍ਰਿੰਟ
ਛੇਕਾਂ ਦਾ ਵਿਆਸ 2.5mm ਹੁੰਦਾ ਹੈ
FAQ
- ਕੀ ਇਹ ਬੋਰਡ LED ਜਾਂ ਸਿਰਫ਼ ਸਰਵੋਜ਼ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ?
- ਇਹ LEDs ਦੇ ਨਾਲ ਨਾਲ ਕਿਸੇ ਵੀ ਹੋਰ PWM-ਯੋਗ ਡਿਵਾਈਸ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ!
- ਐਡਫਰੂਟ LED ਮੈਟ੍ਰਿਕਸ/7 ਸੇਗ ਬੈਕਪੈਕਸ ਨਾਲ ਇਸ ਸ਼ੀਲਡ ਨੂੰ ਜੋੜਨ ਵੇਲੇ ਮੈਨੂੰ ਅਜੀਬ ਸਮੱਸਿਆਵਾਂ ਆ ਰਹੀਆਂ ਹਨ
- PCA9865 ਚਿੱਪ ਵਿੱਚ 0x70 ਦਾ "ਆਲ ਕਾਲ" ਪਤਾ ਹੈ। ਇਹ ਕੌਂਫਿਗਰ ਕੀਤੇ ਪਤੇ ਤੋਂ ਇਲਾਵਾ ਹੈ। ਬੈਕਪੈਕ ਨੂੰ ਐਡਰੈੱਸ 0x71 ਜਾਂ ਡਿਫੌਲਟ 0x70 ਤੋਂ ਇਲਾਵਾ ਕਿਸੇ ਹੋਰ ਚੀਜ਼ 'ਤੇ ਸੈੱਟ ਕਰੋ ਤਾਂ ਜੋ ਸਮੱਸਿਆ ਨੂੰ ਦੂਰ ਕੀਤਾ ਜਾ ਸਕੇ।
- LEDs ਦੇ ਨਾਲ, ਮੈਂ LEDs ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਬੰਦ ਕਰਨ ਲਈ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕਦਾ?
- ਜੇਕਰ ਤੁਸੀਂ LEDs ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ (Arduino ਵਿੱਚ) PWM(pin, 0, 4096) ਸੈੱਟ ਕਰੋ; ਸੈੱਟ ਨਹੀਂ (ਪਿੰਨ, 0, 4095);
ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ
![]() |
CNCU PCA9685 ਸਰਵੋ ਡਰਾਈਵਰ i2C ਇੰਟਰਫੇਸ [pdf] ਹਦਾਇਤਾਂ PCA9685 ਸਰਵੋ ਡਰਾਈਵਰ i2C ਇੰਟਰਫੇਸ, PCA9685, ਸਰਵੋ ਡਰਾਈਵਰ i2C ਇੰਟਰਫੇਸ, ਡਰਾਈਵਰ i2C ਇੰਟਰਫੇਸ, i2C ਇੰਟਰਫੇਸ, ਇੰਟਰਫੇਸ |