Pokazywanie postów oznaczonych etykietą Arduino. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Arduino. Pokaż wszystkie posty

18 lutego 2018

[Arduino] Jak uruchomić wyświetlacz 1x16 LCD

Problemem tego typu jes iż wyświetlacz który posiadam jest podzielony na dwie części 8 pikseli i drugi 8 pkseli.

Przykładowy kod poniżej:


#include
#include
#define BACKLIGHT_PIN     13
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
//LiquidCrystal_I2C lcd(0x27,12, 11, 5, 4, 3, 2, POSITIVE);
void setup() {
  // put your setup code here, to run once:
  pinMode ( BACKLIGHT_PIN, OUTPUT );
  digitalWrite ( BACKLIGHT_PIN, HIGH );
//tutaj wybrany standardowy kod dla 16x2 lecz dla wyswietlacza 16x1
  lcd.begin(16, 2);
  //  lcd.beg
  lcd.backlight();
  //lcd.
  // lcd.home ();                   // go home
  //lcd.leftToRight();
  lcd.print("Hello,12");
  //delay(1000);
  //wazna czesc ponizej: musimy przejsc do 40 pozycji by moc wyswietlac druga linijke kodu
  lcd.setCursor(40, 0);
  lcd.print("123456789");

}
void loop() {
  // put your main code here, to run repeatedly:
}

14 kwietnia 2017

[Arduino] Przykład programu obliczajacego predkosc z przepływowego czujnika

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;

}