Soy nuevo en este foro y tengo una pregunta sobre las placas basadas en EE y Arduino.
¿Las placas basadas en Arduino son capaces de producir pulsos en el rango de MICROsegundos (usecs)? Por ejemplo, me gustaría generar 1 pulso (digamos 5 voltios por 200 usecs) dado un comando arbitrario que envío al microcontrolador. Este pulso se usaría para activar un dispositivo al que está conectado. es posible?
Tengo una placa Azteeg X3 Pro (ATMEGA2560 y base RAMPS 1.4).
¿Las placas basadas en Arduino son capaces de producir pulsos en el rango de MICROsegundos (usecs)?
Esto se puede lograr de varias maneras
Algunos ejemplos:
Ellos dicen
Devuelve el número de microsegundos desde que la placa Arduino comenzó a ejecutar el programa actual. Este número se desbordará (volverá a cero) después de aproximadamente 70 minutos. En placas Arduino de 16 MHz (por ejemplo, Duemilanove y Nano), esta función tiene una resolución de cuatro microsegundos (es decir, el valor devuelto es siempre un múltiplo de cuatro). En placas Arduino de 8 MHz (por ejemplo, LilyPad), esta función tiene una resolución de ocho microsegundos.
Puede utilizar la función delayMicroseconds() que retrasa todas las acciones durante el período definido. Si bien limitar esto puede ser útil en algunas aplicaciones simples.
Puede escribir su propio bucle con tiempo conocido por bucle. Esto le permitiría realizar varias funciones simples mientras espera.
Sí, Arduino es capaz de producir pulsos.
Este código funcionará para usted.
Código:
const int kPinPulse = 8; // You can select any pin of arduino
const int kPinSW = 9; //This switch will work as command
void setup()
{
pinMode(kPinPulse, OUTPUT);
pinMode(kPinSW, INPUT);
}
void loop()
{
if(digitalRead(kPinSW) == LOW) //When Switch pressed Command Sent
{
digitalWrite(kPinPulse, HIGH); // start your pulse
delayMicroseconds(200); // It's provide your time interval of 200 microseconds
digitalWrite(kPinPulse, LOW); // end your pulse
while(digitalRead(kPinSW) == LOW);
}
}
NOTA: Aquí, he tomado un interruptor en el pin número 9, esto funcionará como un comando para enviar un pulso de 200 microsegundos, es decir, cuando se presione el interruptor 200uS pulse
se generará.
wesley lee
Usuario323693
Jseung321