INHOUDSOPGAWE:
- Stap 1: skep die app op u telefoon
- Stap 2: Maak die PI gereed
- Stap 3: Skep u projek
- Stap 4: MyProject.js
- Stap 5: MyProject in Arduino
- Stap 6: Bedrading
- Stap 7: Dit is dit
Video: Framboos PI & Arduino - Blynk Stepper Control: 7 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Hierdie handleiding sal u wys hoe u 'n stappermotor kan beheer met 'n Arduino, 'n Raspberry Pi en die Blynk -toepassing.
In 'n neutedop stuur die app versoeke na die Raspberry Pi via virtuele penne, die Pi stuur dan 'n HOOG/LAAG sein na die Arduino en die Arduino handel dan oor die stapmotor.
Ek dink dat dit makliker is om die benadering te gebruik, aangesien die meeste mense gewoond is om met Arduino te werk en nie baie met node.js op die Raspberry Pi nie.
Hiervoor benodig u komponente:
- Framboos PI (ek gebruik die Raspberry Pi 3 model b)
- Arduino (ek gebruik 'n Arduino Nano)
- Servomotor (ek gebruik 'n 28BYJ-48 5VDC met sy kontroleerder)
- 'n Paar springdrade
- Kragbron (5VDC 2A.)
Die Arduino -skets en die Node.js -kode kan afgelaai word. Kyk net na die lêers.
Stap 1: skep die app op u telefoon
Laai Blynk af van die AppStore of GooglePlay
Maak die app oop en skep 'n gebruiker of meld aan met facebook.
- Skep 'n nuwe projek
Noem jou projek: MyProject
Kies toestel: Rasapberry Pi 3 B
Verbindingstipe: Wifi (of Ethernet as u Pi aan u netwerk gekoppel is)
- Klik op Skep
Kontroleer u e -pos vir u teken
(lyk so 3aa19bb8a9e64c90af11e3f6b0595b3c)
Hierdie teken is gekoppel aan u huidige app. As u 'n ander app doen, sal u 'n ander teken genereer.
Voeg die volgende widgets in die app (sien prent)
- Voeg 3 knoppies by
- Voeg 1 LCD by
- Wysig die knoppie
noem die eerste een Command1, stel die Pin as Virtual Pin 1 in en stel die Mode as SWITCH
noem die tweede CW, stel die pen as virtuele pen 2 in en stel die modus as PUSH
noem die derde CCW, stel die Pin as Virtual Pin 3 in en stel die Mode as PUSH
- Wysig die LCD
stel die penne in as Virtual Pin 4 en Virtual Pin 5 en stel die modus in op PUSH
Stap 2: Maak die PI gereed
Eerstens moet u Node.js. installeer Voordat u Node.js opdateer, moet u ou weergawes verwyder:
Maak Terminal oop en tik
sudo apt-get purge node nodejs
node.js -ysudo apt -get autoremove
Outomatiese Node.js -installasie Voeg bewaarplekke by:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
Installeer Node.js
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install build-essential nodejs -y
Sodra Node.js geïnstalleer is, installeer Blynk
sudo npm installeer blynk -library -g
sudo npm installeer onoff -g
Stap 3: Skep u projek
Begin deur die gids (cd -opdrag) na die pi -gids te verander
Maak terminale oop en tik:
cd/huis/pi/
Skep dan 'n gids waar u projek sal woon
mkdir MyProject
Verander gids na MyProject, tik die volgende in die Terminal
cd MyProject
Kontroleer die inhoud van die gids (dit moet leeg wees). Tik net die volgende in die Terminal
ls
Tik vervolgens die volgende om u projekbeskrywing te skep (package.json)
npm init
Tik net die projeknaam, outeur, weergawe, ens …
Sodra dit gedoen is, installeer die Blynk-biblioteek, die onoff-biblioteek en die stelsel-slaapbiblioteek in U projekgids. Tik die volgende in u terminale
npm installeer blynk-library --save
npm installeer onoff --save
npm installeer stelsel-slaap-stoor
Uiteindelik, skep u.js -lêer (dit is waar u kode geleë is). Tik die volgende in die Terminal
nano MyProject.js
Sodra u die opdrag uitgevoer het, sal nano (terminale teksredakteur) oopmaak.
Stap 4: MyProject.js
Skryf die volgende reëls kode in nano
var Blynk = require ('blynk-biblioteek');
var AUTH = '******************'; DIT IS JOU TEKEN
var blynk = nuwe Blynk. Blynk (AUTH);
var Gpio = require ('onoff'). Gpio,
command1 = nuwe Gpio (18, 'out'), // Sal gekoppel wees aan Arduino D2
commandCW = nuwe Gpio (23, 'uit'), // Sal gekoppel wees aan Arduino D3
commandCCW = nuwe Gpio (24, 'out'); // Sal gekoppel wees aan Arduino D4
var slaap = vereis ('stelsel-slaap');
var v1 = nuwe blynk. VirtualPin (1); // dit is u Command1 -knoppie in die app
var v2 = nuwe blynk. VirtualPin (2); // dit is u CW -knoppie in die app
var v3 = nuwe blynk. VirtualPin (3); // dit is u CCW -knoppie in die app
var v4 = nuwe blynk. VirtualPin (4); // dit is u LCD -lyn 1 in die app
var v5 = nuwe blynk. VirtualPin (5); // dit is u LCD -lyn 2 in die app
v1.on ('skryf', funksie (param) // Kyk vir die Command1 -knoppie in die app
{
if (param == 1) // As die knoppie ingedruk word (wat 1 is), doen dan die volgende
{
v4.write ("Uitvoer"); // Skryf "Uitvoer" op die eerste reël van die LCD
v5.write ("Command"); // Skryf "Command" op die tweede reël van die LCD
command1.writeSync (1); // Stel die GPIO18 (wat veranderlike opdrag1 is) op 1 (HOOG)
slaap (4000); // Wag vir 4 sekondes
command1.writeSync (0); // Stel die GPIO18 (wat veranderlike opdrag1 is) op 0 (LAAG)
v4.write ("Klaar"); // Skryf "Klaar" op die eerste reël van die LCD
v5.write (""); // Skryf "" (niks) op die tweede reël van die LCD
v1. skryf (0); // Skryf 0 op u Command1 -knoppie, wat dit terugstel na die OFF -posisie
}
});
v2.on ('skryf', funksie (param) // Kyk vir die CW -knoppie in die app
{
if (param == 1) // As die knoppie ingedruk word (wat 1 is), doen dan die volgende
{
commandCW.writeSync (1); // Stel die GPIO23 (wat veranderlike commandCW is) op 1 (HIGH)
}
anders as (param == 0) // As die knoppie nie ingedruk word nie (wat 0 is), doen dan die volgende
{
commadCW.writeSync (0); // Stel die GPIO23 (wat veranderlike commandCW is) op 0 (LOW)
}
});
v3.on ('skryf', funksie (param) // Kyk vir die CCW -knoppie in die app
{
if (param == 1) // As die knoppie ingedruk word (wat 1 is), doen dan die volgende
{
commandCCW.writeSync (1); // Stel die GPIO24 (wat veranderlike commandCCW is) op 1 (HIGH)
}
anders as (param == 0) // As die knoppie nie ingedruk word nie (wat 0 is), doen dan die volgende
{
commandCCW.writeSync (0); // Stel die GPIO24 (wat veranderlike commandCCW is) op 1 (HIGH)
}
});
Stoor dit en verlaat nano
- om CTRL+O te stoor
- om CTRL+X te verlaat
U is klaar met die Raspberry Pi.
Toets dit nou om te sien of daar foute is (meestal is dit typfoute)
Om dit te toets, tik eenvoudig die volgende in u terminale
node MyProject.js
U moet 'n uitset kry wat so lyk
Aan -af -modus
Koppel aan: blynk-cloud.com 8441
SSL -magtiging …
Gemagtig
Stap 5: MyProject in Arduino
Ok, nou het ons 2/3 dinge voltooi!
Nou moet ons net 'n kode vir die Arduino skryf.
- Skep 'n nuwe Arduino -skets en tik die volgende kode.
#insluit
#definieer STEPS_PER_MOTOR_REVOLUTION 32
#definieer STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048
// Die penverbindings moet penne 8, 9, 10, 11 verbind wees
// na motorbestuurder In1, In2, In3, In4
// Dan word die penne hier in die volgorde 1-3-2-4 ingevoer vir die regte volgorde
Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
int Steps2Take;
int Command1;
int CommandCW;
int CommandCCW;
leemte opstelling ()
{
pinMode (2, INVOER);
pinMode (3, INVOER);
pinMode (4, INVOER);
// (Stepper Library stel penne as uitsette in)
}
leemte lus ()
{
Command1 = digitalRead (2);
CommandCW = digitalRead (3);
CommandCCW = digitalRead (4);
as (Command1 == 0)
{
//doen niks
}
anders
{
ExecutionFunction ();
}
as (CommandCW == 1)
{
small_stepper.setSpeed (700);
small_stepper.step (-1);
vertraging (1);
}
as (CommandCCW == 1)
{
small_stepper.setSpeed (700);
small_stepper.step (1);
vertraging (1);
}
}
leegte uitvoering ()
{
Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // Draai CCW 1/4 draai
small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // U kan Steps2Take vervang met enige waarde tussen 0 en 2048
vertraging (500);
Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Draai CW 1/4 draai
small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // U kan Steps2Take vervang met enige waarde tussen 0 en 2048
vertraging (2000);
}
Stel saam en laai op na u Arduino.
Maak nou seker dat u alles korrek verbind! Sien die volgende stap vir bedrading.
Stap 6: Bedrading
Koppel Arduino D3 aan RaspberryPi GPIO18 (wat eintlik pen 12 is)
Koppel Arduino D4 aan RaspberryPi GPIO23 (wat eintlik pen 16 is)
Koppel Arduino D4 aan RaspberryPi GPIO24 (wat eintlik pen 18 is)
Koppel Arduino GND aan RaspberryPi GND (pen 6)
Koppel Arduino D8 aan Stepper Controller In1
Koppel Arduino D9 aan Stepper Controller In2
Koppel Arduino D10 aan Stepper Controller In3
Koppel Arduino D11 aan Stepper Controller In4
Koppel 5VDC aan op Arduino, Raspberry Pi en Stepper Controller
Stap 7: Dit is dit
Kyk na die video, en u behoort klaar te wees!
Dankie en geniet!
Aanbeveel:
DIY 3D LED -kubus met 'n Framboos Pi: 6 stappe (met foto's)
DIY 3D LED Cube With a Raspberry Pi: Hierdie projek gaan oor hoe ons 'n DIY 3D LED Cube gemaak het van ws2812b LED's. Die kubus is 8x8x8 LED's, dus 512 in totaal, en die lae is gemaak van akrielplate wat ons by die huisdepot gekry het. Die animasies word aangedryf deur 'n framboospi en 'n 5V -kragbron. Die
Cocktailmasjien met GUI Framboos: 7 stappe (met foto's)
Cocktailmasjien met GUI Framboos: hou jy van tegnologie en partytjie? Hierdie projek is vir u gemaak! In hierdie tutoriaal sal ons 'n outomatiese cocktailmasjien met 'n grafiese koppelvlak skep. Alles wat deur die framboos beheer word! EDIT: Ek het die nuwe hier makliker en goedkoper gemaak
DIY Ambilight Met Framboos Pi en GEEN Arduino! Werk op enige HDMI -bron.: 17 stappe (met foto's)
DIY Ambilight Met Framboos Pi en GEEN Arduino! Werk op enige HDMI -bron: ek het 'n redelike basiese kennis van elektronika, en daarom is ek baie trots op my DIY Ambilight -opstelling in 'n basiese houtomhulsel met die vermoë om die ligte aan en uit te skakel soos ek wil. Vir diegene wat nie weet wat 'n Ambilight is nie;
AVR/Arduino flits met framboos Pi: 3 stappe (met foto's)
AVR/Arduino Flashing With Raspberry Pi: 'n Inprogram-programmeerder (ISP) is 'n toestel wat u kan gebruik om baie mikrobeheerders te programmeer, byvoorbeeld die ATMega328p wat die brein van 'n Arduino Uno is. U kan iets soos 'n USBtinyISP koop, of u kan selfs 'n Arduino gebruik. Hierdie opdragbare sal
Framboos PI -kamera en Light Control Death Star: 5 stappe (met foto's)
Framboos PI -kamera en Light Control Death Star: Soos altyd wil ek toestelle bou wat nuttig is, robuust werk en dikwels selfs verbeterings is in vergelyking met die huidige oplossings. Hier is nog 'n wonderlike projek, oorspronklik genaamd Shadow 0f Phoenix, 'n Framboos PI -skild in samewerking