Indholdsfortegnelse:
- Trin 1: Oprettelse af appen på din telefon
- Trin 2: Gør PI klar
- Trin 3: Oprettelse af dit projekt
- Trin 4: MyProject.js
- Trin 5: MyProject i Arduino
- Trin 6: Ledningsføring
- Trin 7: Det er det
Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Denne vejledning viser dig, hvordan du styrer en trinmotor med en Arduino, en Raspberry Pi og Blynk -applikationen.
I en nøddeskal sender appen anmodninger til Raspberry Pi via Virtual Pins, Pi sender derefter HIGH/LOW signal til Arduino, og Arduino behandler derefter trinmotoren.
Jeg tror, at det er lettere at bruge denne godkendelse, da de fleste mennesker er vant til at arbejde med Arduino og ikke meget med node.js på Raspberry Pi.
Nødvendige komponenter til dette:
- Raspberry PI (jeg bruger Raspberry Pi 3 model b)
- Arduino (jeg bruger en Arduino Nano)
- Servomotor (jeg bruger en 28BYJ-48 5VDC med sin controller)
- Nogle jumperwires
- Strømkilde (5VDC 2A.)
Arduino -skitsen og Node.js -koden kan downloades. Bare søg filerne.
Trin 1: Oprettelse af appen på din telefon
Download Blynk fra AppStore eller GooglePlay
Åbn appen, og opret en bruger, eller log ind med facebook.
- Opret et nyt projekt
Navngiv dit projekt: MyProject
Vælg enhed: Rasapberry Pi 3 B
Forbindelsestype: Wifi (eller Ethernet, hvis din Pi er tilsluttet dit netværk)
- Klik på Opret
Tjek din e -mail for dit Token
(ligner denne 3aa19bb8a9e64c90af11e3f6b0595b3c)
Dette Token er knyttet til din nuværende app. Hvis du laver en anden app, genererer du et andet token.
Tilføj følgende widgets i appen (se billede)
- Tilføj 3 knapper
- Tilføj 1 LCD
- Rediger knappen
navngiv den første Kommando1, indstil Pin som Virtual Pin 1 og indstil Mode som SWITCH
navngiv den anden CW, indstil Pin som Virtual Pin 2 og indstil Mode som PUSH
navngiv den tredje CCW, indstil Pin som Virtual Pin 3 og indstil Mode som PUSH
- Rediger LCD -skærmen
indstil Pins som Virtual Pin 4 og Virtual Pin 5 og indstil Mode til PUSH
Trin 2: Gør PI klar
Først skal du installere Node.js. Før du opdaterer Node.js, skal du sørge for at fjerne gamle versioner:
Åbn Terminal og skriv
sudo apt-get purge node nodejs
node.js -ysudo apt -get autoremove
Automatisk Node.js -installation Tilføj lagre:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
Installer Node.js
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install build-essential nodejs -y
Når Node.js er installeret, skal du installere Blynk
sudo npm installer blynk -library -g
sudo npm install onoff -g
Trin 3: Oprettelse af dit projekt
Start med at ændre bibliotek (cd -kommando) til pi -biblioteket
Åbn Terminal og skriv:
cd/home/pi/
Opret derefter et bibliotek, hvor dit projekt vil ligge
mkdir MyProject
Skift bibliotek til MyProject, skriv følgende i Terminalen
cd MyProject
Kontroller telefonens indhold (det skal være tomt). Indtast blot følgende i Terminalen
ls
Skriv derefter følgende for at oprette din projektbeskrivelse (package.json)
npm init
Skriv bare projektnavn, forfatter, version osv …
Når dette er gjort, skal du installere Blynk-biblioteket, onoff-biblioteket og system-sleep-biblioteket i DIT projektkatalog. Indtast følgende i din Terminal
npm installer blynk-library --save
npm installer onoff --save
npm installer system-sleep-gem
Til sidst skal du oprette din.js -fil (det er her din kode vil opholde sig). Indtast følgende i terminalen
nano MyProject.js
Når du har udført denne kommando, åbnes nano (terminal tekst editor).
Trin 4: MyProject.js
I nano skal du skrive følgende kodelinjer
var Blynk = require ('blynk-bibliotek');
var AUTH = '*******************'; DETTE ER DIN TOKEN
var blynk = ny Blynk. Blynk (AUTH);
var Gpio = require ('onoff'). Gpio,
command1 = ny Gpio (18, 'out'), // Vil blive forbundet til Arduino D2
commandCW = ny Gpio (23, 'out'), // Vil blive forbundet til Arduino D3
commandCCW = ny Gpio (24, 'out'); // Vil blive tilsluttet Arduino D4
var sleep = require ('system-sleep');
var v1 = ny blynk. VirtualPin (1); // dette er din Command1 -knap i appen
var v2 = ny blynk. VirtualPin (2); // dette er din CW -knap i appen
var v3 = ny blynk. VirtualPin (3); // dette er din CCW -knap i appen
var v4 = ny blynk. VirtualPin (4); // dette er din LCD -linje 1 i appen
var v5 = ny blynk. VirtualPin (5); // dette er din LCD -linje 2 i appen
v1.on ('skriv', funktion (param) // Søg efter kommando1 -knappen i appen
{
hvis (param == 1) // Hvis der trykkes på knappen (hvilket er 1), skal du gøre følgende
{
v4.write ("Udfører"); // Skriv "Executing" på LCD -skærmens første linje
v5.write ("Kommando"); // Skriv "Kommando" på LCD -skærmens anden linje
command1.writeSync (1); // Indstil GPIO18 (som er variabel kommando1) til 1 (HIGH)
søvn (4000); // Vent i 4 sekunder
command1.writeSync (0); // Indstil GPIO18 (som er variabel kommando1) til 0 (LAV)
v4.write ("Udført"); // Skriv "Udført" på LCD -skærmens første linje
v5.write (""); // Skriv "" (ingenting) på LCD -skærmens anden linje
v1.skriv (0); // Skriv 0 til din Command1 -knap, der nulstiller den til OFF -positionen
}
});
v2.on ('skriv', funktion (param) // Kontroller for CW -knappen i appen
{
hvis (param == 1) // Hvis der trykkes på knappen (hvilket er 1), skal du gøre følgende
{
commandCW.writeSync (1); // Indstil GPIO23 (som er variabel kommandoCW) til 1 (HIGH)
}
ellers hvis (param == 0) // Hvis der ikke trykkes på knappen (hvilket er 0), skal du gøre følgende
{
commadCW.writeSync (0); // Indstil GPIO23 (som er variabel kommandoCW) til 0 (LAV)
}
});
v3.on ('skriv', funktion (param) // Kontroller for CCW -knappen i appen
{
hvis (param == 1) // Hvis der trykkes på knappen (hvilket er 1), skal du gøre følgende
{
commandCCW.writeSync (1); // Indstil GPIO24 (som er variabel kommandoCCW) til 1 (HIGH)
}
ellers hvis (param == 0) // Hvis der ikke trykkes på knappen (hvilket er 0), skal du gøre følgende
{
commandCCW.writeSync (0); // Indstil GPIO24 (som er variabel kommandoCCW) til 1 (HIGH)
}
});
Gem det og afslut nano
- for at gemme CTRL+O
- for at afslutte CTRL+X
Du er færdig med Raspberry Pi.
Test det nu for at se, om der er nogen form for fejl (for det meste er typefejl)
For at teste det skal du blot skrive følgende i din terminal
node MyProject.js
Du bør få et output, der ser sådan ud
Til -slukket tilstand
Opretter forbindelse til: blynk-cloud.com 8441
SSL -godkendelse …
Autoriseret
Trin 5: MyProject i Arduino
Ok, så nu har vi 2/3 ting gennemført!
Nu mangler vi bare at skrive en kode til Arduino.
- Opret en ny Arduino -skitse og skriv følgende kode.
#omfatte
#define STEPS_PER_MOTOR_REVOLUTION 32
#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048
// Stiftforbindelserne skal være ben 8, 9, 10, 11 tilsluttet
// til Motor Driver In1, In2, In3, In4
// Derefter indtastes stifterne her i sekvensen 1-3-2-4 for korrekt sekventering
Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
int Steps2Take;
int Kommando1;
int CommandCW;
int CommandCCW;
ugyldig opsætning ()
{
pinMode (2, INPUT);
pinMode (3, INPUT);
pinMode (4, INPUT);
// (Stepper Library sætter pins som output)
}
hulrum ()
{
Command1 = digitalRead (2);
CommandCW = digitalRead (3);
CommandCCW = digitalRead (4);
hvis (Kommando1 == 0)
{
//gøre ingenting
}
andet
{
ExecutionFunction ();
}
hvis (CommandCW == 1)
{
small_stepper.setSpeed (700);
small_stepper.step (-1);
forsinkelse (1);
}
hvis (CommandCCW == 1)
{
small_stepper.setSpeed (700);
small_stepper.step (1);
forsinkelse (1);
}
}
void ExecutionFunction ()
{
Trin2Tag = STEPS_PER_OUTPUT_REVOLUTION / 4; // Drej CCW 1/4 omgang
small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // Du kan erstatte Steps2Take med en hvilken som helst værdi mellem 0 og 2048
forsinkelse (500);
Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Drej CW 1/4 omgang
small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // Du kan erstatte Steps2Take med en hvilken som helst værdi mellem 0 og 2048
forsinkelse (2000);
}
Kompilér og upload til din Arduino.
Sørg nu for at tilslutte alt korrekt! Se det næste trin for ledninger.
Trin 6: Ledningsføring
Tilslut Arduino D3 til RaspberryPi GPIO18 (som faktisk er pin 12)
Tilslut Arduino D4 til RaspberryPi GPIO23 (som faktisk er pin 16)
Tilslut Arduino D4 til RaspberryPi GPIO24 (som faktisk er pin 18)
Tilslut Arduino GND til RaspberryPi GND (pin 6)
Tilslut Arduino D8 til Stepper Controller In1
Tilslut Arduino D9 til Stepper Controller In2
Tilslut Arduino D10 til Stepper Controller In3
Tilslut Arduino D11 til Stepper Controller In4
Tilslut 5VDC til Arduino, Raspberry Pi og Stepper Controller
Trin 7: Det er det
Tjek videoen, og du skal være færdig!
Tak og nyd det!
Anbefalede:
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
DIY Stepper Motor Controller: 6 trin (med billeder)
DIY Stepper Motor Controller: Husk de DC -motorer, alt hvad du også skal gøre er at tilslutte de positive og negative fører til et batteri og holla det begynder at køre. Men da vi begyndte at lave mere komplekse projekter, ser disse DC -motorer ikke ud til at levere det, du har brug for … ja jeg mener
Wi-fi-styret FPV Rover Robot (med Arduino, ESP8266 og Stepper Motors): 11 trin (med billeder)
Wi-fi-styret FPV Rover Robot (med Arduino, ESP8266 og Stepper Motors): Denne instruktør viser, hvordan man designer en fjernstyret tohjulet robotrover over et wi-fi-netværk ved hjælp af en Arduino Uno tilsluttet et ESP8266 Wi-fi-modul og to trinmotorer. Robotten kan styres fra almindelige internetbrowsere
Touchscreen Vægmonteret Family Sync & Home Control Panel: 7 trin (med billeder)
Touchscreen Vægmonteret Family Sync & Home Control Panel: Vi har en kalender, der opdateres månedligt med begivenheder, men det udføres manuelt. Vi har også en tendens til at glemme ting, vi er løbet tør for eller andre mindre gøremål. I denne alder tænkte jeg, at det var meget lettere at have en synkroniseret kalender og notesbloktypesystem, der