# Συζήτηση Κυκλωμάτων > Ψηφιακά Κυκλώματα > Μικροελεγκτές >  >  Arduino LCD 4x20 και Ελληνικά

## NIKPAPAZOGLOU

Έχω μια οθόνη 4χ20 και θέλω να προβάλω τα κείμενα στα ελληνικά 
πως μπορώ να το κάνω αυτό;

----------


## chip

πρέπει να προγραμματισεις στον controller ελληνικούς χαρακτήρες... βέβαια τελικά πάντα θα σου λείπει ένας αφού στην οθονούλα λύπουν 9 χαρακτήρες και έχει 8 θέσεις.... εκτός και πάντα ανάλογα το κείμενο που δείχνεις δεν θα χρειάζονται 9 χαρακτήρες από αυτούς που δεν έχει η οθονούλα σου αλλά 8.

Το καλύτερο απ όλα βέβαια θα τάν αν έβαζες οθονούλα με ελληνικό character set... βέβαια είναι ποιο ακριβές αφού μάλλον δεν θα τις βρεις στο ebay....

----------


## ALAMAN

Υπάρχει νομίζω ένας creator στον οποίο φτιάχνεις εσύ τους χαρακτήρες (και ότι σχήμα θες) και σου δίνει τον πίνακα που θα στείλεις στον controller.

----------


## klik

Από τους 9 χαρακτήρες που θέλουμε, βάζουμε τους 8 (χωρις το Ω). Για Ω χρησιμοποιουμε από τα standard rom σύμβολα του controller (είναι όμως λίγο μικρότερο).
DSC00918.JPG

----------


## manolena

Στο σκετσάκι σου, πριν την setup() βάλε αυτό:




```
//****************************************************************************************************
byte FI[8] = {
    B01110,
    B10101,
    B10101,
    B10101,
    B01110,
    B00100,
    B00100,
    B00000
};
byte PSI[8] = {
    B10101,
    B10101,
    B10101,
    B01110,
    B00100,
    B00100,
    B00100,
    B00000
};
byte OMEGA[8] = {
    B01110,
    B10001,
    B10001,
    B10001,
    B01110,
    B00000,
    B11111,
    B00000
};
byte GAMMA[8] = {
    B11111,
    B10000,
    B10000,
    B10000,
    B10000,
    B10000,
    B10000,
    B00000
};
byte DELTA[8] = {
    B00100,
    B01010,
    B10001,
    B10001,
    B10001,
    B10001,
    B11111,
    B00000
};
byte LAMDA[8] = {
    B00100,
    B01010,
    B10001,
    B10001,
    B10001,
    B10001,
    B10001,
    B00000
};
byte KSI[8] = {
    B11111,
    B00000,
    B00000,
    B01110,
    B00000,
    B00000,
    B11111,
    B00000
};
byte PEE[8] = {
    B11111,
    B10001,
    B10001,
    B10001,
    B10001,
    B10001,
    B10001,
    B00000
};
//****************************************************************************************************
```


Θεωρώ οτι χρησιμοποιείς τη βιβλιοθήκη LiquidCrystal, άρα την κάνεις include  με μια γραμμή στην αρχή του κώδικα:

*#include <LiquidCrystal.h>*

...και μετά την "ενεργοποείς":

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);========> όπου οι αριθμοί που βλέπεις, είναι τα πινάκια που έχεις συνδέσει τον Arduino

Μέσα στη setup() γράφεις:




```
  lcd.createChar(0, FI);
  lcd.createChar(1, PSI);
  lcd.createChar(2, OMEGA);
  lcd.createChar(3, GAMMA);
  lcd.createChar(4, DELTA);
  lcd.createChar(5, LAMDA);
  lcd.createChar(6, KSI);
  lcd.createChar(7, PEE);  
  lcd.begin(20, 4);
```


...και αυτό ήταν! Για να καλέσεις ένα γράμμα απο τα "ειδικά" που έφτιαξες, γράφεις:

*lcd.write(1);* και εμφανίζεται το γράμμα Ψ. Προσοχή, όχι *lcd.print("Ψ");* γιατί δεν αναγνωρίζει unicode.

Οι οθόνες αυτές, έχουν στο characters map συνήθως τα γράμματα Σ και Θ, οπότε τα καλείς με μια απλή εντολή:

*lcd.write(246)*   //Το 246 είναι το dec του χαρακτήρα* Σ* στις πιο πολλές οθόνες ή
*lcd.write(242)*   //Το 246 είναι το dec του χαρακτήρα *Θ* στις πιο πολλές οθόνες

Όλα τα παραπάνω ισχύουν μόνο για κεφαλαία γράμματα. Αν θες και πεζά, καλό είναι να βρείς οθόνη με έτοιμο ελληνικό
characterset.

----------


## mtzag

Πως μπορω να χρησιμοποιήσω το programing framework του arduino για προγραμματισμο του atmega8 χωρις bootloader και κρυσταλο και κατα προτίμηση σε αλλο IDE εκτος arduino (πχ netbeans/eclipse) ?
Αφου εχω τον usbasp programer ο bootloader μου φαινετε περιτος.

----------


## manolena

Αφού έχεις usbasp programmer, τον προγραμματίζεις κατ' ευθείαν απο ISP. Χρειάζεσαι 6 γραμμές, MISO, MOSI, SCK, VCC, RESET και GND. Δεν απαιτείται bootloader και κερδίζεις και μνήμη. Είναι καλή τακτική σε stand alone projects να βγάζεις σε έναν διπλό 2x3 header αυτές τις συνδέσεις σε τέτοιο format:

http://letsmakerobots.com/files/user...duinoISP_l.png

ISP_pines_ArduinoISP_l.png

...και με αυτόν τον τρόπο δεν χρειάζεσαι σειριακή προσαρμογή για USB προγραμματισμό μέσω bootloader.

----------


## mtzag

Αυτο το ξερω αλλο ρωταω πως θα γινει compile ο κωδικας arduino με avr-gcc λογικα θελει καποιες βιβλιοθηκες του arduino.

Για παραγειγμα αυτος ο κωδικας τι αλλο θελει για γινετε compile με avr-gcc



```
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}
```

----------


## manolena

Δεν έχω ασχοληθεί με το θέμα, έχω την εντύπωση οτι το eclipse χρειάζεται ένα plugin για να κάνει compile.


EDIT:Δες εδώ:
http://avr-eclipse.sourceforge.net/w...lugin_Download

Υπάρχει ένα instructable για αυτό το θέμα. Διάβασέ το:
http://www.instructables.com/id/How-...ll-AVR-Plugin/
http://www.instructables.com/id/How-...a-new-project/

----------


## powerexplotion

Εδώ είναι η λύση : https://arduinoforgreekpeople.blogspot.com/

----------

