Konstravimas
LCD displėjaus prijungimas prie Arduino
Bir 21st
Tai štai prijungiau displėjų prie Arduino kontroleriuko. Nemaniau kad taip bus paprasta. 16×2 LCD displėjų jau turėjau, tad labai knietėjo jį kuo greičiau prijungti prie Arduino. Perskaitęs Ladyada.net aprašymą , supratau, kad tokiam displėjui prijungti reikės sunaudoti 8 arba 4 Arduino įėjimus. Toks sprendimas man pasirodė per brangus, nes praktiškai visi Arduino prievadai sunaudojami displėjui valdyti, be to esu tinginys, tad nesiruošiau tiek lituoti. Nusprendžiau displėjų valdyti vienu laidu per įtaisytą nuosekliąją sąsają (UART). Tokiam sprendimui realizuoti man prireikė šių komponentų:
Kelias juostas statmenų kojelių nusipirkau Evitoje. Displėjų jau turėjau. Nuosekliosios sąsajos RS232 displėjaus valdiklį teko siųstis iš čia – http://www.nkcelectronics.com/serial-16×2-lcd-bo162.html. Lietuvoje tokiais daiktais dar niekas neprekiauja. Šio valdiklio detalų aprašymą rasite čia. Neužilgo paaiškejo, kad manasis displėjus nedirba su šiuo valdikliu, tad už 4$ šioje pardotuvėje nusipirkau naują WH1602B displėjų be apšvietimo.
Kaip viską sujungiau
LCD displėjų prilitavau prie RS232 valdiklio: 1-16 displėjaus kojeles sulitavau su 1-16 valdiklio kojelėmis:
Maitinimą prijungiau taip – RS232 valdiklio J3 jungties 1-ąją kojelę prijungiau prie Arduino +5V, 2-ąją kojelę prie žemės, o 5-ąją kojelę prie Arduino 1-osios (UART TX) kojelės:
Displėjaus ryškumą nustačiau prijungęs prie RS232 valdiklio J5 jungties tarp 4 ir 5 kojelės 5,1 kOhm rezistorių. Reliai reiktų parinkti iš intervalo 1,5-6 kOhm labiausiai tinkantį.
Gavosi štai toks rezultatas:
Čia Arduino programos kodas, kuris valdo displėjų:
void setup()
{
Serial.begin(9600);
// Įjungiam displėjų:
Serial.print(0xfe, BYTE);
Serial.print(0x41, BYTE);
// Išvalome ekraną:
Serial.print(0xfe, BYTE);
Serial.print(0x51, BYTE);
// Kursorių į pradžią:
Serial.print(0xfe, BYTE);
Serial.print(0x46, BYTE);
// Siunčiam tekstą:
Serial.print("garazas.org");
// Perkeliam kursorių į naują eilutę:
Serial.print(0xfe, BYTE);
Serial.print(0x45, BYTE);
Serial.print(0x01, BYTE);
Serial.print(0x02, BYTE);
// Siunčiam tekstą:
Serial.print("LCD-1602B bandymas");
}
void loop()
{
}
Dėl įdomumo prie Arduino prijungiau Sharp GP2D12 IR atstumo jutiklį. Vietoje jo galima jungti 10 kOhm reguliuojamą rezistorių, kurio kraštines kojeles reikia prijungti prie +5V ir žėmės, o vidurinę kojelę prie Arduino Analog-In 0 kojelės. Paleidus šį kodą bus galima gyvai paeksperimentuoti su displėjumi:
// Atstumo matavimas su Sharp jutikliu
// by Vaidas
void setup()
{
Serial.begin(9600);
// Įjungiam displėjų:
Serial.print(0xfe, BYTE);
Serial.print(0x41, BYTE);
// Išvalom ekraną:
Serial.print(0xfe, BYTE);
Serial.print(0x51, BYTE);
// Kursorių į pradžią:
Serial.print(0xfe, BYTE);
Serial.print(0x46, BYTE);
// Siunčiam pirmosios eilutės tekstą:
Serial.print("Atstumas:");
}
void loop()
{
int analogValue = analogRead(0);
analogValue = (1000 - analogValue);
delay(30);
// Perstatom kursorių į antrą eilutę:
Serial.print(0xfe, BYTE);
Serial.print(0x45, BYTE);
Serial.print(0x01, BYTE);
Serial.print(0x02, BYTE);
Serial.print(analogValue);
Serial.print(" mm ");
// Laukiam 100 ms, kad būtų apvalinamas atstumo matavimas. Galima keisti nuo 1 iki 1000.
delay(100);
}
Sėkmės Arduino bandymuose
Laikrodis iš panaudoto kietojo disko
Sau 22nd
Kažkaip vieną vakarą ištraukiau iš po stalo neveikiančių hardų dėžutę, kilo mintis pagaminti kažką įdomaus. Panaršęs internetą radau įvairiausių neveikiančių hardų panaudojimo pavyzdžių. Mane suintrigavo laikrodžio idėja. Svarbiausia, kad visa tai pagaminti galima per 30 min.
Gamybos eiga:
Priemonės:
Sugedęs Fujitsu hardas
Kvarcinis laikrodžio mechanizmas. Šį mechanizmą lengvai galima išimti iš pigaus kinietiško laikrodžio. Nebrangų laikrodį su metalinėm rodyklėm nupirkau Rimi už 9 lt ir išardžiau.
Gamybos eiga:
Išardom kietąjį diską
Iš apatinės kietojo disko pusės priklijuojam laikrodžio mechanizmą
Priklijuojame diską
Pritvirtiname rodykles, jei reikia jas patrumpiname
Įdedame bateriją, nureguliajame laiką ir prisukame dangtelį
Apatines kojeles atstos ilgi varžtai
Rezultatas



