Проекты с использованием контроллера Arduino



Download 12,28 Mb.
Pdf ko'rish
bet97/215
Sana22.02.2022
Hajmi12,28 Mb.
#109180
1   ...   93   94   95   96   97   98   99   100   ...   215
Bog'liq
Petin V A - Proekty s ispolzovaniem kontrollera Arduino Elektronika 2014


Глава 11. Arduino и 1-Wire 
165 
if(admin==1) 
{// режим программирования - проверяем кнопки 
// чтение pin8 
if(click11==1 && millis()-endmillis11>1000 && count>0) // более 1 сек 
{type1=0; 
endmillis11=millis(); 
pos11++; 
if(pos11>count) 
pos11=min(2,count); 
lcd.clear(); 
lcd.setCursor(0,0); 
lcd.print(" tekkey= "); 
view_key1(pos11); 

else 

// чтение pin9 
// нажата более 1 сек 
if(click12==1 && millis()-endmillis12>1000 && type1==2) 
// подтверждение удаления 
{if(pos11>1) 
delete_key(pos11); 
else 
admin_display(" empty ",0); 
type1=0; 
endmillis12=millis(); 
admin_display("admin = ",0); 
view_key1(1); 

else if(click12==1 && millis()-endmillis12>1000 && type1==1) 
// режим - удалить? 

type1=2; 
endmillis12=millis(); 
admin_display("delete ? ",0); 
view_key1(pos11); 

else if(click12==1 && millis()-endmillis12>1000 && type1==0) 
// вход в режим добавления ключей 

type1=1; 
endmillis12=millis(); 
admin_display("add key ",0);} 
else 


... ... ... 



166 
Часть III. Практическое применение Arduino 
При нажатии на кнопку, подсоединенную к входу 8, вызывается процедура 
view_key1()
последовательного просмотра кодов всех введенных ключей. Содер-
жимое процедуры представлено в листинге 11.6. Коды выводятся на дисплей. 
Листинг 11.6 
// ****** вывод ключа из EEPROM 
void view_key1(int rr) 

byte i; 
lcd.setCursor(8,0); 
lcd.print(rr); 
for( i = 0; i < 8; i++) { 
lcd.setCursor((7-i)*2,1); 
lcd.print(EEPROM.read(rr*8+i),HEX); 

delay(1000); 
return; 

Нажатие на кнопку, подсоединенную к входу 9, переводит программу последова-
тельно в режимы ввода новых ключей, выбора ключа для удаления и подтвержде-
ния удаления ключа. На дисплей выводится сообщение о текущем режиме. Если 
устройство находится в режиме добавления ключей в список разрешенных, при 
считывании ключа его код заносится в память EEPROM, счетчик количества клю-
чей увеличивается на 1, и на дисплей выводится сообщение о добавлении и код до-
бавленного ключа. Код функции 
add_new_key()
, отвечающей за добавление ключа 
в список разрешенных, представлен в листинге 11.7. 
Листинг 11.7 
// добавление ключа в EEPROM 
void add_new_key(int nnew) 

byte i1; 
if ( OneWire::crc8( addr, 7) != addr[7]) { 
Serial.print("CRC is not valid!\n"); 
return; 

if ( addr[0] != 0x01) { 
Serial.print("Device is not a DS1990A family device.\n"); 
return; 

count++; 
Serial.print("new="); 
lcd.setCursor(0,0); 


Download 12,28 Mb.

Do'stlaringiz bilan baham:
1   ...   93   94   95   96   97   98   99   100   ...   215




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish