
İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13


Bu talimatta, menülerin nasıl oluşturulacağını, bir TC74A0 sensöründen sıcaklığın nasıl okunacağını ve "değerleri" (bu durumda cep telefonu numaralarını) sonsuz, ancak arduino'nun yerleşik belleğiyle sınırlı bir şekilde nasıl göstereceğimizi keşfedeceğiz.
kullanacağız
-diziler
-Sıvı kristal ekran
-Klavye
Son adımda yer alan kullanım kılavuzu.
Adım 1: Bileşenler
Arduino Uno'su
· 4x4 tuş takımı
· TC74A0 dijital sıcaklık sensörü
· I2c 16x2 LCD Modülü
· 16x2 likit kristal ekran
· Jumper kabloları
· ekmek tahtası
· Kişisel bilgisayar
· Arduino IDE'si
· Aktarma kablosu
Adım 2: Bileşen Kablolaması
SDA VE SCL'YE AYNI HATTA BAĞLI SICAKLIK SENSÖRÜ VE LCD (A4, A5)
LCD (I2c Modülü)
o Arduino'da SDA'dan A5'e
o Arduino'da SCL'den A4'e
o Arduino'da VCC'den 5V'a
o Arduino'da GND'den GND'ye
· 4 x 4 Tuş Takımı
o Sırasıyla Arduino'daki pin 9 – 2'ye bağlı Tuş Takımındaki Pin 1 – 8
TC74A0 sıcaklık sensörü
o TC74A0 pin 2'den Arduino'ya SDA
o Arduino'da TC74A0 pin 3'ten GND'ye
o Arduino'da TC74A0 pin 4'ten SCL'ye
o Arduino'da TC74A0 pin 5 - 5V
3. Adım: Kodlayın
#include //Derleme sırasında kitaplıkları dahil eder
#Dahil etmek
#Dahil etmek
#define Password_Light 5
#define Command_Light 3
#define CellNumber 10
int kullanıcılar = 0;
int Görüntü = 0;
int adres= 72; //tc74a0 ADRES
int ben = 0;
int KULLANICI;
int X = 0;
int XY = 0;
int sıcaklık;
int tempPre = 0;
char userNum[10][10] = {{}, {}, {}};
char Veri[Parola_Uzunluğu];
char Master[Password_Lenght] = "5466"; //PAROLA
char ExitData[Command_Lenght]; //
char Master1[Command_Lenght] = "**";//
char MenuItem;
char CELLArrayA[10];
char CELLArrayB[10];
char CELLArrayC[10];
const bayt SATIRLAR = 4; //dört satır
const bayt COLS = 4; //dört sütun
bayt rowPins[SATIR] = {5, 4, 3, 2};
bayt colPins[COLS] = {9, 8, 7, 6};
bayt data_count = 0, master_count = 0;
bool Pass_is_good;
LiquidCrystal_I2C lcd (0x26, 16, 2);
char hexaKeys[ROWS][COLS] = //KEYPAD BAŞLATILIYOR
{
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}
};
Tuş takımı özelKeypad = Tuş takımı(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
geçersiz kurulum()
{
Seri.başla(9600); // bu Seri Monitörü oluşturur
Wire.begin(); //bu bir Wire nesnesi yaratır
lcd.başla(16, 2);
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Lütfen 3 Bekleyin"); //YÜKLEME EKRANI
gecikme(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Lütfen 2 Bekleyin");
gecikme(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Lütfen 1 Bekleyin");
gecikme(300);
lcd.clear();
String myString = "ARDUINO EĞİTİMİ";
lcd.setCursor(2, 2);
lcd.print(myString);
gecikme (2500);
for(int scrollCounter=0;scrollCounter<24;scrollCounter++)
{
lcd.scrollDisplayLeft();
gecikme(300);
}
lcd.clear();
lcd.print("Şifreyi Giriniz");
}
boşluk döngüsü()
{
switch(Ekran) //ANA MENÜDE NERDEYİZ
{ //KULLANICI A, B, C, D'YE BASIN
durum 0:
{
Parola();
}
kırmak;
dava 1:
{
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("A B C D");
lcd.setCursor(0, 0);
lcd.print("Ana Menü");
Ekran = 2;
gecikme(100);
kırmak;
}
durum 2:
{
char customKey = customKeypad.getKey();
geçiş (özel anahtar)
{
'A' durumu:
{
Serial.println("A'ya basıldı");
MağazaKullanıcı();
kırmak;
}
'B' durumu:
{
Serial.println("B'ye basıldı");
if (kullanıcılar == 0) {
lcd.clear();
lcd.print("KAYITLI KULLANICI YOK");
gecikme(3000);
lcd.clear();
Ekran = 1;
kırmak;
}
DisplayUsers(); kırmak;
}
'C' durumu:
{
Serial.println("C'ye basıldı"); //TEST SIRASINDA KULLANILIR
int uzantı = 0;
while (!ext) {
karakter ch;
sıcaklık = TempMenu();
if (temp != tempPre) {
lcd.clear();
lcd.print("Sıcaklık");
lcd.setCursor(0, 1);
lcd.print(temp);
lcd.print("C");
tempPre = sıcaklık;
gecikme(500);
}
ch = customKeypad.getKey();
if (ch == '*') //SICAKLIK MENÜSÜNDEN ÇIKIŞ (* BASILIRSA)
{
dahili = 1;
lcd.clear();
Ekran = 1;
}
}
kırmak;
TempMenu();
kırmak;
}
'D' durumu:
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("NUA PRAC");
lcd.setCursor(0, 1);
lcd.print("JB SCHOEMAN");
gecikme(3000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Mayıs 2019");
lcd.setCursor(0, 1);
lcd.print("CC OOSTHUIZEN");
gecikme(3000);
lcd.clear();
Ekran = 1;
}
}
}
}
}
// DEĞERLERİ VEYA PROSEDÜRLERİ ÇAĞRIMAK İÇİN ÖZEL FONKSİYONLAR
geçersiz Parola()
{
char customKey = customKeypad.getKey();
if (customKey) // bir tuşa gerçekten basıldığından emin olur, (customKey != NO_KEY) değerine eşittir
{
Veri[veri_sayısı] = özelAnahtar; // char'ı veri dizisine kaydet
lcd.setCursor(veri_sayısı, 1); // her yeni karakteri göstermek için imleci hareket ettir
lcd.print("*"); // söz konusu imleçte karakter yazdır
data_count++; // yeni karakter depolamak için veri dizisini 1 artırın, ayrıca girilen karakter sayısını da takip edin
}
if(data_count == Password_Lenght-1) // dizi indeksi beklenen karakter sayısına eşitse, verileri master ile karşılaştırın
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Şifremiz");
if(!strcmp(Data, Master)) // eşittir (strcmp(Data, Master) == 0)
{
lcd.print("İyi");
lcd.clear();
Ekran = 1;
}
Başka
lcd.print("Kötü");
gecikme(1000);// şifrenin silinmeden önce ekranda tamamen gösterilmesini sağlamak için 1 saniye gecikme eklendi.
lcd.clear();
net veriler();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Şifreyi Giriniz");
}
}
int TempMenu()
{
Wire.beginTransmission(adres);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(adres, 1);
while (Wire.available() == 0);
int c = Wire.read();
dönüş c;
}
geçersiz clearData()
{
while(veri_sayısı !=0)
{ // Bu herhangi bir dizi boyutu için kullanılabilir, Veri[veri_sayısı--] = 0; // yeni veriler için diziyi temizle
}
}
geçersiz StoreUser()
{
int uzantı = 0;
int kullanıcısı;
karakter ch;
while (!ext) {
lcd.clear();
lcd.print("Kullanıcı Girin");
kullanıcı = kullanıcılar + 1;
lcd.print(kullanıcı);
int x = 0;
süre (!x) {
for (int i = 0; i < 10; i++) {
ch = customKeypad.waitForKey();
lcd.setCursor(i, 1);
lcd.print(ch);
userNum[kullanıcı - 1] = ch;
}
gecikme(500);
lcd.clear();
lcd.print("Devam");
lcd.setCursor(0, 1);
lcd.print("* evet #hayır");
ch = customKeypad.waitForKey();
if (ch == '*') {
x = 1;
}
if (ch == '#') {
x = 1;
dahili = 1;
lcd.clear();
Ekran = 1;
}
}
kullanıcılar++;
}
}
geçersiz DisplayUsers()
{
lcd.clear();
for (int i = 0; i < kullanıcılar; i++) {
lcd.print("Kayıtlı Kullanıcı");
lcd.print(i+1);
for (int u = 0; u < 10; u++) {
lcd.setCursor(u, 1);
lcd.print(userNum[u]);
}
gecikme(2000);
lcd.clear();
Ekran = 1;
}
}
Adım 4: KULLANICI KILAVUZU
1. Projeyi açtıktan sonra bir yükleme veya karşılama ekranı görünecektir.
2. Bir “Şifre Girin” ekranı görünecektir, bu ekran 4 karakter, harf veya rakam girmenize izin verir, doğru şifre: 5466, bu size ana menüye erişim sağlayacaktır.
3. Doğru parolayı girdikten sonra, mevcut farklı işlevlerde gezinmek için 4 olası seçenekle ana menü görünecektir.
· A – Kullanıcının cep telefonu numaralarını girin.
o Bir kullanıcıyı sisteme kaydetmek için 10 hane girin
o 10 hane girildikten sonra daha fazla kullanıcı eklemek için “* “tuşuna basın veya ana menüye geri dönmek için “#” tuşuna basın
· B – Kayıtlı kullanıcıları göster
o Kullanıcılar ekranı kaydıracak, her biri 3'er saniye görüntülenecek, tüm kullanıcılar görüntülendiğinde sayfa kapanacak ve ana menüye dönecektir.
o A menü seçeneğinde hiçbir kullanıcı eklenmemişse, “KAYDEDİLMİŞ KULLANICI YOK” görüntülenecektir.
· C – Canlı sıcaklığı gösterir
o Ana menüye geri dönmek için “* “tuşuna basın
· D – Kısa metni göster
o Oluşturanın adını ve derlendiği konuyu bir tarihle görüntüler.
Önerilen:
Arduino MIDI Denetleyici Oluşturma: 9 Adım (Resimlerle)

Arduino MIDI Denetleyicisi Oluşturma: Bu talimat ilk olarak 28 Haziran 2020'de blogumda yayınlandı.Elektronik içeren şeyler yapmaktan zevk alıyorum ve her zaman Arduino kullanarak bir şeyler inşa etmek istemişimdir.Yeni başlayanlar için bulduğum en yaygın yapılardan biri, MIDI denetleyicisi.
Adım Adım PC Oluşturma: 9 Adım

Adım Adım Bilgisayar Oluşturma: Sarf Malzemeleri: Donanım: AnakartCPU & CPU soğutucusuPSU (Güç kaynağı ünitesi)Depolama (HDD/SSD)RAMGPU (gerekli değil)CaseTools: TornavidaESD bilezik/aplikatörlü matstermal macun
Arduino Nano V2 ile Otomatik Solar Tracker Oluşturma: 17 Adım (Resimlerle)

Arduino Nano V2 ile Otomatik Solar Tracker Oluşturma: Merhaba! Bu Eğitilebilir Yazının, Solar Tracker projemin ikinci bölümü olması amaçlanmıştır. Güneş izleyicilerinin nasıl çalıştığına ve ilk izleyicimi nasıl tasarladığıma ilişkin bir açıklama için aşağıdaki bağlantıyı kullanın. Bu, bu proje için bağlam sunacaktır.https://www.instructables.co
Tinkercad'de Arduino ile LCD Arayüz Oluşturma: 5 Adım

Tinkercad Üzerinde Arduino İle LCD Arayüz Oluşturma: Bu makaledeki kod, standart Hitachi HD44780 sürücüsünü kullanan LCD'ler için yazılmıştır. LCD'nizde 16 pin varsa, muhtemelen Hitachi HD44780 sürücüsüne sahiptir. Bu ekranlar 4 bit modunda veya 8 bit modunda kablolanabilir. LCD'yi 4'te kablolama
Arduino UNO ile Otomatik Solar Tracker Oluşturma: 8 Adım

Arduino UNO ile Otomatik Solar Tracker Oluşturma: Güneş enerjisi dünya çapında giderek daha yaygın hale geliyor. Şu anda, güneş panellerinin daha fazla enerji üretmesini sağlamak için birçok yöntem araştırılıyor, bu da fosil yakıtlara ve kömüre olan bağımlılığımızı azaltıyor. Bunu yapmanın bir yolu, panelleri hareket ettirmektir, bir