Esp32 Ble/Wifi AP/STA_ESP_Now/ 433MHZ Ontvanger zender
2 berichten
• Pagina 1 van 1
Esp32 Ble/Wifi AP/STA_ESP_Now/ 433MHZ Ontvanger zender
Hallo ,
Ik wil graag een programma via BLE , wifi of espnow remote besturen Ik ben een beginner en krijg de code niet geschreven. Hoe schrijf je dit programma in een Reciever en Transmitter code ?
Deze code bestuurt 2 steppers via pot meters.
Hoe schrijf ik het programma voor remote analoge besturing via bv esp_now of 433MHz module ?
Hoe schrijf ik dit programma voor bluetooth besturing voor Android of web ?
Dit is de code die ik graag voor de ontvanger en zender had willen schrijven.
Groetje Patricia
Arduino
Esp32
#include <Stepper.h>
#include <esp_now.h>
#include <WiFi.h>
uint8_t broadcastAddress[] = {3C:61:05:29:3E:FC}; // Mac adress ontvanger
#define STEPSREV 4096 // 64(fullsteps) * 64 (reduction ratio)
#define SPEED 4 // motor speed (RPM)
#define COIL_1X 11
#define COIL_2X 9
#define COIL_3X 10
#define COIL_4X 8
#define COIL_1Y 7
#define COIL_2Y 5
#define COIL_3Y 6
#define COIL_4Y 4
#define POT_X 0
#define POT_Y 1
#define TIMEOUT 1000 //Turns off after 1 sec of inactivity.
#define NOISE 8 //inmunity in steps because analog noisy readings.
// create the instances of the stepper class.
Stepper stepperX(STEPSREV, COIL_1X, COIL_2X, COIL_3X, COIL_4X);
Stepper stepperY(STEPSREV, COIL_1Y, COIL_2Y, COIL_3Y, COIL_4Y);
int potValX,potValY; // potentiometers analog readings
int Xpos,Ypos; // Actual steppers positions(0-4096)->(0-360°)
int newXpos, newYpos; // New steppers positions
unsigned long stampX, stampY; // last move time stamped.
//============== functions ====================================================
//Read the potentiometers and map the reading to mach 360 degrees.
void readPots(){
potValX = analogRead(POT_X); // read POT_X value (0-1023).
potValY = analogRead(POT_Y); // read POT_Y value (0-1023).
newXpos= map(potValX,0,1023,0,2047); // Map pot X range to one stepper turn.
newYpos= map(potValY,0,1023,0,2047); // Map pot Y range to the stepper turn.
}
//-----------------------------------------------------------------------------
// Aproach stepperX to the newX position.
void aproachX(int newX){
int Xdir = Xpos<newX ? 1 : -1;
stepperX.step(Xdir); // move one step in the Xdir direction.
Xpos += Xdir; // update Xpos.
stampX = millis(); // stamp actual time.
}
//-----------------------------------------------------------------------------
// Aproach stepperY to the newY position.
void aproachY(int newY){
int Ydir = Ypos<newY ? 1 : -1;
stepperY.step(Ydir); // move one step in the Ydir direction.
Ypos += Ydir; // update Ypos.
stampY = millis(); // stamp actual time.
}
//-----------------------------------------------------------------------------
//Check for inactivity and turn off the steppers coils to save battery.
void CheckTimeout(){
if((millis() - stampX) > TIMEOUT){ //Turn Off StepperX coils.
digitalWrite(COIL_1X, LOW);
digitalWrite(COIL_2X, LOW);
digitalWrite(COIL_3X, LOW);
digitalWrite(COIL_4X, LOW);
}
if((millis() - stampY) > TIMEOUT){ //Turn Off StepperY coils.
digitalWrite(COIL_1Y, LOW);
digitalWrite(COIL_2Y, LOW);
digitalWrite(COIL_3Y, LOW);
digitalWrite(COIL_4Y, LOW);
}
}
//=================== setup ===================================================
void setup(){
stepperX.setSpeed(SPEED); // set the X motor speed.
stepperY.setSpeed(SPEED); // set the Y motor speed.
readPots();
Xpos = newXpos;
Ypos = newYpos;
}
//================= main loop =================================================
void loop(){
readPots();
//if diference is greater than NOISE move steppers.
if(abs(newXpos - Xpos)> NOISE) aproachX(newXpos);
if(abs(newYpos - Ypos)> NOISE) aproachY(newYpos);
CheckTimeout(); //check for inactivity.
}
Ik wil graag een programma via BLE , wifi of espnow remote besturen Ik ben een beginner en krijg de code niet geschreven. Hoe schrijf je dit programma in een Reciever en Transmitter code ?
Deze code bestuurt 2 steppers via pot meters.
Hoe schrijf ik het programma voor remote analoge besturing via bv esp_now of 433MHz module ?
Hoe schrijf ik dit programma voor bluetooth besturing voor Android of web ?
Dit is de code die ik graag voor de ontvanger en zender had willen schrijven.
Groetje Patricia
Arduino
Esp32
#include <Stepper.h>
#include <esp_now.h>
#include <WiFi.h>
uint8_t broadcastAddress[] = {3C:61:05:29:3E:FC}; // Mac adress ontvanger
#define STEPSREV 4096 // 64(fullsteps) * 64 (reduction ratio)
#define SPEED 4 // motor speed (RPM)
#define COIL_1X 11
#define COIL_2X 9
#define COIL_3X 10
#define COIL_4X 8
#define COIL_1Y 7
#define COIL_2Y 5
#define COIL_3Y 6
#define COIL_4Y 4
#define POT_X 0
#define POT_Y 1
#define TIMEOUT 1000 //Turns off after 1 sec of inactivity.
#define NOISE 8 //inmunity in steps because analog noisy readings.
// create the instances of the stepper class.
Stepper stepperX(STEPSREV, COIL_1X, COIL_2X, COIL_3X, COIL_4X);
Stepper stepperY(STEPSREV, COIL_1Y, COIL_2Y, COIL_3Y, COIL_4Y);
int potValX,potValY; // potentiometers analog readings
int Xpos,Ypos; // Actual steppers positions(0-4096)->(0-360°)
int newXpos, newYpos; // New steppers positions
unsigned long stampX, stampY; // last move time stamped.
//============== functions ====================================================
//Read the potentiometers and map the reading to mach 360 degrees.
void readPots(){
potValX = analogRead(POT_X); // read POT_X value (0-1023).
potValY = analogRead(POT_Y); // read POT_Y value (0-1023).
newXpos= map(potValX,0,1023,0,2047); // Map pot X range to one stepper turn.
newYpos= map(potValY,0,1023,0,2047); // Map pot Y range to the stepper turn.
}
//-----------------------------------------------------------------------------
// Aproach stepperX to the newX position.
void aproachX(int newX){
int Xdir = Xpos<newX ? 1 : -1;
stepperX.step(Xdir); // move one step in the Xdir direction.
Xpos += Xdir; // update Xpos.
stampX = millis(); // stamp actual time.
}
//-----------------------------------------------------------------------------
// Aproach stepperY to the newY position.
void aproachY(int newY){
int Ydir = Ypos<newY ? 1 : -1;
stepperY.step(Ydir); // move one step in the Ydir direction.
Ypos += Ydir; // update Ypos.
stampY = millis(); // stamp actual time.
}
//-----------------------------------------------------------------------------
//Check for inactivity and turn off the steppers coils to save battery.
void CheckTimeout(){
if((millis() - stampX) > TIMEOUT){ //Turn Off StepperX coils.
digitalWrite(COIL_1X, LOW);
digitalWrite(COIL_2X, LOW);
digitalWrite(COIL_3X, LOW);
digitalWrite(COIL_4X, LOW);
}
if((millis() - stampY) > TIMEOUT){ //Turn Off StepperY coils.
digitalWrite(COIL_1Y, LOW);
digitalWrite(COIL_2Y, LOW);
digitalWrite(COIL_3Y, LOW);
digitalWrite(COIL_4Y, LOW);
}
}
//=================== setup ===================================================
void setup(){
stepperX.setSpeed(SPEED); // set the X motor speed.
stepperY.setSpeed(SPEED); // set the Y motor speed.
readPots();
Xpos = newXpos;
Ypos = newYpos;
}
//================= main loop =================================================
void loop(){
readPots();
//if diference is greater than NOISE move steppers.
if(abs(newXpos - Xpos)> NOISE) aproachX(newXpos);
if(abs(newYpos - Ypos)> NOISE) aproachY(newYpos);
CheckTimeout(); //check for inactivity.
}
Advertisement
Re: Esp32 Ble/Wifi AP/STA_ESP_Now/ 433MHZ Ontvanger zender
Dat script is dat wat je zelf al geschreven hebt?
De vraagstelling lijkt mij heel erg onduidelijk.
Of misschien zoek je een programmeur?
De vraagstelling lijkt mij heel erg onduidelijk.
Of misschien zoek je een programmeur?
sudo rm -rf /
(Don't Drink and Root)
(Don't Drink and Root)
2 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 0 gasten