
Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14

Hey, yaqinda men har xil turdagi kodlarni sxemaga qanday kiritishni o'rganyapman. Men kalkulyatorni yaratish "case" va men qiziq topgan boshqa kod turlarini amalga oshirishning ajoyib usuli bo'lishini aniqladim. Men ilgari kalkulyatorlarni to'g'ridan -to'g'ri koddan yasaganman, lekin buning uchun sxemani tuzish menga qiziqish uyg'otdi. Ayniqsa, karantin paytida, men deyarli kun bo'yi kompyuterimda bo'laman. Loyiha LCD displeyda matematik operatsiyalarni amalga oshirishdan iborat.
1 -qadam: materiallar
O'chirish uchun:
- LCD displey 16 x 2
- Arduino Uno R3
- Klaviatura 4x4
- Kichik non paneli
- Potentsiometr (250 kΩ)
- Qarshilik (1kΩ)
- x26 o'tish simlari
2 -qadam: 4x4 klaviaturani ulash

4x4 klaviaturadagi 4 qatorli pinlarni Arduino 4-7 pinlariga va 4 ustunli pinlarni Arduino pinlariga 0-3 ga ulang.
3 -qadam: Elektron panelni quvvat bilan ta'minlang va LCD -ni ulang

Men non paneli uchun 5 kuch kuchlanishidan foydalandim. Men kuch va tuproqni non taxtasiga uladim. LCD displeyga joylashtirilgan va uning barcha pinlari taxtaga ulanishi uchun joylashtirilgan.
4 -qadam: Quvvat va topraklamani LCD -ga ulang

LCD -ga ulanish uchun 3 pinli tuproq kerak bo'ladi. Ulardan biri erga, LCD displeyga, ikkinchisi LCD displeyiga, ikkinchisi esa RW ga ulanadi. LCD va LED -ning VCC -ga ulanish uchun quvvat kerak bo'ladi. Biroq, LEDning quvvati rezistorga ulangan bo'lishi kerak, bu holda men 1kΩ rezistordan foydalanganman.
5 -qadam: Potansiyometrni ulash

Potansiyometrni non paneliga 3 ta bo'sh ustun bilan ulang. U 3 ta pinli bo'ladi, 1 -terminal terminali bo'lgan ustunga unga tuproq kerak bo'ladi. 2 -terminal terminali bo'lgan ustunga unga quvvat kerak bo'ladi. Keyin tozalagichning ustunida LCD VO ga ulanadigan o'tish kabeli bo'ladi.
6 -qadam: Arduino -ni LCD -ga ulash

Arduino-dagi 8-13-pinlar LCD-ga ulanadi. Arduino-dagi 8-11-pinlar mos ravishda D8 (7-4) ga ulanadi. Keyin Arduino -ning 12 -PIN -kodi LCD -ni yoqish bilan, Arduino -dagi 13 -pin esa LCD -registrga ulanadi.
7 -qadam: Kodni amalga oshirish
Matematik operatsiyalarni klaviatura va LCD yordamida ishlatish uchun kod kerak bo'ladi. Quyida men ishlatgan kod bo'ladi, lekin men uni yanada toza va yaxshiroq qilish uchun bir nechta o'zgarishlarni amalga oshirishim mumkin. Shunday qilib, u bilan biroz o'ynang.
#qo'shing #qo'shing
LiquidCrystal lcd (13, 12, 11, 10, 9, 8);
uzoq birinchi = 0;
uzoq soniya = 0;
ikki marta jami = 0;
int pozit = 0;
char customKey;
const bayt ROWS = 4;
const bayt COLS = 4;
char tugmalari [ROWS] [COLS] = {
{'1', '2', '3', '/'}, {'4', '5', '6', '*'}, {'7', '8', '9', '-'}, {'C', '0', '=', '+'}};
bayt rowPins [ROWS] = {7, 6, 5, 4};
bayt colPins [COLS] = {3, 2, 1, 0};
CustomKeypad klaviaturasi = Klaviatura (makeKeymap (tugmalar), rowPins, colPins, ROWS, COLS);
bo'sh o'rnatish () {
lcd.begin (16, 2);
lcd.setCursor (5, 0);
lcd.clear (); }
void loop () {
customKey = customKeypad.getKey ();
almashtirish (customKey) {
"0"… "9" holati:
lcd.setCursor (0, 0);
birinchi = birinchi * 10 + (customKey - '0');
lcd.print (birinchi);
pozit ++;
tanaffus;
holat '+':
birinchi = (jami! = 0? jami: birinchi);
lcd.setCursor (pozitiv, 0);
lcd.print ("+");
pozit ++;
soniya = SecondNumber ();
jami = birinchi + ikkinchi;
lcd.setCursor (1, 1);
lcd.print (jami);
birinchi = 0, soniya = 0;
pozit = 0;
tanaffus;
holat '-':
birinchi = (jami! = 0? jami: birinchi);
lcd.setCursor (pozitiv, 0);
lcd.print ("-");
pozit ++;
soniya = SecondNumber ();
jami = birinchi - ikkinchi;
lcd.setCursor (1, 1);
lcd.print (jami);
birinchi = 0, soniya = 0;
pozit = 0;
tanaffus;
holat '*':
birinchi = (jami! = 0? jami: birinchi);
lcd.setCursor (pozitiv, 0);
lcd.print ("*");
pozitiv ++;
soniya = SecondNumber ();
jami = birinchi * soniya;
lcd.setCursor (1, 1);
lcd.print (jami);
birinchi = 0, soniya = 0;
pozit = 0;
tanaffus;
holat '/':
birinchi = (jami! = 0? jami: birinchi);
lcd.setCursor (pozitiv, 0);
lcd.print ("/");
pozit ++;
soniya = SecondNumber (); lcd.setCursor (1, 1);
soniya == 0? lcd.print ("Xato"): jami = (suzuvchi) birinchi / (suzuvchi) soniya;
lcd.print (jami);
birinchi = 0, soniya = 0;
pozit = 0;
tanaffus;
"C" holati:
jami = 0;
birinchi = 0;
soniya = 0;
pozit = 0;
lcd.clear ();
tanaffus; }
}
uzun SecondNumber () {
vaqt (1) {
customKey = customKeypad.getKey ();
agar (customKey> = '0' && customKey <= '9') {
sekund = sekund * 10 + (customKey - '0');
lcd.setCursor (pozitiv, 0);
lcd.print (ikkinchi); }
agar (customKey == 'C') {
jami = 0;
birinchi = 0;
soniya = 0;
pozit = 0;
lcd.clear ();
tanaffus; }
agar (customKey == '=') {
lcd.setCursor (0, 1);
lcd.print ("=");
pozit = jami;
lcd.clear ();
lcd.setCursor (0, 1);
lcd.print ("=");
tanaffus; }
}
sekundiga qaytish;}
8 -qadam: Natija


Umid qilamanki, barchangizga bu ko'rsatma yoqdi. O'qiganingiz uchun tashakkur!
Saim.
Tavsiya:
3D bosilgan kamera Gimbal (Tinkercad tanlovi): 6 qadam

3D bosilgan kamera Gimbal (Tinkerkad tanlovi): Salom, bu men Tinkerkadda ishlab chiqqan kamera gimbalidir. Asosiy gimbal bu jar dastagidan qilingan va men haligacha topa olmaydigan beshta halqali gimbal / girrodan qilingan. Tinkercad dizaynini bu erda topishingiz mumkin. Bu kuchlar bilan ishlash uchun mo'ljallangan
DIY VR yugurish yo'lakchasi- Basys3 FPGA-Digilent tanlovi: 3 qadam

DIY VR yugurish yo'lakchasi- Basys3 FPGA-Digilent tanlovi: VR yugurish yo'lakchasini yaratmoqchimisiz, uning ustida ish stoli ilovalari va o'yinlarini ishga tushirish mumkinmi? Keyin siz kerakli joyga keldingiz! Oddiy o'yinlarda atrof -muhit bilan muloqot qilish uchun sichqoncha va klaviaturadan foydalanasiz. Shuning uchun biz yuborishimiz kerak
Java tanlovi yaratuvchisi: 13 qadam

Java Choice Maker: Bu yo'riqnomada foydalanuvchi kiritadigan variantlar ro'yxatidan tanlovni amalga oshiradigan java dasturini tuzish ko'rsatiladi. Dasturni yaratish uchun java va IDE haqida asosiy bilimlar. Har bir qadam 2 daqiqadan oshmasligi kerak
Mummybot davralari tanlovi: 6 qadam (rasmlar bilan)

Mummybot davralari muammosi: "Robototexnika" ga kirish darsida biz elektr va sxemalar haqida bilib oldik. Faoliyatni tanishtirish uchun men JessyRatFink -ning Mummybot -ni oladigan va asosiy sxemalarni qo'shadigan juda qisqa slayd -shou (ilova qilingan) qildim. Men talabalarga vazifani topshirdim
Fpga boshqariladigan RC Servo dvigatelli robot qo'l - Digilent tanlovi: 3 qadam

Fpga boshqariladigan RC Servo motorli robot qo'l - Digilent tanlovi: FPGA boshqariladigan servo motorli robot qo'l Tizim Digilent Basys3 ishlab chiqish kengashiga asoslangan va u lehimlashga qodir bo'ladi