word steps = 0;
float rotation = 0;
float speeder = 0;
int srednicaKola = 150;
float mph; //Utworzenie zmiennej mile/godzinę
float kmh; //Utowrzenie zmiennej km/h
void setup()
{
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), counter, RISING);
}
void loop()
{ onStep();
Serial.print("Ilosc: ");
Serial.println(rotation, DEC);
Serial.print("Speed: ");
Serial.print(kmh, DEC);
Serial.println(" km/h ");
delay(1000);
}
void counter() {
steps++;
}
void onStep()
{
static unsigned long lastTime;
unsigned long timeNow = millis();
if (timeNow - lastTime <= 1000) {
return;
}
noInterrupts(); //przed obliczeniem wylaczyc przerwanie
rotation = steps;
speeder = ((2 * 3.1415 * 30) / (timeNow - lastTime)) * steps;
mph = (srednicaKola / 2) * 3.14 * rotation * 60 / 5280;//Odczyt prędkości wiatru w milach/godzinę
mph = mph / 1.5; // Kalibracja błędu odczytu, wartość należy dobrać we własnym zakresie
kmh = mph * 1.609;
Serial.print("kroki:");
Serial.println(steps);
steps = 0;
interrupts() ; //po wyliczenu wlacz przerwanie
// else steps=0;
// Serial.println(rotation, DEC);
lastTime = timeNow;
}
14 kwietnia 2017
[Arduino] Przykład programu obliczajacego predkosc z przepływowego czujnika
16 kwietnia 2016
07 października 2015
Połączenie Aero2 poprzez Wvdial dla Huawei E169
Poniżej konfiguracja wvdial dla modemu Huawei E169 dla Aero2 którą wpisujemy do pliku /etc/wvdial.conf:
[Dialer Aero2]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","darmowy"
Init4 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Password = ;
Phone = *99***1#
Modem Type = Analog Modem
Stupid Mode = on
;Init2 = AT+CPIN="0000"
Baud = 9600
Auto DNS = on
Modem = /dev/ttyUSB0
ISDN = 0
Username = ;
04 września 2015
[MYSQL] Różnicowanie pomiędzy rekordami
Ostatnio myślałem jak utworzyć zapytanie wyliczajace różnice pomiędzy rekordami czyli jeżeli mamy coś takiego:
to:
Jako klucza użyłem daty wprowadzenia z powodu iż łatwiej wyszukać ostatnie wprowadzenie rekordu oraz rekordu-1
Poniżej przedstawione zapytanie jak to działa:
F1
F2
F3
F4
F5
to:
F1-F2
F2-F3
F3-F4
F4-F5
Jako klucza użyłem daty wprowadzenia z powodu iż łatwiej wyszukać ostatnie wprowadzenie rekordu oraz rekordu-1
Poniżej przedstawione zapytanie jak to działa:
SELECT
t1.id,
t2.id,
t1.datawprowadzenia,
t2.datawprowadzenia,
t1.ciepla,
t2.ciepla,
t1.zimna,
t2.zimna,
t1.prad,
t2.prad,
t1.gaz,
t2.gaz,
t1.ciepla - t2.ciepla AS CieplaR,
t1.zimna - t2.zimna AS zimnaR,
t1.prad - t2.prad AS pradR,
t1.gaz - t2.gaz AS gazR
FROM
Odczyty t1,
Odczyty t2
WHERE
t2.id = (SELECT
t3.id
FROM
Odczyty t3
WHERE
t3.datawprowadzenia < t1.datawprowadzenia AND t3.aktywny = 1
ORDER BY datawprowadzenia DESC
LIMIT 1)
AND t2.aktywny = 1
AND t1.aktywny = 1
ORDER BY t1.datawprowadzenia DESC
Subskrybuj:
Posty (Atom)