-
Fototrend
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Undoroid
őstag
Szia Aryes!
Végre volt egy kis időm és nekiugrottam ennek a projektnek! Sikerült végre életre kelteni a DHT11, Arduino Nano V3, 2x16-os LCD trióból építhető hőmérséklet- és páratartalom indikáló szerkezetet! A kódja eredetileg UNO-hoz készült, de Nano-val is működik:
#include <LiquidCrystal.h>LiquidCrystal lcd(4, 5, 0, 1, 2, 3);byte degree_symbol[8] ={0b00111,0b00101,0b00111,0b00000,0b00000,0b00000,0b00000,0b00000};int gate=11;volatile unsigned long duration=0;unsigned char i[5];unsigned int j[40];unsigned char value=0;unsigned answer=0;int z=0;int b=1;void setup(){lcd.begin(16, 2);lcd.print("Temp = ");lcd.setCursor(0,1);lcd.print("Humidity = ");lcd.createChar(1, degree_symbol);lcd.setCursor(9,0);lcd.write(1);lcd.print("C");lcd.setCursor(13,1);lcd.print("%");}void loop(){delay(500);while(1){delay(500);pinMode(gate,OUTPUT);digitalWrite(gate,LOW);delay(20);digitalWrite(gate,HIGH);pinMode(gate,INPUT_PULLUP);//by default it will become high due to internal pull up// delayMicroseconds(40);duration=pulseIn(gate, LOW);if(duration <= 84 && duration >= 72){while(1){duration=pulseIn(gate, HIGH);if(duration <= 26 && duration >= 20){value=0;}else if(duration <= 74 && duration >= 65){value=1;}else if(z==40){break;}i[z/8]|=value<<(7- (z%8));j[z]=value;z++;}}answer=i[0]+i[1]+i[2]+i[3];if(answer==i[4] && answer!=0){lcd.setCursor(7,0);lcd.print(i[2]);lcd.setCursor(11,1);lcd.print(i[0]);}z=0;i[0]=i[1]=i[2]=i[3]=i[4]=0;}}
A felmerült hiba megoldása pedig (immár) egyszerű: user error! Ha jobban odafigyeltem volna, akkor hamarabb észreveszem, hogy az Uno- és a Nano annyiban (is) különbözik egymástól, hogy az RX/TX csatlakozásaik fordítva helyezkednek el a PCB-n! Nálam ezt még tetézte az is, hogy erősen használt volt a hozzám került Breadboard és van rajta egy-két pin, ami bizony kontakthibás!Annyi kérdésem lenne még ezzel kapcsolatban, hogy a kijelzett értékeket nem-e lehetne kibővíteni -a programsor módosításával- úgy, hogy a mért értékek egy tizedesértékig lennének kijelezve? Ami biztos, hogy a " C " és a " % " jeleket kettővel el kell mozdítani a jelenlegi helyéről, amit a
set cursorparanccsal lehet megoldani...
Új hozzászólás Aktív témák
- Vízhűtéses egyég adatközpontokhoz - Schneider Electric RC ACRC301H - új ára 4,5 Milió Ft
- KFA2 RTX 2060 Super 8GB
- Ryzen5 5600X/ RTX 3060Ti/ 32GB DDR4 alapú konfig/ garancia/ ingyen foxpost
- Apple MacBook Air 13 M1 8GB RAM/256 SSD Asztroszürke
- 4ÉV GAR!! Lenovo X1 Carbon 11th Gen OLED KIJ. i7-1365U 16GB/512GB Intel Iris Xe Graph Magyar v.bill
- iPhone 13 Pro 128GB 100% (1év Garancia)
- ÁRGARANCIA!Épített KomPhone i9 14900KF 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Nintendo Switch OLED 64GB +256GB fekete játékkonzol garanciával hibátlan működéssel
- Bomba ár! HP 255 G7 - AMD A4 I 4GB I 128SSD I HDMI I 15,6" HD I Radeon I HDMI I W11 I Cam I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest
ekkold
