Hola,
Quiero generar una señal OOK (on-off) con arduino Due, con digitalWrite en HIGH y LOW, la genero código a continuación.
Pero como puedo hacer que esa señal sea al máximo de frecuencia, es decir, que la señal OOK sea de 1MHz o más.
Por el monitor serial mando, por ejemplo, 10010. en el bucle for del if(send) es donde se genera la señal.
int led = 9;
int delT = 10;
String val;
int len;
boolean Send;
void setup() {
pinMode(led,OUTPUT);
Serial.begin(9600);
}
void loop() {
while(Serial.available()){
val = Serial.readStringUntil('\n');
delay(1);
}
if(val!=""){
//Binary
Serial.println(val);
len = val.length();
Send = true;
}
if(Send){
for(int i=0;i<len; i++){
if(i!=len-1){
if(val.charAt(i)=='0'){
digitalWrite(led,LOW);
delay(delT);
}
else if(val.charAt(i)=='1'){
digitalWrite(led,HIGH);
delay(delT);
}
}
else{
//Led off finish
if(val.charAt(i)=='0'){
digitalWrite(led,LOW);
delay(delT);
}
else if(val.charAt(i)=='1'){
digitalWrite(led,HIGH);
delay(delT);
digitalWrite(led,LOW);
}
}
}
//Reset
val="";
Send=false;
}
}