Այսօր մենք SERob3 ղեկավարիչին կմիացնենք Arduino Uno եւ կփորձենք կարդալ նրա Pin-երը եւ տալ նրանց արժեքներ։
Մեզ անհրաժեշտ է․
1) SERob3 ղեկավարիչ (controller),
2) Arduino Uno,
3) 2 լեդ լույս՝ իրենց ռեզիստորներով,
4) լարեր,
5) փոփոխական ռեզիստոր,
6) գծին հետեւող սենսոր,
7) մակետային սալիկ (breadboard)՝ ըստ ցանկության:
Սխեման կարող եք հավաքել ըստ հետեւյալ նկարի
Տեսնել նկարը
Տեսնել նկարը
Սեղմեք այստեղ
Code: Select all
from SERob3 import pyfirmata
import time
board = pyfirmata.Arduino('/dev/ttyACM0')
Առաջին լույսին տալիս ենք «d:5:p», որտեղ «d»-ն նշանակում է թվային (digital), 5-ը Pin-ի համարն է, «p»՝ pwm, որը կարող է ստանալ 0-255 արժեք։
Երկրորդ լույսին, որը միացված է 6-րդ Pin-ին, տալիս ենք «d:6:օ», որտեղ «о» նշանակում է թվային (digital) output․ կարող է ունենալ 0 կամ 1 արժեքը։
Փոփոխական ռեզիստորի արժեքը կարդալու համար գրում ենք «a:0:i», որտեղ «а»-ն նշանակում է անալոգային, 0, Input` ներմուծում.
Սեղմեք այստեղ
Code: Select all
pin = board.get_pin('d:7:i')
led = board.get_pin('d:5:p')
led2 = board.get_pin('d:6:o')
potentiometer = board.get_pin('a:0:i')
Սեղմեք այստեղ
Code: Select all
i = pyfirmata.util.Iterator(board)
i.start()
Աշխատանքը հեշտացնելու համար տպում ենք գծին հետեւող սենսորից եւ փոփոխական ռեզիստորից ստացված արժեքները։
Առաջին լույսին տալիս ենք փոփոխական ռեզիստորից ստացված արժեք, իսկ երկրորդ լեդին՝ գծին հետեւող սենսորից ստացված արժեքը։
Սեղմեք այստեղ
Code: Select all
while True:
time.sleep(0.1)
print(pin.read())
print(potentiometer.read())
led.write(potentiometer.read())
led2.write(pin.read())
Code example:
Code: Select all
from SERob3 import pyfirmata
import time
board = pyfirmata.Arduino('/dev/ttyACM0')
pin = board.get_pin('d:7:i')
led = board.get_pin('d:5:p')
led2 = board.get_pin('d:6:o')
potentiometer = board.get_pin('a:0:i')
i = pyfirmata.util.Iterator(board)
i.start()
while True:
time.sleep(0.1)
print(pin.read())
print(potentiometer.read())
led.write(potentiometer.read())
led2.write(pin.read())
Տերմինալի հրամաններ
Code: Select all
cd projects
cd SERob3
sudo python2 ardpins.py
Հավելյալ ՝ viewtopic.php?f=8&t=32&sid=bb54feab3b41 ... eb098c916d