Dorsai.it

  Sistemi

  RELAZIONI

  Presentazioni

  Antinfortunistica

  Sistemi 3 M A

  Fonderia e def. plastica

  Sistemi 3 M B

  Metrologia

  Cerca


  On-line

Abbiamo
1 ospite e
0 utenti online

Sei un utente non registrato. Puoi fare il login qui o puoi registrarti cliccando qui.


  Login utente

Utente
Password
Ricordami

Non hai ancora un account? Puoi crearne uno qui.In quanto utente registrato hai alcuni vantaggi quali ad esempio un gestore di temi, la configurazione dei commenti e il loro invio col tuo nome, a seconda delle configurazioni e delle opzioni di questo sito.

 17-Mar-2012   Stampa la pagina corrente   Mostra la posizione di questa pagina nella mappa

PWM

Mario Angelino
 http://www.youtube.com/watch?v=a-FkGnBSeE0
 
Programma utilizzato per generare le onde quadre sull'oscilloscopio e facilmente modificabile per controllare un motore a corrente continua mediante il circuito:


dscn5852_400
 
const int analogOutPin = 10; // pin a cui attacchiamo la sonda dell'oscilloscopio

int outputValue = 0; // variabile in cui memorizzo il valore in uscita

int incomingByte; // variabile in cui memorizzo il valore seriale in entrata

void setup() {
// apro la porta seriale
Serial.begin(9600);
}

void loop() {
// se c'é un valore in entrata nella porta seriale
if (Serial.available() > 0) {
// leggi l'ultimo valore momorizzato nel buffer seriale:
incomingByte = Serial.read();

if (incomingByte == '0') {
analogWrite(analogOutPin, 0);
Serial.println (incomingByte);
}
if (incomingByte == '1') {
analogWrite(analogOutPin, 28);
Serial.println (28);
}
if (incomingByte == '2') {
analogWrite(analogOutPin, 56);
Serial.println (56);
}
if (incomingByte == '3') {
analogWrite(analogOutPin, 84);
Serial.println (84);
}
if (incomingByte == '4') {
analogWrite(analogOutPin, 112);
Serial.println (112);
}
if (incomingByte == '5') {
analogWrite(analogOutPin, 130);
Serial.println (incomingByte);
}
if (incomingByte == '6') {
analogWrite(analogOutPin, 168);
Serial.println (168);
}
if (incomingByte == '7') {
analogWrite(analogOutPin, 196);
Serial.println (196);
}


if (incomingByte == '8') {
analogWrite(analogOutPin, 255);
Serial.println (255);

}
if (incomingByte == '9') {

for (int k =1; k<256; k++){
analogWrite(analogOutPin, k);
Serial.println (k);
delay (100) ;
}
for (int k =255; k>-1; k--){
analogWrite(analogOutPin, k);
Serial.println (k);
delay (100);
}

}
}
 
Un altro progetto MAX s.o.s.
Crediti Powered by MDPro