Faccio questa domanda principalmente per imparare.
Ho imparato che Hz è il numero di cicli in un secondo.
Prendendo in considerazione ciò, ho provato i seguenti esempi.
Esempio 1
void loop () {
digitalWrite (3, HIGH); // fa in modo che il pin 3 abbia una tensione di ~ 5V
ritardo (500); // aspetta 0,5 secondi
digitalWrite (3, LOW); // fa in modo che il pin 3 abbia una tensione di ~ 0V
ritardo (500); // aspetta 0,5 secondi
}
Questo codice ha una frequenza di 1 Hz perché la tensione aumenta di 0,5 secondi e diminuisce di 0,5 secondi. Il mio voltmetro mostra .99999 Hz
Il ciclo di lavoro è del 50% perché la tensione aumenta per la metà e per metà verso il basso.
Esempio 2
void loop () {
digitalWrite (3, HIGH); // fa in modo che il pin 3 abbia una tensione di ~ 5V
ritardo (90); // aspetta 0,09 secondi
digitalWrite (3, LOW); // fa in modo che il pin 3 abbia una tensione di ~ 0V
ritardo (10); // aspetta 0,01 secondi
}
Questo codice ha una frequenza di 10 Hz perché ogni ciclo è di 0,1 secondi (90 ms + 10 ms). In 10 cicli raggiungerai 1 secondo. Il ciclo di lavoro di questo codice è del 10%.
I seguenti esempi sono fondamentalmente la domanda:
Esempio 3
void loop () {
digitalWrite (3, HIGH); // fa in modo che il pin 3 abbia una tensione di ~ 5V
// Non ritardare
digitalWrite (3, LOW); // fa in modo che il pin 3 abbia una tensione di ~ 0V
// Non ritardare
}
Se eseguo questo codice, il mio voltmetro mostra una frequenza di 112.000 Hz o 112 kHz:
Credo che sia la frequenza più alta che posso ottenere. Non sto ritardando tra i cicli. Perché quando cerco su Google la frequenza di Arduino Uno dice:
Esempio 4
Google probabilmente ha ragione e la frequenza è di 16 MHz per Arduino. Se questo è vero, come può un Arduino inviare una frequenza di 433 MHz? Voglio comprare questo:
Quando ora ho impostato il ritardo come in Esempio 3
, la frequenza più alta che potevo ottenere era 112 kHz (con k).Com'è possibile inviare una frequenza di 433 MHz (con una M)?