This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.

Nombre de usuario
  

Contraseña
  





Estadísticas del foro
» Miembros: 13,870
» Último miembro: choquero
» Temas del foro: 10,577
» Mensajes del foro: 109,155

Estadísticas totales

Últimos temas
Anet ET4 no me deja actua...
Foro: Anet
Último mensaje por: Linuco
Hace 5 horas
» Respuestas: 0
» Vistas: 19
Ayuda con mi primera impr...
Foro: General
Último mensaje por: Daniel Córdova
Hoy, 06:29 AM
» Respuestas: 2
» Vistas: 44
Alguien me podría ayudar ...
Foro: Arduino
Último mensaje por: asesorplaza1
Ayer, 11:18 PM
» Respuestas: 1
» Vistas: 39
Otro novato que busca con...
Foro: General
Último mensaje por: asesorplaza1
Ayer, 11:14 PM
» Respuestas: 4
» Vistas: 82
Anycubic PHOTON
Foro: DLP/SLA
Último mensaje por: Xonxes
Ayer, 10:08 PM
» Respuestas: 81
» Vistas: 45,907
Anycubic Photon
Foro: Anycubic
Último mensaje por: Xonxes
Ayer, 10:05 PM
» Respuestas: 15
» Vistas: 5,390

 
  Como ejecutar dos sketches a la vez?
Enviado por: ocmonpa - 10-01-2021, 01:28 PM - Foro: Arduino - Respuestas (3)

Hola, soy nuevo en esto y no tengo ni remota idea de como ejecutar dos sketches. Alguien sabría decirme si hay alguna manera sencilla de hacer_lo?

Tengo de unir estos dos:

Primero:

#include "ph_grav.h"                                  //header file for Atlas Scientific gravity pH sensor
#include "LiquidCrystal.h"                            //header file for liquid crystal display (lcd)

String inputstring = "";                              //a string to hold incoming data from the PC
boolean input_string_complete = false;                //a flag to indicate have we received all the data from the PC
char inputstring_array[10];                          //a char array needed for string parsing
Gravity_pH pH = A0;                                  //assign analog pin A0 of Arduino to class Gravity_pH. connect output of pH sensor to pin A0
LiquidCrystal pH_lcd(2, 3, 4, 5, 6, 7);              //make a variable pH_lcd and assign arduino digital pins to lcd pins (2 -> RS, 3 -> E, 4 to 7 -> D4 to D7)


void setup() {
  Serial.begin(9600);                                //enable serial port
  pH_lcd.begin(16, 2);                                //start lcd interface and define lcd size (20 columns and 4 rows)
 
  pH_lcd.setCursor(0,2);                              //place cursor on screen at column 1, row 4
  pH_lcd.print("--------------------");              //display characters
  pH_lcd.setCursor(5, 1);                            //place cursor on screen at column 6, row 2
  pH_lcd.print("pH ");                        //display "pH Reading"
  if (pH.begin()) { Serial.println("Loaded EEPROM");}
  Serial.println(F("Use commands \"CAL,4\", \"CAL,7\", and \"CAL,10\" to calibrate the circuit to those respective values"));
  Serial.println(F("Use command \"CAL,CLEAR\" to clear the calibration"));
}


void serialEvent() {                                  //if the hardware serial port_0 receives a char
  inputstring = Serial.readStringUntil(13);          //read the string until we see a <CR>
  input_string_complete = true;                      //set the flag used to tell if we have received a completed string from the PC
}


void loop() {

  if (input_string_complete == true) {                //check if data received
    inputstring.toCharArray(inputstring_array, 30);  //convert the string to a char array
    parse_cmd(inputstring_array);                    //send data to pars_cmd function
    input_string_complete = false;                    //reset the flag used to tell if we have received a completed string from the PC
    inputstring = "";                                //clear the string
  }
  Serial.println(pH.read_ph());                      //output pH reading to serial monitor
  pH_lcd.setCursor(8, 2);                            //place cursor on screen at column 9, row 3
  pH_lcd.print(pH.read_ph());                        //output pH to lcd
  delay(1000);
}


void parse_cmd(char* string) {                      //For calling calibration functions
  strupr(string);                                  //convert input string to uppercase

  if (strcmp(string, "CAL,4") == 0) {              //compare user input string with CAL,4 and if they match, proceed
    pH.cal_low();                                  //call function for low point calibration
    Serial.println("LOW CALIBRATED");
  }
  else if (strcmp(string, "CAL,7") == 0) {          //compare user input string with CAL,7 and if they match, proceed
    pH.cal_mid();                                  //call function for midpoint calibration
    Serial.println("MID CALIBRATED");
  }
  else if (strcmp(string, "CAL,10") == 0) {        //compare user input string with CAL,10 and if they match, proceed
    pH.cal_high();                                  //call function for highpoint calibration
    Serial.println("HIGH CALIBRATED");
  }
  else if (strcmp(string, "CAL,CLEAR") == 0) {      //compare user input string with CAL,CLEAR and if they match, proceed





    pH.cal_clear();                                //call function for clearing calibration
    Serial.println("CALIBRATION CLEARED");
  }
}





Segundo:

#include <OneWire.h>

#include <LiquidCrystal.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 9

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

float tempC = 0;
float tempF = 0;

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup() {
  sensors.begin();
  lcd.begin(16,2);
  lcd.clear();
  pinMode(3, OUTPUT);
  analogWrite(3, 0);
  Serial.begin(9600);
 
}

void loop()  {
sensors.requestTemperatures();
  tempC = sensors.getTempCByIndex(0);
  tempF = sensors.toFahrenheit(tempC);
  delay(1000);
 
  Serial.println(tempC);
  lcd.setCursor(0,0);
  lcd.print(" grados: ");
  lcd.print(tempC);
  lcd.setCursor(0,1);
}



Gracias por vuestra atencion


Encontrado este método pero sigue sin responder

#include <EEPROM.h>
#define numSKETCH 3

void setup()
{
delay(500);
byte sketch = EEPROM.read(0);
sketch = (sketch >= 1 && sketch < numSKETCH ? sketch+1 : 1);
EEPROM.write(0, sketch);

switch(sketch)
{
case 1: sketch1(); break;
case 2: sketch2(); break;

}
}
void loop();





/**
* SKETCH 1
* pH
*/


#include "ph_grav.h" //header file for Atlas Scientific gravity pH sensor
#include "LiquidCrystal.h" //header file for liquid crystal display (lcd)
String inputstring = ""; //a string to hold incoming data from the PC
boolean input_string_complete = false; //a flag to indicate have we received all the data from the PC
char inputstring_array[10]; //a char array needed for string parsing
Gravity_pH pH = A0; //assign analog pin A0 of Arduino to class Gravity_pH. connect output of pH sensor to pin A0
LiquidCrystal pH_lcd(2, 3, 4, 5, 6, 7); //make a variable pH_lcd and assign arduino digital pins to lcd pins (2 -> RS, 3 -> E, 4 to 7 -> D4 toD7)

void sketch1()

{
//Setup:

{
Serial.begin(9600); //enable serial port
pH_lcd.begin(16, 2); //start lcd interface and define lcd size (20 columns and 4 rows)

pH_lcd.setCursor(0,2); //place cursor on screen at column 1, row 4
pH_lcd.print("--------------------"); //display characters
pH_lcd.setCursor(5, 1); //place cursor on screen at column 6, row 2
pH_lcd.print("pH "); //display "pH Reading"
if (pH.begin()) { Serial.println("Loaded EEPROM");}
Serial.println(F("Use commands \"CAL,4\", \"CAL,7\", and \"CAL,10\" to calibrate the circuit to those respective values"));
Serial.println(F("Use command \"CAL,CLEAR\" to clear the calibration"));
}


//Main loop:
while(true)
if (input_string_complete == true) { //check if data received
inputstring.toCharArray(inputstring_array, 30); //convert the string to a char array
parse_cmd(inputstring_array); //send data to pars_cmd function
input_string_complete = false; //reset the flag used to tell if we have received a completed string from the PC
inputstring = ""; //clear the string
}
Serial.println(pH.read_ph()); //output pH reading to serial monitor
pH_lcd.setCursor(8, 2); //place cursor on screen at column 9, row 3
pH_lcd.print(pH.read_ph()); //output pH to lcd
delay(1000);
}


void parse_cmd(char* string) { //For calling calibration functions
strupr(string); //convert input string to uppercase

if (strcmp(string, "CAL,4") == 0) { //compare user input string with CAL,4 and if they match, proceed
pH.cal_low(); //call function for low point calibration
Serial.println("LOW CALIBRATED");
}
else if (strcmp(string, "CAL,7") == 0) { //compare user input string with CAL,7 and if they match, proceed
pH.cal_mid(); //call function for midpoint calibration
Serial.println("MID CALIBRATED");
}
else if (strcmp(string, "CAL,10") == 0) { //compare user input string with CAL,10 and if they match, proceed
pH.cal_high(); //call function for highpoint calibration
Serial.println("HIGH CALIBRATED");
}
else if (strcmp(string, "CAL,CLEAR") == 0) { //compare user input string with CAL,CLEAR and if they match, proceed
pH.cal_clear(); //call function for clearing calibration
Serial.println("CALIBRATION CLEARED");
}
}



/**
* SKETCH 2
* Temperatura
*/
#include <OneWire.h>

#include <LiquidCrystal.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 9

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

float tempC = 0;
float tempF = 0;

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void sketch2()
{
//Setup:
{
sensors.begin();
lcd.begin(16,2);
lcd.clear();
pinMode(3, OUTPUT);
analogWrite(3, 0);
Serial.begin(9600);

}


//Main loop:
while(true)
{
sensors.requestTemperatures();
tempC = sensors.getTempCByIndex(0);
tempF = sensors.toFahrenheit(tempC);
delay(1000);

Serial.println(tempC);
lcd.setCursor(0,0);
lcd.print(" grados: ");
lcd.print(tempC);
lcd.setCursor(0,1);

}
}

Encontrado este método pero sigue sin responder

#include <EEPROM.h>
#define numSKETCH 3

void setup()
{
delay(500);
byte sketch = EEPROM.read(0);
sketch = (sketch >= 1 && sketch < numSKETCH ? sketch+1 : 1);
EEPROM.write(0, sketch);

switch(sketch)
{
case 1: sketch1(); break;
case 2: sketch2(); break;

}
}
void loop();





/**
* SKETCH 1
* pH
*/


#include "ph_grav.h" //header file for Atlas Scientific gravity pH sensor
#include "LiquidCrystal.h" //header file for liquid crystal display (lcd)
String inputstring = ""; //a string to hold incoming data from the PC
boolean input_string_complete = false; //a flag to indicate have we received all the data from the PC
char inputstring_array[10]; //a char array needed for string parsing
Gravity_pH pH = A0; //assign analog pin A0 of Arduino to class Gravity_pH. connect output of pH sensor to pin A0
LiquidCrystal pH_lcd(2, 3, 4, 5, 6, 7); //make a variable pH_lcd and assign arduino digital pins to lcd pins (2 -> RS, 3 -> E, 4 to 7 -> D4 toD7)

void sketch1()

{
//Setup:

{
Serial.begin(9600); //enable serial port
pH_lcd.begin(16, 2); //start lcd interface and define lcd size (20 columns and 4 rows)

pH_lcd.setCursor(0,2); //place cursor on screen at column 1, row 4
pH_lcd.print("--------------------"); //display characters
pH_lcd.setCursor(5, 1); //place cursor on screen at column 6, row 2
pH_lcd.print("pH "); //display "pH Reading"
if (pH.begin()) { Serial.println("Loaded EEPROM");}
Serial.println(F("Use commands \"CAL,4\", \"CAL,7\", and \"CAL,10\" to calibrate the circuit to those respective values"));
Serial.println(F("Use command \"CAL,CLEAR\" to clear the calibration"));
}


//Main loop:
while(true)
if (input_string_complete == true) { //check if data received
inputstring.toCharArray(inputstring_array, 30); //convert the string to a char array
parse_cmd(inputstring_array); //send data to pars_cmd function
input_string_complete = false; //reset the flag used to tell if we have received a completed string from the PC
inputstring = ""; //clear the string
}
Serial.println(pH.read_ph()); //output pH reading to serial monitor
pH_lcd.setCursor(8, 2); //place cursor on screen at column 9, row 3
pH_lcd.print(pH.read_ph()); //output pH to lcd
delay(1000);
}


void parse_cmd(char* string) { //For calling calibration functions
strupr(string); //convert input string to uppercase

if (strcmp(string, "CAL,4") == 0) { //compare user input string with CAL,4 and if they match, proceed
pH.cal_low(); //call function for low point calibration
Serial.println("LOW CALIBRATED");
}
else if (strcmp(string, "CAL,7") == 0) { //compare user input string with CAL,7 and if they match, proceed
pH.cal_mid(); //call function for midpoint calibration
Serial.println("MID CALIBRATED");
}
else if (strcmp(string, "CAL,10") == 0) { //compare user input string with CAL,10 and if they match, proceed
pH.cal_high(); //call function for highpoint calibration
Serial.println("HIGH CALIBRATED");
}
else if (strcmp(string, "CAL,CLEAR") == 0) { //compare user input string with CAL,CLEAR and if they match, proceed
pH.cal_clear(); //call function for clearing calibration
Serial.println("CALIBRATION CLEARED");
}
}



/**
* SKETCH 2
* Temperatura
*/
#include <OneWire.h>

#include <LiquidCrystal.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 9

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

float tempC = 0;
float tempF = 0;

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void sketch2()
{
//Setup:
{
sensors.begin();
lcd.begin(16,2);
lcd.clear();
pinMode(3, OUTPUT);
analogWrite(3, 0);
Serial.begin(9600);

}


//Main loop:
while(true)
{
sensors.requestTemperatures();
tempC = sensors.getTempCByIndex(0);
tempF = sensors.toFahrenheit(tempC);
delay(1000);

Serial.println(tempC);
lcd.setCursor(0,0);
lcd.print(" grados: ");
lcd.print(tempC);
lcd.setCursor(0,1);

}
}


  CNC 3018 PRO No mueve ejes
Enviado por: ramon1972 - 10-01-2021, 12:47 PM - Foro: Fresadoras CNC - Sin respuestas

Hola a Todos. 
Me presento soy Ramón, soy nuevo en el mundo de las CNC, me animé después de ver varios videos de YouTube de esta máquina y me interesé como jobbie. 
Por ello me regalaron los Reyes esta CNC 3018 PRO, que después de montarla, instalé el Software que traía. CANDLE 1.1.7 lo instalé y funcionaban los ejes. 

Al día siguiente intenté abrir el mismo software pero ya no funcionó mas. 
Entonces viendo videos de YouTube vi que unos trabajaban con OPENBUILD CONTROL, y otros con Universal Code Sender. Después de instalar dichos softwares, uno me abre pero no se mueve la cabeza sobre los ejes y el otro me da error. 

Dejo un link de youtube de lo que me pasa, que es igual que a otra persona que parece que se ha quemado la placa madre, pero no creo pues no he hecho aún ningún trabajo, ni nada.  
 
https://www.youtube.com/watch?v=e4T7siJL6MY&t=90s

Hay alguien que le contesta que es un problema de configuración. Pero no sé como se podría resolver.
Llevo más de dos días intentando resolver el problema pero no doy con la tecla. Y rendirme sería lo último que me gustaría hacer.... 

Dejo también foto de lo que me pasa con el universal gcode sender, que no se me carga igual que al Sr Ferrete faltan las flechas de dirección, y cuando lo conecto con la CNC se sale del programa dando un error de java. No sé que puede estar pasando. [Imagen: gcodesender-error.png] 

Por favor os solicito ayuda. 
Gracias de antemano.
[Imagen: image.png]

Esto lo escribo 4 horas mas tarde.
Sigo dando vueltas al asunto.
Me he conectado con otro ordenador he metido el driver según instrucciones CH340SER.EXE en otro ordenador y los motores se mueven, al revés pero se mueven. (un tema de configuración,,,, espero)
Bueno parece que no es la placa,
Ahora en el ordenador que tengo, no veo como des instalar el controlador para que borre lo anterior pues al decir uninstal no se borra lo anterior y al reinstalar no hace nada.
Si alguien tiene alguna idea de como hacerlo que me indique.

Otra vez gracias.


  Configurar Z0 en Bcnc
Enviado por: Roque7 - 10-01-2021, 12:26 PM - Foro: Fresadoras CNC - Respuestas (1)

Pues eso, como se configura el Z0 en Bcnc para fresadora y donde se conecta la sonda en arduino mega ?.
Gracias
Roque7


  Problemas de extrusión Anet a8
Enviado por: FranRp48 - 09-01-2021, 05:56 PM - Foro: General - Respuestas (2)

Buenas, estoy experimentando algunos problemas para imprimir unas piezas con la anet a8 relacionados con la extrusión. El filamento sale de forma irregular deteniéndose durante algunos segundos en ocasiones; he revisado el foro en busca de problemas similares sin demasiado éxito. ¿Alguien podría  ayudarme a dilucidar la solución?

Adjunto algunas imágenes:

[Imagen: P-20210109-174344.jpg]

[Imagen: P-20210109-174358.jpg]

[Imagen: P-20210109-174410.jpg]


  Impresion columnas pequeñas
Enviado por: ofitecno - 09-01-2021, 01:31 AM - Foro: General - Respuestas (13)

Buenas a todos,
llevo algo mas de un año con una impresora modelo Vertex K8400 a la cual le he metido varias mejora (cama caliente, Hot-End E3D V6 y cambio ventilador de capa con su conducto). En terminos generales estoy muy contento con la calidad que me da pero tengo problemas para imprimir partes pequeñas del tipo columnas o pilares, por ejemplo en el barco benchy no soy capaz de imprimir la chimenea ya que se atasca. Adjunto foto donde estoy haciendo pruebas con la parte del techo y su chimenea:
[Imagen: 1610111231694.jpg]
La susodicha prueba del benchy me sale muy bien salvo la chimena. El software que utilizo es el Ultimaker Cura 4.8 y los ajustes son:
- Velocidad de impresion 30mm/sec tanto en relleno como en paredes
- Ventilador de capa 15%, no puedo poner mas ya que baja la temperatura del nozzle. El ventilador es de turbina y potente.
- Retraccion activada a 3mm y 125mm/sec. Mi maquina es bowden pero aun asi no meto mas distancia ya que desde E3D (marca Hotend) no recomiendan pasar de estos 3mm para sistemas bowden.
- Tiempo minimo de capa a 10 segundos
Con estos ajuste se atasca en la chimenea y hace el tipico ruido el extruso cuando atasca el filamento (clack clack). Probe a subir temperatura a 210º y mismo resultado. Si desactivo la extrusion hace lo mismo...
Lo cierto que ando un poco perdido en este problema, por mas cambios que hago no consigo que mejore.