25-05-2017, 08:33
Jestem w trakcie projektowania generatora sygnału prostokątnego (max 200kHz), regulacja potencjometrem.
Częstotliwość zamieniana jest na obr/min.
Chcę aby częstotliwość zmieniała się skokiem co 25600Hz.
Proszę o pomoc.
Częstotliwość zamieniana jest na obr/min.
Chcę aby częstotliwość zmieniała się skokiem co 25600Hz.
Proszę o pomoc.
Kod:
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); //podlaczenie wyswietlacza
#include <TimerOne.h>
int odczytanaWartosc = 0;//Zmienna do przechowywania odczytu z ADC
float f=0;
void setup() {
lcd.begin(16, 2); //zakres znakow wyswietlacza
lcd.setCursor(0,0); //ustawienie kursora
lcd.print("KOMORA DO BADAN"); //Wyswietlenie tekstu
lcd.setCursor(0, 1); //ustawienie kursora
lcd.print ("EROZJI I KOROZJI"); // 2 linia tekstu
delay(6000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Predkosc tarczy");
lcd.setCursor(4,1);
lcd.print("obr/min");
pinMode(2, OUTPUT);
Serial.begin(9600);
}
double predkoscTarczy;
void loop() {
odczytanaWartosc = analogRead(A1);//Odczytanie wartości z ADC
f = odczytanaWartosc * (200000/1023.0);//przeliczenie na czestotliwosc
Serial.println(f);
digitalWrite(2, HIGH);
delay((1/f)*500);
digitalWrite(2, LOW);
delay((1/f)*500);
predkoscTarczy = odczytanaWartosc * (468.75/1023.0); //przeliczenie na predkosc obrotowa
lcd.setCursor(0,1); //ustawienie kursora na poczatku 2 linii
lcd.print(predkoscTarczy,0);
delay(100);
}