Мазмуну:
- 1 -кадам: Телефонуңузда тиркеме түзүү
- 2 -кадам: PI даярдыгы
- 3 -кадам: Сиздин долбоорду түзүү
- 4 -кадам: MyProject.js
- 5 -кадам: Arduinoдогу MyProject
- 6 -кадам: Кабелдөө
- 7 -кадам: Болду
Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул окуу куралы сизге Arduino, Raspberry Pi жана Blynk тиркемеси менен тепкичтүү моторду кантип башкарууну көрсөтөт.
Жаңгактын кабыгында, колдонмо Raspberry Pi'ге виртуалдык пиндер аркылуу сурамдарды жөнөтөт, Pi андан кийин Arduino жана Arduinoго HIGH/LOW сигналын жөнөтөт, андан кийин тепкич мотору менен иштейт.
Менин оюмча, бул ыкманы колдонуу оңой, анткени көпчүлүк адамдар Raspberry Piдеги node.js менен эмес, Arduino менен иштөөгө көнүп калышкан.
Бул үчүн керектүү компоненттер:
- Raspberry PI (мен Raspberry Pi 3 моделин б колдонуп жатам)
- Arduino (Мен Arduino Nano колдонуп жатам)
- Servo Motor (мен анын контроллери менен 28BYJ-48 5VDC колдонуп жатам)
- Кээ бир секирүүчү зымдар
- Кубат булагы (5VDC 2A.)
Arduino эскизи жана Node.js кодун жүктөп алууга болот. Файлдарды карап көрүңүз.
1 -кадам: Телефонуңузда тиркеме түзүү
Blynkти AppStore же GooglePlayден жүктөп алыңыз
Колдонмону ачып, колдонуучу түзүңүз же Facebook менен кириңиз.
- Жаңы долбоор түзүү
Долбооруңузга ат коюңуз: MyProject
Түзмөктү тандоо: Rasapberry Pi 3 B.
Байланыш түрү: Wifi (же Ethernet, эгер сиздин пиңиз тармагыңызга туташтырылган болсо)
- Түзүүнү чыкылдатыңыз
Токениңиз үчүн электрондук почтаңызды текшериңиз
(окшош 3aa19bb8a9e64c90af11e3f6b0595b3c)
Бул Токен учурдагы колдонмоңуз менен байланыштырылган. Эгерде сиз башка колдонмо жасасаңыз, анда сиз башка токенди жаратасыз.
Колдонмого төмөнкү виджеттерди кошуңуз (сүрөттү караңыз)
- 3 баскычты кошуу
- 1 ЖК кошуу
- Баскычты түзөтүңүз
биринчисин Command1 деп атоо, пинти виртуалдык пин 1 деп коюу жана режимди SWITCH деп коюу
экинчисине CW деп атоо, пинти виртуалдык пин 2 деп коюу жана режимди PUSH деп коюу
үчүнчүсүнө CCW ат коюңуз, пинти виртуалдык пин 3 деп коюңуз жана режимди PUSH деп коюңуз
- ЖКны түзөтүңүз
Pinsти Virtual Pin 4 жана Virtual Pin 5 катары коюп, режимди PUSH деп коюңуз
2 -кадам: PI даярдыгы
Биринчиден, Node.jsти орнотушуңуз керек Node.jsти жаңыртуудан мурун, эски версияларын алып салууну унутпаңыз:
Терминалды ачыңыз жана териңиз
sudo apt-get тазалоо түйүн түйүндөрү
node.js -ysudo apt -get autoremove
Автоматтык Node.js орнотуу репозиторийлерди кошуу:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
Node.js орнотуу
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install-essential nodejs -y орнотуу
Node.js орнотулгандан кийин, Blynkти орнотуңуз
sudo npm blynk -library -g орнотуу
sudo npm onoff -g орнотуу
3 -кадам: Сиздин долбоорду түзүү
Каталогду (cd буйругу) pi каталогуна өзгөртүү менен баштаңыз
Терминалды ачыңыз жана териңиз:
cd/home/pi/
Андан кийин, сиздин долбоор турган каталогду түзүңүз
mkdir MyProject
Каталогду MyProject деп өзгөртүңүз, Терминалга төмөнкүлөрдү териңиз
CD MyProject
Каталогдун мазмунун текшериңиз (ал бош болушу керек). Жөн гана Терминалга төмөнкүлөрдү териңиз
ls
Андан кийин, долбоордун сүрөттөмөсүн түзүү үчүн төмөнкүлөрдү териңиз (package.json)
npm init
Жөн эле долбоордун атын, авторун, версиясын ж.б. жазыңыз …
Бул бүткөндөн кийин, Blynk китепканасын, onoff китепканасын жана системалык уйку китепканасын СИЗДИН долбооруңуздун каталогуна орнотуңуз. Терминалга төмөнкүлөрдү териңиз
npm blynk-library орнотуу-сактоо
npm onoff --save орнотуу
npm орнотуу system-sleep-сактоо
Акырында,.js файлыңызды түзүңүз (Бул жерде сиздин кодуңуз жайгашкан). Терминалга төмөнкүлөрдү териңиз
нано MyProject.js
Бул буйрукту аткаргандан кийин нано (терминалдык текст редактору) ачылат.
4 -кадам: MyProject.js
Нанодо төмөнкү код саптарын жазыңыз
var Blynk = талап кылуу ('blynk-library');
var AUTH = '******************'; БУЛ СИЗДИН ТОКЕНИҢИЗ
var blynk = new Blynk. Blynk (AUTH);
var Gpio = талап кылуу ('onoff'). Gpio,
command1 = new Gpio (18, 'out'), // Arduino D2ге туташат
commandCW = жаңы Gpio (23, 'out'), // Arduino D3 менен туташат
commandCCW = new Gpio (24, 'out'); // Arduino D4 менен туташат
var sleep = талап кылуу ('system-sleep');
var v1 = new blynk. VirtualPin (1); // бул колдонмодогу Command1 баскычы
var v2 = new blynk. VirtualPin (2); // бул колдонмодогу CW баскычы
var v3 = new blynk. VirtualPin (3); // бул колдонмодогу CCW баскычы
var v4 = new blynk. VirtualPin (4); // бул колдонмодогу сиздин LCD линияңыз 1
var v5 = new blynk. VirtualPin (5); // бул сиздин LCD линияңыз 2 колдонмодо
v1.on ('жазуу', функция (парам) // Колдонмодогу Command1 баскычын текшериңиз
{
if (param == 1) // Эгерде баскыч басылса (бул 1), анда төмөнкүлөрдү аткарыңыз
{
v4.write ("Аткаруу"); // ЖКнын биринчи сабына "Аткарылып жатат" деп жазыңыз
v5.write ("Буйрук"); // ЖКнын экинчи сабына "Command" деп жазыңыз
command1.writeSync (1); // GPIO18'ди (өзгөрмө команда1) 1ге (ЖОГОРУ) коюңуз
уйку (4000); // 4 секунд күтө туруңуз
command1.writeSync (0); // GPIO18'ди (ал өзгөрмө команда1) 0 (ТӨМӨН) кылып коюңуз
v4.write ("Бүттү"); // ЖКнын биринчи сабына "Бүттү" деп жазыңыз
v5.write (""); // ЖКнын экинчи сабына "" (эч нерсе) деп жаз
v1.write (0); // Command1 баскычына 0 жаз, ал аны OFF абалына кайтарат
}
});
v2.on ('write', function (param) // Колдонмодогу CW баскычын текшериңиз
{
if (param == 1) // Эгерде баскыч басылса (бул 1 болсо), анда төмөнкүлөрдү аткарыңыз
{
commandCW.writeSync (1); // GPIO23 (бул commandCW өзгөрмөлүү) 1ге (ЖОГОРУ) коюңуз
}
else if (param == 0) // Эгерде баскыч басылбаса (бул 0), анда төмөнкүлөрдү аткарыңыз
{
commadCW.writeSync (0); // GPIO23 (бул өзгөрмө commandCW) 0 (LOW)
}
});
v3.on ('write', function (param) // Колдонмодогу CCW баскычын текшериңиз
{
if (param == 1) // Эгерде баскыч басылса (бул 1 болсо), анда төмөнкүлөрдү аткарыңыз
{
commandCCW.writeSync (1); // GPIO24 (бул өзгөрмөлүү commandCCW) 1ге (Жогорку) коюңуз
}
else if (param == 0) // Эгерде баскыч басылбаса (бул 0), анда төмөнкүлөрдү аткарыңыз
{
commandCCW.writeSync (0); // GPIO24 (бул өзгөрмөлүү commandCCW) 1ге (Жогорку) коюңуз
}
});
Сактаңыз жана нанодон чыгыңыз
- CTRL+O сактоо үчүн
- CTRL+X басуу
Сиз Raspberry Pi менен бүттүңүз.
Эми аны текшерип көрүңүз, кандайдыр бир каталар барбы же жокпу (көбүнчө Typo каталары)
Муну текшерүү үчүн Терминалга төмөнкүлөрдү териңиз
түйүн MyProject.js
Сиз ушундай окшош чыгарууну алышыңыз керек
OnOff режими
Байланышуу: blynk-cloud.com 8441
SSL уруксаты…
Ыйгарым укуктуу
5 -кадам: Arduinoдогу MyProject
Макул, азыр бизде 2/3 иштер бүттү!
Эми биз жөн гана Arduino үчүн код жазышыбыз керек.
- Жаңы Arduino эскизин түзүңүз жана төмөнкү кодду териңиз.
#кошуу
32. КАДАМДАРДЫ_АПЕР_МОТОРДУН_РЕВОЛЮЦИЯСЫН аныктаңыз
#depine STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048
// Пин туташуулары 8, 9, 10, 11 пинге туташкан болушу керек
// In1, In2, In3, In4 мотор айдоочуларына
// Андан кийин бул жерге туура ырааттуулук үчүн 1-3-2-4 тизмеги менен пинтер киргизилет
Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
int Steps2Take;
int Command1;
int CommandCW;
int CommandCCW;
жараксыз орнотуу ()
{
pinMode (2, INPUT);
pinMode (3, INPUT);
pinMode (4, INPUT);
// (Stepper китепканасы казыктарды чыкма катары коёт)
}
боштук цикл ()
{
Command1 = digitalRead (2);
CommandCW = digitalRead (3);
CommandCCW = digitalRead (4);
эгер (Command1 == 0)
{
//эч нерсе кылбоо
}
башка
{
ExecutionFunction ();
}
эгер (CommandCW == 1)
{
Small_stepper.setSpeed (700);
small_stepper.step (-1);
кечигүү (1);
}
эгер (CommandCCW == 1)
{
Small_stepper.setSpeed (700);
Small_stepper.step (1);
кечигүү (1);
}
}
жараксыз ExecutionFunction ()
{
Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // CCWти 1/4 айландыруу
Small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // Сиз Steps2Take'ти 0 менен 2048 ортосундагы каалаган маани менен алмаштыра аласыз
кечигүү (500);
Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // CW 1/4 айлантуу
Small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // Сиз Steps2Take'ти 0 менен 2048 ортосундагы каалаган маани менен алмаштыра аласыз
кечигүү (2000);
}
Түзүңүз жана Arduinoго жүктөңүз.
Эми баарын туура туташтырганыңызды текшериңиз! Электр өткөргүчтөрүнүн кийинки кадамын караңыз.
6 -кадам: Кабелдөө
Arduino D3'ти RaspberryPi GPIO18ге туташтырыңыз (ал чынында 12 -пин)
Arduino D4ти RaspberryPi GPIO23ке туташтырыңыз (бул чындыгында 16 -пин)
Arduino D4ти RaspberryPi GPIO24ке туташтырыңыз (бул чындыгында 18 -пин)
Arduino GNDди RaspberryPi GNDге туташтыруу (пин 6)
Arduino D8ди Stepper Controller In1ге туташтырыңыз
Arduino D9ду Step2 Controller In2ге туташтырыңыз
Arduino D10ду Stepper Controller In3 менен туташтырыңыз
Arduino D11ди Step4 Controller In4 менен туташтырыңыз
5VDCди Arduino, Raspberry Pi жана Stepper Controller менен туташтырыңыз
7 -кадам: Болду
Видеону текшериңиз, жана сиз бүтүрүшүңүз керек!
Рахмат жана ырахат алыңыз!
Сунушталууда:
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: Мен бул блогумда кызыктуу долбоорлордун топтомунда бул Rapsberry PI колдонууну пландап жатам. Аны текшерүүдөн тартынбаңыз. Мен Raspberry PIди колдонууну каалагам, бирок жаңы жерде клавиатура же чычкан жок болчу. Мен Raspberry орнотконума бир топ убакыт болду
Stepper мотору менен башкарылуучу локомотив модели - Ротари Encoder катары Step Motor: 11 кадам (Сүрөттөр менен)
Stepper мотору менен башкарылуучу локомотив модели | Stepper мотору ротациялык кодер катары: Мурунку көрсөтмөлөрдүн биринде, биз тепкичтүү моторду айлануучу коддогуч катары кантип колдонууну үйрөндүк. Бул долбоордо биз азыр Arduino микроконтроллерин колдонуп, тепловоздун моделин башкаруу үчүн ошол тепкичтүү мотор айлануучу коддогучту колдонобуз. Ошентип, фу жок
Ротациялык Ок менен Объект Көз салуу Камерасынын Слайдери. 3D Printed & RoboClaw DC Motor Controller & Arduino боюнча курулган: 5 кадам (Сүрөттөр менен)
Ротациялык Ок менен Объект Көз салуу Камерасынын Слайдери. 3D Printed & RoboClaw DC Motor Controller & Arduino боюнча курулган: Бул долбоор менин DIY менен видео тартууга болгон кызыгуумду айкалыштыра баштагандан бери менин эң жакшы көргөн долбоорлорумдун бири болуп калды. Мен ар дайым карап турчумун жана камераны экранды көздөй жылдыруу үчүн кинолорго окшоштургум келет
DIY робот колу 6 огу (Stepper Motors менен): 9 кадам (сүрөттөр менен)
DIY Robot Arm 6 Axis (Stepper Motors менен): Бир жылдан ашык изилдөөлөрдөн кийин, прототиптер жана ар кандай ийгиликсиздиктерден кийин мен темир / алюминий роботун 6 тепкичтүү моторлордун көзөмөлүндө башкара алдым. Мен 3 негизги максатка жетүүнү кааладым
Wi-Fi көзөмөлдөгөн FPV Rover роботу (Arduino, ESP8266 жана Stepper Motors менен): 11 кадам (Сүрөттөр менен)
Wi-Fi менен башкарылуучу FPV Rover роботу (Arduino, ESP8266 жана Stepper Motors менен): Бул көрсөтмө бир ESP8266 Wi-Fi модулуна туташкан Arduino Uno колдонуп, Wi-Fi тармагы аркылуу алыстан башкарылуучу эки дөңгөлөктүү роботту кантип иштеп чыгууну көрсөтөт. жана эки тепкичтүү мотор. Роботту кадимки интернет беттеринен башкарса болот