Fórum témák
- • Arduino
- • Rádiótechnika számok keresése
- • Szárítógép problémák
- • Robotfűnyíró vagy fűnyíró robot
- • Lézer érzékelő
- • Erősítő mindig és mindig
- • Napelem alkalmazása a lakás energia ellátásában
- • Számítógép hiba, de mi a probléma?
- • Transzformátor készítés, méretezés
- • Porszívó javítás
- • Rendelés külföldről (eBay - Paypal)
- • Szobatermosztát bekötése
- • Fejhallgató erősítő
- • Sárga Kazettás Piaci Nintendo (8bit)
- • Klíma beszerelése, fűtés-hűtés házilag
- • Hűtőgép probléma
- • Kutya macska (vad) riasztó
- • FET vezérlése
- • Muzeális készülékek-alkatrészek restaurálása
- • Oszcilloszkóp, avagy hogyan kell használni?
- • Toroid transzformátor
- • LCD TV probléma
- • Elektromos távirányítós kapunyitó
- • Videomagnó problémák
- • SMD forrasztás profin
- • Érdekességek
- • CNC építése házi alkatrészekből az alapoktól
- • Ki hol gyártatja a NYÁK-ot ?
- • Felajánlás, azaz ingyen elvihető
- • Kazettás magnó (deck) javítása
- • HESTORE.hu
- • Hibrid erősítő
- • Borhűtő vezérlő panel
- • Karácsonyi fényfüzérek
- • Mosogatógép hiba
- • PC táp átalakítás
- • LED-es világítás
- • Kombikazán működési hiba
- • Áramlökés határoló lágyindító
- • Rádió adó építése
- • Akkus lámpa javítás
- • Villanyszerelés
- • Elektromos tolókapu
- • Villanypásztor
- • Li-Po - Li-ion akkumulátor és töltője
- • Gondolkodó ház avagy házautomatizálás
- • Mikrohullámú sütő javítás, magnetron csere, stb.
- • Kapcsolási rajzot keresek
- • Műhelyünk felszerelése, szerszámai
- • Rádióamatőrök topikja
- • Villanymotor mi a hiba?
- • Eredményjelző
- • Számítógép tápegység
- • ARM CPU assembler programozás
- • Autórádió (fejegység) problémák, kérdések, válaszok
» Több friss téma
|
A klónok CH340 Soros-USB illesztőjének drivere ( Letöltés)
Ha analóg a jel, akkor már eleve csak az if jöhet szóba.
Mert ott nem kapsz fix értéket a zaj miatt.
És csak az if-ben van if( A>x && A <Y){akkor középnek elfogadjuk}
Köszi ! Lehet digitális is, 2 pin bemenetként és azok kombinációja ha az célszerűbb - egyszerűbb ? Melyiket ajánlod kezdő(k)nek ? A hozzászólás módosítva: Jún 17, 2019
Két digitális pin. Swich case mert abban van default érték is. Ha egyik magas balra forog. Ha a másik akkor jobbra. Ha még egyik sem magas akkor a default jobbra balra. Így nem is kell a három állás csak kettő. Persze elsőnek jobb lenne ha három digitális pin el oldanád meg case-l. Annyit tegyél meg hogy utána nézel hogyan kell a prell elkerülése érdekében egy függvényt létrehozni ami kiolvassa a digitális labak értéket. Majd csak utána ez a feltétel. A prell-nek olvass utána! A hozzászólás módosítva: Jún 17, 2019
Ok, akkor ezzel a módszerrel kezdek neki. Majd biztos lesznek még kérdéseim, de először olvasgatom a referenciát és a hasonló programokat. Köszi ! -kapu48-nak is !
És még vannak buktatók.
És a H hidat nem illik szembe kapcsolni, mert szétdurran.
A motornak van lendülete, előbb lekel fékezni, aztán illik elindítani a másik irányba.
Ha analóg mérést is akarsz, akkor a motort teljesen független tápegységről kel járatni.
A motor zajgenerátor, a digitális eszközök pedig hibásan működnek az elektromos zajtól. A hozzászólás módosítva: Jún 17, 2019
Köszi ! Ez egy mini teljesítményű 3 V-os kis motor, ami kinetikus karórát forgat amikor nincs a páciens kezén.... Így mehet egy tápról, hogy az Attiny 12 V-ot kap az in lábon, a híd pedig lecsökkentve ( LM317) 3 V-ot ?
Sziasztok!
két kérdésem lenne:
1. A Nano Vin pinjére mekkora feszt lehet kapsolni és mire szolgál?
2. Hogyan tudok egy 3A /+-10%/ korlátot csinálni Nanóval 10-12V tápegységgel? Nem kell pontosnak lennie.
Köszi.
Sziasztok,
Egy 3.95-ös TFT LCD, amin „www.mcufriend.com” van irva, a kovetkező infót adja vissza soros porton:
Read Registers on MCUFRIEND UNO shield
controllers either read as single 16-bit
e.g. the ID is at readReg(0)
or as a sequence of 8-bit values
in special locations (first is dummy)
reg(0x0000) 00 00 ID: ILI9320, ILI9325, ILI9335, ...
reg(0x0004) 00 00 00 00 Manufacturer ID
reg(0x0009) 00 00 00 00 00 Status Register
reg(0x000A) 00 00 Get Power Mode
reg(0x000C) 00 00 Get Pixel Format
reg(0x0061) 00 00 RDID1 HX8347-G
reg(0x0062) 00 00 RDID2 HX8347-G
reg(0x0063) 00 00 RDID3 HX8347-G
reg(0x0064) 00 00 RDID1 HX8347-A
reg(0x0065) 00 00 RDID2 HX8347-A
reg(0x0066) 00 00 RDID3 HX8347-A
reg(0x0067) 00 00 RDID Himax HX8347-A
reg(0x0070) 00 00 Panel Himax HX8347-A
reg(0x00A1) 00 00 00 00 00 RD_DDB SSD1963
reg(0x00B0) 00 00 RGB Interface Signal Control
reg(0x00B4) 00 00 Inversion Control
reg(0x00B6) 00 00 00 00 00 Display Control
reg(0x00B7) 00 00 Entry Mode Set
reg(0x00BF) 00 00 00 00 00 00 ILI9481, HX8357-B
reg(0x00C0) 00 00 00 00 00 00 00 00 00 Panel Control
reg(0x00C8) 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA
reg(0x00CC) 00 00 Panel Control
reg(0x00D0) 00 00 00 Power Control
reg(0x00D2) 00 00 00 00 00 NVM Read
reg(0x00D3) 00 00 00 00 ILI9341, ILI9488
reg(0x00D4) 00 00 00 00 Novatek ID
reg(0x00DA) 00 00 RDID1
reg(0x00DB) 00 00 RDID2
reg(0x00DC) 00 00 RDID3
reg(0x00E0) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-P
reg(0x00E1) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 GAMMA-N
reg(0x00EF) 00 00 00 00 00 00 ILI9327
reg(0x00F2) 00 00 00 00 00 00 00 00 00 00 00 00 Adjust Control 2
reg(0x00F6) 00 00 00 00 Interface Control
Akkor szerintetek ez mi lehet ? Vagy egyik sem ? A hozzászólás módosítva: Jún 17, 2019
Szia!
Nem a rengeteg nulláknak kellene tartalmaznia az adatokat?
Az a helyzet hogy nem tudom
Mivel olvasod ki? Kód van? Nekem úgy tűnik ott kell keresni valamit, mert az adatok nem jönnek meg.
ezzel olvastam
// adapted LCD_ID_Reader http://misc.ws/lcd_information
// controllers either read as 16-bit or as a sequence of 8-bit values
//-- Arduino UNO or Mega 2560 Plugged as shield
/*
#define LCD_RST A4
#define LCD_CS A3
#define LCD_RS A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_D0 8
#define LCD_D1 9
#define LCD_D2 2
#define LCD_D3 3
#define LCD_D4 4
#define LCD_D5 5
#define LCD_D6 6
#define LCD_D7 7
*/
#define LCD_CS 33 // Chip control pin (library pulls permanently low
#define LCD_DC 15 // Data Command control pin - use a pin in the range 0-31
#define LCD_RS 32 // Reset pin, toggles on startup
#define LCD_WR 4 // Write strobe control pin - use a pin in the range 0-31
#define LCD_RD 2 // Read strobe control pin - use a pin in the range 0-31
#define LCD_D0 12 // Must use pins in the range 0-31 for the data bus
#define LCD_D1 13 // so a single register write sets/clears all bits.
#define LCD_D2 26 // Pins can be randomly assigned, this does not affect
#define LCD_D3 25 // TFT screen update performance.
#define LCD_D4 17
#define LCD_D5 16
#define LCD_D6 27
#define LCD_D7 14
void setup()
{
Serial.begin(9600);
while (!Serial) ;
Serial.println("Read Registers on MCUFRIEND UNO shield");
Serial.println("controllers either read as single 16-bit");
Serial.println("e.g. the ID is at readReg(0)");
Serial.println("or as a sequence of 8-bit values");
Serial.println("in special locations (first is dummy)");
Serial.println("");
lcdInit();
lcdReset(); //ensures that controller is in default state
// for (uint16_t i = 0; i < 256; i++) readReg(i, 7, "f.k");
readReg(0x00, 2, "ID: ILI9320, ILI9325, ILI9335, ...");
readReg(0x04, 4, "Manufacturer ID");
readReg(0x09, 5, "Status Register");
readReg(0x0A, 2, "Get Power Mode");
readReg(0x0C, 2, "Get Pixel Format");
readReg(0x61, 2, "RDID1 HX8347-G");
readReg(0x62, 2, "RDID2 HX8347-G");
readReg(0x63, 2, "RDID3 HX8347-G");
readReg(0x64, 2, "RDID1 HX8347-A");
readReg(0x65, 2, "RDID2 HX8347-A");
readReg(0x66, 2, "RDID3 HX8347-A");
readReg(0x67, 2, "RDID Himax HX8347-A");
readReg(0x70, 2, "Panel Himax HX8347-A");
readReg(0xA1, 5, "RD_DDB SSD1963");
readReg(0xB0, 2, "RGB Interface Signal Control");
readReg(0xB4, 2, "Inversion Control");
readReg(0xB6, 5, "Display Control");
readReg(0xB7, 2, "Entry Mode Set");
readReg(0xBF, 6, "ILI9481, HX8357-B");
readReg(0xC0, 9, "Panel Control");
readReg(0xC8, 13, "GAMMA");
readReg(0xCC, 2, "Panel Control");
readReg(0xD0, 3, "Power Control");
readReg(0xD2, 5, "NVM Read");
readReg(0xD3, 4, "ILI9341, ILI9488");
readReg(0xD4, 4, "Novatek ID");
readReg(0xDA, 2, "RDID1");
readReg(0xDB, 2, "RDID2");
readReg(0xDC, 2, "RDID3");
readReg(0xE0, 16, "GAMMA-P");
readReg(0xE1, 16, "GAMMA-N");
readReg(0xEF, 6, "ILI9327");
readReg(0xF2, 12, "Adjust Control 2");
readReg(0xF6, 4, "Interface Control");
}
void loop()
{
// put your main code here, to run repeatedly:
}
void printhex(uint8_t val)
{
if (val < 0x10) Serial.print("0");
Serial.print(val, HEX);
}
void readReg(uint16_t reg, uint8_t n, const char *msg)
{
uint8_t val8;
lcdReset();
lcdSetWriteDir();
lcdWriteCommand(0xB0); //Command Access Protect
lcdWriteData(0x00); //looks wrong
/*
lcdWriteCommand(0xF6);
lcdWriteData(0x01);
lcdWriteData(0x01);
lcdWriteData(0x03);
*/
lcdWriteCommand(reg);
Serial.print("reg(0x");
printhex(reg >> 8);
printhex(reg);
Serial.print(")");
lcdSetReadDir();
while (n--) {
val8 = lcdReadData8();
Serial.print(" ");
printhex(val8);
}
lcdSetWriteDir();
Serial.print("\t");
Serial.println(msg);
}
void lcdInit()
{
pinMode(LCD_CS, OUTPUT);
digitalWrite(LCD_CS, HIGH);
pinMode(LCD_RS, OUTPUT);
digitalWrite(LCD_RS, HIGH);
pinMode(LCD_WR, OUTPUT);
digitalWrite(LCD_WR, HIGH);
pinMode(LCD_RD, OUTPUT);
digitalWrite(LCD_RD, HIGH);
pinMode(LCD_RS, OUTPUT);
digitalWrite(LCD_RS, HIGH);
}
void lcdReset()
{
digitalWrite(LCD_RS, LOW);
delay(2);
digitalWrite(LCD_RS, HIGH);
delay(10); //allow controller to re-start
}
void lcdWrite8(uint16_t data)
{
digitalWrite(LCD_D0, data & 1);
digitalWrite(LCD_D1, (data & 2) >> 1);
digitalWrite(LCD_D2, (data & 4) >> 2);
digitalWrite(LCD_D3, (data & 8) >> 3);
digitalWrite(LCD_D4, (data & 16) >> 4);
digitalWrite(LCD_D5, (data & 32) >> 5);
digitalWrite(LCD_D6, (data & 64) >> 6);
digitalWrite(LCD_D7, (data & 128) >> 7);
}
uint16_t lcdRead8()
{
uint16_t result = digitalRead(LCD_D7);
result <<= 1;
result |= digitalRead(LCD_D6);
result <<= 1;
result |= digitalRead(LCD_D5);
result <<= 1;
result |= digitalRead(LCD_D4);
result <<= 1;
result |= digitalRead(LCD_D3);
result <<= 1;
result |= digitalRead(LCD_D2);
result <<= 1;
result |= digitalRead(LCD_D1);
result <<= 1;
result |= digitalRead(LCD_D0);
return result;
}
void lcdSetWriteDir()
{
pinMode(LCD_D0, OUTPUT);
pinMode(LCD_D1, OUTPUT);
pinMode(LCD_D2, OUTPUT);
pinMode(LCD_D3, OUTPUT);
pinMode(LCD_D4, OUTPUT);
pinMode(LCD_D5, OUTPUT);
pinMode(LCD_D6, OUTPUT);
pinMode(LCD_D7, OUTPUT);
}
void lcdSetReadDir()
{
pinMode(LCD_D0, INPUT);
pinMode(LCD_D1, INPUT);
pinMode(LCD_D2, INPUT);
pinMode(LCD_D3, INPUT);
pinMode(LCD_D4, INPUT);
pinMode(LCD_D5, INPUT);
pinMode(LCD_D6, INPUT);
pinMode(LCD_D7, INPUT);
}
void lcdWriteData(uint16_t data)
{
lcdSetWriteDir();
digitalWrite(LCD_CS, LOW);
digitalWrite(LCD_RS, HIGH);
digitalWrite(LCD_RD, HIGH);
digitalWrite(LCD_WR, HIGH);
lcdWrite8(data >> 8);
digitalWrite(LCD_WR, LOW);
delayMicroseconds(10);
digitalWrite(LCD_WR, HIGH);
lcdWrite8(data);
digitalWrite(LCD_WR, LOW);
delayMicroseconds(10);
digitalWrite(LCD_WR, HIGH);
digitalWrite(LCD_CS, HIGH);
}
void lcdWriteCommand(uint16_t command)
{
lcdSetWriteDir();
digitalWrite(LCD_CS, LOW);
digitalWrite(LCD_RS, LOW);
digitalWrite(LCD_RD, HIGH);
digitalWrite(LCD_WR, HIGH);
lcdWrite8(command >> 8);
digitalWrite(LCD_WR, LOW);
delayMicroseconds(10);
digitalWrite(LCD_WR, HIGH);
lcdWrite8(command);
digitalWrite(LCD_WR, LOW);
delayMicroseconds(10);
digitalWrite(LCD_WR, HIGH);
digitalWrite(LCD_CS, HIGH);
}
uint8_t lcdReadData8()
{
uint8_t result;
lcdSetReadDir();
digitalWrite(LCD_CS, LOW);
digitalWrite(LCD_RS, HIGH);
digitalWrite(LCD_RD, HIGH);
digitalWrite(LCD_WR, HIGH);
digitalWrite(LCD_RD, LOW);
delayMicroseconds(10);
result = lcdRead8();
digitalWrite(LCD_RD, HIGH);
delayMicroseconds(10);
return result;
}
uint16_t lcdReadData16()
{
uint16_t result;
result = lcdReadData8() << 8;
result |= lcdReadData8();
return result;
}
void lcdWriteRegister(uint16_t addr, uint16_t data)
{
lcdWriteCommand(addr);
lcdWriteData(data);
}
Van ilyen hogy
Idézet: „RM68140 320x480 ID=0x6814 #define SUPPORT_68140” ???
1. A hivatalos doksiban le van írva, hogy mire való a Vin és mekkora feszt tolerál.
2. Hacsak nem indokolt, akkor én ehhez nem használnék arduino-t. Ehhez kell egy sönt, egy dual opamp és egy FET, illetve analógban egy poti és valami referencia. Ez utóbbit ki tudod váltani analóg PWM kimenettel és egy (több) RC filterrel.
Akinek válaszoltam, az nanot kérdezett...
Igen, a munkahelyemen, a legnagyobb meló közben, mobilról, elég nehéz leírni. : )
Nincs semmilyen Hall, egyenlőre csak normál nyomógombok. A Hall és érintő szenzor, majd a kész változatban lesz.
Akkor kellene szólni egy akkordnak, ha a 12 hang közül egy és a 4 akkord bemenet közül egy, egyszerre alacsony szintre kerül. Mert ugye a bemenetek állandó magas szinten vannak, nyugalmi helyzetben.
Lehet, hogy az egygombos akkord vezérlő túl van bonyolítva, de az stabilan működik, mindegy, hogy Hall szenzorral húzom alacsony szintre, vagy egy darab vezetékkel.
Ezt szerettem volna elérni úgy, hogy egyszerre két bemenet kombinációja aktiválja az akkordokat, ezzel kibővítve a jelenlegi 13-at, 48 akkordra. Na ezt nem gondoltam, hogy ez a kis változtatás, ennyire bonyolult.
Már gondoltam arra, hogy minden bemenetet megcsinálok egy hangra és fizikálisan hozom össze az akkord vezérlést, diódákkal, tranzisztorokkal, de annyi időm mostanában nincs, meg a hely is kevés lenne hozzá.
Azért nagyon köszönöm, hogy ennyit foglalkoztál a dologgal.
Nem értem mi a gond. Azonban biteket tologat mikor a digitális lábakról olvas, de 16 bites változóban tárolja. 159.sorban nem lenne elég uint8_t lcdRead8()-ra változtatni? Azért gondolom, mert a 98. sorban egy 8 bites változó fogja ezt felvenni ami kiíratásra kerül majd.
De nem vágom ennyire ezt a kódot. A másik, hogy az ESP-hez illesztetted a lábkiosztást? A hozzászólás módosítva: Jún 17, 2019
Ez az esp32 nagyon lemarat könyvtár támogatás terén (borravaló)sem lett belőle!
A kijelző tipusa sem látszik... A chipsetet nézd meg mivel szerelt, ahhoz tudsz könyvtárat keríteni.
Jó eséllyel https://github.com/Bodmer/TFT_eSPI tudja. Én használtam ezt a könyvtárat jól működött. Azóta már jócskán bővült ez a lib, nem próbáltam.
Tulajdon képen érdekelt volna a téma, mert én is most készülök valami MIDI vezérlőt készíteni.
Sajnálom, hogy ilyen kevés időd van.
De ez így nem működik!
Azt mondod HAL kapcsolók, én erre kiszedem a prrelezés szűrést.
Erre elkezdesz panaszkodni, hogy veszettül prrelez az egész.
Most kiderül, hogy sima gombok vannak csak. Már fogalmam sincs, mit lehet neked elhinni?
Kívánok NEKED jó szórakozást!
..ne legyel akkor szabaduloszoba jatekelem készítő, ahol egyedi jatekelemek vannak, ezert nagyon sokszor utolag kell javitani, finomitani, visszabontani, es epiteni. + vandalbiztosra kell elkészíteni eleg sok mindent, kapcsolót, stb. A hozzászólás módosítva: Jún 19, 2019
Ezt most nem értem, hogyan jön ide játék?
Itt kölcsönös egymás segítéséről lenne szó általában.
De ha csak én segítek, a partner viszont csak kavar, meg válaszhelyet nem ér rá.
Ne nézzenek már madárnak.
..csak egy viccel probaltam oldani a hangulatot, mert vannak olyan teruleteket, ahol sajnos sűrűn elofordul, hogy a megrendelő többször is gondol egyet, es atvarialja az addig megbeszélteket. ..de természetesen ertem, hogy per.pill. mire gondolsz.
Sziasztok! Kezdő vagyok Arduino-ban. Az lenne a kérdésem hogy egy utasítással csak 1 pint lehet írni vagy olvasni? Egyszerre többet nem?
Ahhoz, hogy segíteni tudjanak a többiek, több információt kellene adnod, amit ugyan leírtál a másik témában, de akik itt olvassák a kérdésedet, nem tudnak.
Eredetileg egy fűtőszálat szerettél volna 3A-rel használni.
1. Meg kell nézni, melyik fajta van neked, de általában LM1117 stabilizátorra megy a Vin, ami a spec. szerint Vin= 7...12V. Viszont az IC adatlapja szerint a 12V az abszolút határ, amin nem kellene üzemeltetni. Ha 10-12V-ról akarod használni, akkor tegyél be sorba még 2-3db diódát, hogy biztosan ne legyen baj.
2. Le kell mérned vagy ki kell számolnod a fűtőszál ellenállását.
Az elvárt áram igényből (3A) és az ellenállás értékéből ki lehet számolni mekkora feszültség szükséges hozzá. Leméred, hogy mennyi a 10-12V-od, és abból visszaszámolod, hogy mekkora kitöltési tényező kell hozzá. Ezt kiadod az egyik analóg kimeneten. Igazából nem áramgenerátor lesz ez így, hanem egy feszültség generátor, de mivel a terhelés nagyjából állandó, ezért a kialakuló áram is állandó lesz.
A hardverhez egy kb. 20-30A-es logikai szintű fetet választanék (pl.: IRLZ34N), egy gyors szabadonfutó diódával (pl.: MBR1045), az aurdino analóg kimenete és a fet gate-je közé meg illene még egy meghajtó fokozat, egy PNPés NPN emitterkövetőből és egy kb. 10R-os ellenállásból.
Nem is lattam a kérdező kérdését.
Én aramkorlatozasra ilyet hasznalnek, vagyis kiprobalnam.
..gondolom az a cél, hogy a 12v-ot ne tudja 3A-nel jobban terhelni.
..de ezt a hall elemes arammmerot meg nem probaltam, pedig van is otthon, csak idő nincs rá. A hozzászólás módosítva: Jún 20, 2019
Ezzel nem fogsz áramot korlátozni, csak mérni. Esetleg lehetne egy 0.1Ohm-0.3 Ohm-os sönt (1W/3W) ellenállás, meg az Arduino 10bites ADC-jét használni, 1100mV referenciával is bőven kielégítő eredményt hozna (persze az áram jelét ki kellene símítani egy RC taggal, hogy az átlagot tudjuk mérni). 0.1Ohm söntnél a 10bit-nek az 1/3-a lenne kihasználva, gondolom elég lenne az is. Vagy LM358-cal fel kell erősíteni egy még kisebb sönt jelét, ha spórolni akarunk az akku kapacitásával.
|
|