Puslapiai

2012 m. gegužės 24 d., ketvirtadienis

Greitas LCD HD44780 16x2 pratestavimas

Sveiki,
šiandien gavau savo HD44780 LCD ekraniuką. Jį pirkau per eBay.co.uk už 2 svarus, todėl nieko nelaukęs nusprendžiau patikrinti ar veikia.

Ko prireiks?

  • Breadboard
  • Jungiamųjų laidukų
  • 2.2k omų varžos
  • 5V šaltinios (arduino turi 5V išėjimą)
  • Nežinau, kaip vadinasi, bet jei nenorėsite lituoti, tai prireiks kojelių į LCD lizdus.

Schema:

Schema


Rezultatas:

Dabar belieka įjungti Arduino ir jeigu viskas gerai, tai išvysite gražiai šviečiantį ekraną.

HD44780 LCD ekranas

Renkantis ekraniukus atkreipkite dėmesį ar turi backlight (galinį apšvietimą), nes jei neturi, tai vaizdas matysis tik dieną ir neryškiai. Backlight ekranuose galima išjungti galinį apšvietimą, tereikia ant schemos išjungti LED+ ir LED- . Tiesa, pas mane backlight jungtys pažymėtos A ir K raidėmis (Anodas, Katodas).

Jei kam reikia HD44780 datasheet, tai jį rasite čia: https://www.dropbox.com/s/1olf8oeyphz3w2z/hd44780.pdf

5 komentarai:

  1. Atsakymai
    1. Kol kas nieko, nebent pasibandysiu ką nors šiek tiek, o šiaip naudosiu informacijos atvaizdavimui.. kad ir temperatūros ar ateityje atstumus iki objektu ir panašiai.. bus kur panaudoti.. ;)
      blogiausiu atveju standalone termometrą su atmega8 pasidarysiu.. :)

      Panaikinti
  2. Truputį pasigirsiu - jau gavau arduino :))
    Kadangi jau vėlokai, tai spėjau tik blink, analog read (Su potencionmetru) išbandyti, paižaisti su ToneMelody, pakeisdamas kodą kad lux aeterna man pagrotų, ryt toliau eksperimentuosiu :)

    AtsakytiPanaikinti
  3. paprašysiu tavęs patarimo :)
    Taigi, noriu padaryti, kad arduino sugalvotų bet kokį pasirinktą skaičių iki septynių, ir tiek kiek sugalvoja sumirgsėtų LED, tada praeina penkios ekundės ir vėl galvoja skaičių.
    bandžiau taip padaryti, tačiau žinau kad kažkas blogai, tikrai pilnai neišmokau void loop naudoti:

    int ledPin = 13;

    void setup () {
    pinMode (ledPin, OUTPUT);
    }

    void loop () {
    int skaicius = random(0, 7);
    void loop (skaicius) {
    digitalWrite(ledPIN, HIGH);
    delay(1000);
    digitalWrite(ledPIN, LOW);
    delay(1000)
    }
    delay (5000);
    }



    (Žinau, čia tikra nesąmonė, bandau keist kodą bet vistiek š gaunasi...)
    Labai AČIŪ :)

    AtsakytiPanaikinti
    Atsakymai
    1. Gavosi:
      void setup() {
      // initialize the digital pin as an output.
      // Pin 13 has an LED connected on most Arduino boards:
      pinMode(13, OUTPUT);
      }

      void loop()
      {
      int skaicius = random(0, 10);
      int mirksejimas = 0;
      while(mirksejimas < skaicius) {
      digitalWrite(13, HIGH); // set the LED on
      delay(1000); // wait for a second
      digitalWrite(13, LOW); // set the LED off
      delay(1000); // wait for a second
      mirksejimas++;
      }
      delay(5000);
      }
      :)))

      Panaikinti