- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Bluetooth hangszórók
- Azonnali fotós kérdések órája
- Raspberry Pi
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Szünetmentes tápegységek (UPS)
- Nem indul és mi a baja a gépemnek topik
- AMD Navi Radeon™ RX 9xxx sorozat
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
-
PROHARDVER!
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
-
dave0825
őstag
Üdv. mindenkinek!
Szerintetek karácsonyig megoldható egy Arduino pro mini-vel egy ilyen ledes jégcsapfüzér összeállítása? Olyanra gondoltam, hogy 7x7-es led mátrixot csinálok, amire meg írok valami futófényes programot, hogy mikor melyik eleme kapcsoljon be a mátrixnak. Mi kell hozzá szerintetek a ledeken, az ardun, a vezetékeken, a tápon és az ellenállásokon kívül? Illetve megoldható led mátrix-szal? Mivel karácsonyig kellene, így ebay-es rendeléseket ki kell zárnom.
-
-
junhum
tag
-
junhum
tag
Sziasztok!
Volna egy kopizott kódom:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <OneWire.h>
#include <DallasTemperature.h>
//pro teploměr
#define ONE_WIRE_BUS D4
#define TEMPERATURE_PRECISION 9
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress insideThermometer, outsideThermometer;
float teplota;
String termOUT;
String termIN;
#define SCKLED 5
const char *ssid = "SSID";
const char *password = "PASSWORD";
MDNSResponder mdns;
ESP8266WebServer server(80);
const int led = 13;
//pro server
void handleRoot()
{
digitalWrite(SCKLED, 1);
char temp[450];
int sec = millis() / 1000;
int min = sec / 60;
int hr = min / 60;
uint8 index = termOUT.indexOf('.');
int restOUT = termOUT.substring(index+1).toInt();
int temperatureOUT = termOUT.toInt();
index = termIN.indexOf('.');
int restIN = termIN.substring(index + 1).toInt();
int temperatureIN = termIN.toInt();
snprintf(temp, 450,
"<html>\
<head>\
<meta http-equiv='refresh' content='5'/>\
<title>ESP8266 Demo</title>\
<style>\
body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\
</style>\
</head>\
<body>\
<h1>Teplota v Kuncicich pod Ondrejnikem</h1>\
<p>Uptime: %02d:%02d:%02d</p>\
<p>Teplota venku: %02d.%01d°C</p>\
<p>Teplota doma: %02d.%01d°C</p>\
</body>\
</html>",
hr, min % 60, sec % 60, temperatureOUT,restOUT,temperatureIN,restIN
);
server.send(200, "text/html", temp);
digitalWrite(led, 0);
}
void handleNotFound() {
digitalWrite(led, 1);
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET) ? "GET" : "POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i = 0; i < server.args(); i++) {
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
server.send(404, "text/plain", message);
digitalWrite(led, 0);
}
void setup(void)
{
pinMode(led, OUTPUT);
pinMode(SCKLED,OUTPUT);
digitalWrite(SCKLED,LOW);
digitalWrite(led, 0);
Serial.begin(9600);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
if (mdns.begin("esp8266", WiFi.localIP())) {
Serial.println("MDNS responder started");
}
server.on("/", handleRoot);
server.on("/inline", []() {
server.send(200, "text/plain", "this works as well");
});
server.onNotFound(handleNotFound);
server.begin();
Serial.println("HTTP server started");
//digitalWrite(SCKLED, HIGH);
//teploměry
sensors.begin();
Serial.println("***************************************************");
Serial.print("Pocet teplomeru: ");
Serial.println(sensors.getDeviceCount(), DEC);
//zjisti adresy
oneWire.reset_search();
if (!oneWire.search(insideThermometer)) Serial.println("Vnitrni teplomer nenalezen!");
if (!oneWire.search(outsideThermometer)) Serial.println("Vnejsi teplomer nenalezen!");
Serial.print("Adresa teplomeru 1: ");
printAddress(insideThermometer);
Serial.println();
Serial.print("Adresa teplomeru 2: ");
printAddress(outsideThermometer);
Serial.println();
//nastav rozlišení
sensors.setResolution(insideThermometer, TEMPERATURE_PRECISION);
sensors.setResolution(outsideThermometer, TEMPERATURE_PRECISION);
//načti všechny teploměry
sensors.requestTemperatures();
//vytiskni data na seriák
printData(insideThermometer);
printData(outsideThermometer);
}
void loop(void)
{
digitalWrite(led, LOW);
mdns.update();
server.handleClient();
sensors.requestTemperatures();
teplota = sensors.getTempC(insideThermometer);
digitalWrite(led, HIGH);
termOUT = String(teplota, 1);
teplota = sensors.getTempC(outsideThermometer);
termIN = String(teplota, 1);
digitalWrite(led, LOW);
}
//pro teploměry
void printAddress(DeviceAddress deviceAddress)
{
for (uint8_t i = 0; i < 8; i++)
{
// zero pad the address if necessary
if (deviceAddress[i] < 16) Serial.print("0");
Serial.print(deviceAddress[i], HEX);
}
}
void printData(DeviceAddress deviceAddress)
{
Serial.print("Adresa teplomeru ");
printAddress(deviceAddress);
Serial.print(":");
printTemperature(deviceAddress);
}
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
Serial.print("Teplota: ");
Serial.print(tempC);
Serial.write(176);
Serial.println("C");
}A 137. sorban declaraciós hibát dob, mit kellene átírnom?
[ Módosította: MurdR ]
-
A felállás:
L7135 IC + 1W os power ledA kérdéseim:
1.) Milyen kondenzátort válasszak Cout-ra? 1uF 50V vagy 1uF 10V?
2.) Cin ha lemarad lesz gond?
3.) Arduinos vezérlés sima PWM tutorialból ki tudom elvileg nézni?Jövőhéten egy próbapanelen összerakom a kapcsolást.
Köszönöm!!
-
Pubszon
veterán
Van 3 halott arduinom, egyiken megy a blink de nem lehet rátölteni, másik USB-n nem vesz fel áramot, harmadikat pedig a gép látja de mégsem lehet rátölteni.
2 nano meg egy uno.
Valakinek nem kell esetleg pár kis alkatrészért cserébe? -
gyapo11
őstag
Pár dolog kell hozzá.
- amikor a gombot megnyomod, egy változóba be kell írni a villogó állapotot
- kezdődhet a villogtatás
- meg kell várni, amíg a gombot felengeded
- ezután figyelni kell, hogy mikor nyomod meg újra
- ha megnyomtad, változóba nem villogó állapotot írni
- villogást kikapcsolni
- figyelni, hogy mikor engeded föl a gombot
- ha fölengedted, akkor vissza az elejére -
Kommy
veterán
hogyan tudom azt megcsinálni, hogy ha megnyomok egy gombot akkor kezdjen el villogni addig míg meg nem nyomom még egyszer a gombot, az adatot bluetooth-on kapja az arduino?
-
Drótszamár
őstag
Seeedstudio akciózik ma. Hátha érdekel innen valakit: http://itcafe.hu/tema/bestbuy_avagy_minden_ami_akcios_itthon_es_kulfoldo/hsz_7982-7982.html
-
Saua
tag
Szia
Nézegetem ezt a Blynk programot. Ha jól értem az arduino és a telefonon futó app is kliensként csatlakozik a Blynk szerveréhez, jobban szeretném ha a saját szerveremhez csatlakoznának. Ez megoldható valahogy? Hirtenjében nem találtam semmit erre vonatkozóan.
Eddig az App Invertort használtam felhasználói felületet készíteni arduinohoz Androidra, azzal el lehet menteni a kész .apk fájlt, tehát telepítheő formában el lehet küldeni másnak is a kész applikációt. A Blynk –el lehet ilyesmit csinálni, vagy feltétlenül telepíteni kell az egész Blynk applikációt? -
Andreas2
tag
Banggood-ról még nem rendeltem (raktár: CN Warehouse) ez mit jelent? azért dec végére örülnék ha megjönne..
Akkor olyan cuccokat kell nézned amelyek mellett van EU warehouse is. Ez kb. 20-30% pluszt jelent árban, de többnyire 1-1,5 hét alatt megjön. A legutóbb egy hétfői rendelésem jövő hét kedden jött meg az EU raktárból.
-
gyapo11
őstag
Apropó dátomot hogy lehet megoldani?
Simán beolvasod az idővel együtt.Mi biztosít arról hogy pl áramszünet esetén nem fog elindulni?
Ha nincs szünetmentes tápellátás, akkor a programot úgy kell megírni, hogy reset után ne csináljon hülyeségeket. Tehát eltárolni eepromba aktuális állapotokat, és amikor a program elindult, akkor az eepromból beolvasni és ott folytatni, ahol az áramszünet előtt abbamaradt.erre van valamilyen mintád, mi haszna van az altatásnak?
Nincs mintám, a sleepet még nem teszteltem. A haszna a nagyon kis fogyasztás, nyilván elemes-akkus tápellátásnál van értelme. Ha pl. neked naponta egyszer kell begyújtani, akkor vagy fogyaszt állandóan 10 mA-t és várja azt az egy időpontot, vagy alszik μA-es fogyasztással, majd az időpontnál az rtc fölébreszti, pár másodperc alatt elvégzi a teendőket és újra elalszik 24 órára. -
UBO
csendes tag
Köszönöm a kimerítő válaszokat és hogy ennyien foglalkoztok vele, lesz mit olvasnom a vonaton, csupa jó ötletek. Mennyi hasznos dolgot meg lehet oldani egy ilyen kis ketyerével. Az rtc sem rossz ötlet, kb 45 fok a teljes mozgástartomány (~20-25 foknál a max és ~45-nél a takarék), az óra azért is passzol mivel ha már trackkelném a hőmérsékletet és szénmonoxidot akkor jó lenne párosítani mellé egy időpontot is és dátumot. Apropó dátomot hogy lehet megoldani? rtc erre is képes?
Banggood-ról még nem rendeltem (raktár: CN Warehouse) ez mit jelent? azért dec végére örülnék ha megjönne.. az oké h beszerzem de az idő nagy részét a kódírás és személyre szabás viszi el. A linkelt szervo (Towerpro MG958) szívósnak néz ki, a videóban szépen emelgeti a tele vizes flakont. Az hogy mekkora nyomaték kell sztem esélyem sincs lemérni (gyanítom ez bőven megteszi). Mi biztosít arról hogy pl áramszünet esetén nem fog elindulni? (pl gondolok ilyen biztonsági sorra hogy csak egy megadott max tartományon mozoghat és még ha a menkű is csap ide nem fog továbbmenni)
@gyapo11 erre van valamilyen mintád, mi haszna van az altatásnak? alszik->felkel és ugyan úgy meg kell adnom hogy meddig forgassa, majd mennyi idő után vissza. Maximum áramot spórolok de itt most csak pár watt-ról beszélünk, valószínűsítem hogy nem elemről működtetem (max 1-2 évet maradok itt) hétvégén linkelek képet is hogy hova lenne, biztos lenne ötletetek a megvalósításról is ha valami hülyeségre gondolok. -
gyapo11
őstag
El lehetne gondolkodni a távvezérlés szükségességén is, egyszerűbb lenne egy szünetmentes tápellátás meg egy rtc modul. Be lehet altatni az arduinot, majd az rtc fölébreszti amikor kell, és bekapcsolja a fűtést. Bele lehet tenni mindenféle feltételt, hogy hétvégén ne akkor kapcsolja be, akár az ünnepnapokat egy évre előre az eepromba, vagy lehet rátenni dip kapcsolósort, és azon beállítani az eltéréseket. Ha elég combos a táp, akkor még a motort is rá lehet kötni és akkor is begyújt, ha éppen nincs áram.
-
gyapo11
őstag
Szerintem is az lesz. Mondjuk Nm-re átszámolva nem annyira szemléletes, mert ki forgat egy szelepet m-es erőkarral, inkább a 10 centi az jobban elképzelhető. Viszont akkor ezek 20 dkg körüliek 10 centis erőkarral, azt érdemes lenne kimérni, hogy biztonsággal forgatja-e az adott szelepet. A később belinkelt nagyobb, az 1.8 kg 10 centin, na az már döfi, azt már nem kell mérni mert letekeri a vascsővel együtt, ha beragad.
-
gyapo11
őstag
Pár elektronikai alapfogalmat még tisztáznod kell.
Diódát es tranzisztort haszsnaltok az ardurinohoz,mihez kellenek ezek?
Mondok egy példát diódára. Van egy hangszoro, amin az arduino is jelezhet, meg kívülről egy másik áramkör is. Ha simán összekötnénk a kettőt, akkor olyan esetben, amikor nem azonos a két kimenet szintje valami leégne. A két dióda viszont megakadályozza ezt, mert ha az egyik magas szinten van, amásik meg alacsonyan, akkor az egyik dioda nyitott állapotú, a másik meg zárt, így áram nem folyik.Szervonal kell a tranzisztor hogy ne egjen el a ardurino lap ha jol sejtem.
Valószínűleg arra gondolsz, hogy az arduino kimenetéből egy ellenálláson keresztül kis áram folyik a tranzisztor bázisába, ezt a tranzisztor fölerősíti maximum bétaszorosra, és így sokkal nagyobb áramokat tud vezérelni az arduino, mint amennyit a kimenetei elbírnának.
A tranzisztor alapfunkciója éppen ez, a kollektor-emitter áramerősség a bázis-emitter áramának bétaszorosa. A béta egy adott tranzisztorra jellemző szám.Hogy a te tervedhez kell-e tranzisztor vagy dióda azt így nem lehet megmondani, ha kapcsolási rajzot mutatsz, akkor már inkább.
-
Danex
addikt
A fejemben valóban egy digitális termosztátos kép volt, de alapjába véve erősek a szervók, de ezzel már szerintem mennie kell.
Fém fogaskerekek vannak benne és elég nagy a nyomaték. Videó
De mivel nem tudom mekkora erő kell a forgatásához, így sajnos ez vaktába találgatás, hogy elég-e az övé és kell-e az erősebb.
-
tvamos
nagyúr
Note: The ESP8266 Module is not capable of 5-3V logic shifting and will require an external Logic Level Converter. Please do not power it directly from your 5V dev board.
En kihagynam azt a szervot. Inkabb hasznalnek valamilyen fem fogaskerekes megoldast. Pl. amit o linkelt.
Homersekletet egy 20 Forintos NTC-vel is lehet merni, hamar az olcsosagnal tartunk.
-
Danex
addikt
Arduino nano 815Ft, a legtöbb modul 5V-os a 3.3V-al csak szívatnád magad
Szervo: 860Ft
ESP8266 1000Ft
DHT22 hőmérő és páratartalom 1500Ft
szénomonxid mérő 1100Ft
Ha csak tabletről, okostelefonról akarod vezérelni és nézni az adatokat (aránylag rövid ideig visszamenőleg, hogy meddig még nem tudom) grafikus formában akkor arra ott van a Blynk és a nehezebb részét megspórolod (gombok ahol nyomkodod a vezérlődet a neten).
De elküldheted az interneten egy adatbázisra ahol legenerálják neked a táblázatot, a grafikont meg minden ilyet (https://exosite.com/ , https://thingspeak.com/)
Az egész egy hobbi project, nem kell a legdrágábbat megvenni, csak az általad nézett arduino árából, majdnem kijön az egész project
schawo nem kell feleslegesen bonyolítani a dolgot, a szervo tudja hol áll, nem mozdul el magától sem, áramszünet esetén is csak annyira kell figyelni, hogy a kód jól legyen megírva ,hogy ne nyúljon hozzá magától.
-
Valami (pl hall) szenzoros ellenőrzést iktass be, mielőtt mondjuk egy áramszünetből visszatérve a motor lecsavarja a szelepet a konvektorról.
Hőmérőnek [link] 1-wire, könnyen használható [link].
Az Arduinon van egy 512 bytos EEPROM, ahova kiírhatod az adatokat. 512 byteban sok-sok hőmérsékletérték elfér.
-
UBO
csendes tag
Köszönöm a gyors válaszokat mindkettőtöknek!
A következő összeállításon gondolkozom:
Arduino:
Adafruit pro trinket 4 000 HUF (Ripbolt) itt 5v 16mhz van ugyan azon az áron mint a hestore-on a 3,3v 8mhz (megfelelőt választottam?) itt hogy viszem fel a "programot"?
Szervo:
[MG-90S servo] 1 900 HUF (Hestore) fém belső, bírja a gyűrődést (ehhez kell vmi kontroller? vagy önmagában is tudom irányítani?)
Wifi modul:
ESP8266 1 200 HUF (Hestore)
Táp:
otthon akad majd
Hőmérséklet mérő:
DS 1621S+ SMD 1 960 HUF (Hestore) elvárásom ezzel szemben: Accuracy Range: ± 0.5°C (esetleg más javaslat ami minimum ezt tudja)? -szeretném trackkelni a hőmérsékletetSzénmonoxid mérő:
CZGCO 5 000 HUF (Hestore) talán pontosabb mint a boltban kapható olcsó kategória. -ezt is szintén szeretném trackkelniA gombos ötletet köszi az is akad (van itthon pár régi számítógép azokból lehet ezt azt mazsolázni
)
Az adatokat h tudom menteni? webszerver vagy esetleg egy memóriakártya!? -ehhez mi kellene?
Beindult a fantáziám.
Lenne egy király kis diagrammom ahol vissza tudnám nézni a mért értékeket (ezt pl már egy excellel összedobnám ha a mentett adatokhoz hozzáférnék)
Nincs is jobb egy home made eszköznél
Milyen egyéb aprólékos cucc kell még? -
Danex
addikt
Persze, hogy megoldható, egy egyszerű szervomotor kell (kb 1500Ft), + egy arduino (1000Ft) + a modul amire a netre akarod kötni(én még csak vezetékkel raktam ki a netre a vezérlőt).
Plusz néznék néhány gombot, hogy ott helyben is lehessen állítani, ne csak telefonon keresztül.
De akkor már lehetne hőmérőt is venni hozzá (600Ft) és akkor neten keresztül ezt is lehet látni + okostelefonra ott a Blynk szoftver amivel grafikusan is látható akár visszamenőlegesen is, hogy változott a hőmérséklet stbstbstb.
schawo az egész amit leírtál kiváltható, ha vesz egy szervo-t aminek pontosan meg lehet adni ,hogy hány fokra forduljon, nem kell semmi relé és nem is kell nézni az elfordulást, hiszen a szervo ezt tudja magában.
-
Szerintem igen, bele kell hogy férjen. Kell egy relés vezérlés és egy fogaskerekes áttételezés a motornak. Egy hall effekt szenzorral figyelném egy analóg lábon az elfordulás mértékét, ez adná a visszacsatolást, ami alapján hajtanám a relén keresztül a motort. Ez így egy elég jó precíziós forgató mechanika lehetne, ha nem kell rohanni a forgatással, csak az a fontos, hogy a forgatási helyzetek legyenek pontosak.
-
UBO
csendes tag
Sziasztok,
Probléma amire keresem a megoldást:
Héra fűtés(el kell forgatni kb 30 fokkall egy kapcsolót) bekapcsolása távolról, hogy mire hazaérek meleg fogadjon és ne jégverem.
Elképzelés:
arduino+ESP8266 WiFi+kis motor
Vmi áttétellel meg megoldanám hogy 3s jobbra fordulás maximális fűtés +3s minimális 6s balra őrláng.
Megvalósítható vagy rossz helyen járok?
Motor van még a régi szép időkből(vagy 3-4 db is) ha megvalósítható akk belefér 15-be?
Hogy tudnék elindulni a megvalósítás útján? Másik opció hogy egész nap megy takarékon és mikor hazaérek (kb este 7) felkapcsolom maximálisra, de ez meg pazarlás...
Segítségeteket előre is köszönöm! -
artiny
őstag
Helo
Diódát es tranzisztort haszsnaltok az ardurinohoz,mihez kellenek ezek? /meg uj vagyok benne,egyik erositi az aramot - tranzisztor a dioda meg atengedi egy iranyba az aramot ?!?/
Szervonal kell a tranzisztor hogy ne egjen el a ardurino lap ha jol sejtem.
Kell rendelnem ilyen alkatreszeket ebayrol vagy nem fog kelleni ,nem hasznalatossak? eleg a rezisztor ha vanegy tutorialban lattam hogy a szervohoz hasznaltak
1N4001 Diode
PN2222 Transistort.
Van egy motor vezerlom amugy H bridge, 2 motort lehet rakotni.....
csak ha fontossak ezek es amugy is olcsok az ebayen akkor megrendelem,mert ido meg lekuldik... -
Egy 4 csatornás (2x sztereó) VU+Peak mérőt tervezem készíteni az Uno saját hardveres képességeivel, gyorsított adc kiolvasással. Hamarosan kiderül, hogy a 128kHz-ről 2-4MHz-re gyorsított adc kiolvasás mellett marad-e elég erőforrás a többi műveletnek. Ha nem, akkor Teensy3-ra kell váltanom.
-
-
szaci92
csendes tag
Üdv! Valaki meg tudná mondani milyen kábeleket kell vásároljak az Arduino-hoz? Gondolok itt a portok kapcsolásához szükségesekre, illetve a "sima mezei kábelekre"
Innen rendelném őket, ha valaki belinkelné ezeket, nagyon megköszönném! http://www.conrad.hu/index.php?cid=14734
-
.Benett
tag
Sziasztok !
Nincs valakinek egy jó minta kódja egy jó SLEEP-re ? -
zka67
őstag
válasz
DrojDtroll #1953 üzenetére
Vagy optocsatolóval + fet-tel, tranzisztorral. (Pl. PC817 + BSS170, vagy PC817 + BC337)
Használhatsz logikai kimenetes optocsatolót is, pl H11L1-et, ennek 5V táp kell a vevő oldalról, és TTL kimenetet ad, utána ott már azt kapcsolsz vele, amit akarsz. -
Saua
tag
válasz
DrojDtroll #1953 üzenetére
az még nincs tisztázva, hogy a 20mA például 5V -ra vonatkozik, vagy 220V -ra. Öt voltnál nagyobb feszültségekre valamilyen relét lehetne használni, ilyesmit, vagy szilárdtest relét.
-
Saua
tag
válasz
DrojDtroll #1951 üzenetére
az Arduino lábanként maximum 40mA-es áramot tud leadni
-
DrojDtroll
veterán
Sziasztok!
Azt szeretném elérni, hogy az arduino nyisson és zárjon egy kis áramú áramkört. Mi erre a legmegfelelőbb eszköz?
-
Saua
tag
Sziasztok,
Eredetileg egy LED-et lehet ki/be kapcsolni neten keresztül a ”Led1” utasítással. Ezt módosítottam, hogy egy nyomógombbal is működjön. A probléma, hogy a weboldara nem sikerül kiíratni a LED állapotát ha a gombbal kapcsolgatom.
Hogyan kellene módosítani a kódot?
/*
LED attached from pin 6 to ground
pushbutton attached to pin 2 from +5V
10K resistor attached to pin 2 from ground
*/
#include <SPI.h>
#include <Ethernet.h>
#include <String.h>
byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
byte ip[] = { 192, 168, 1, 202 };
EthernetServer server(80);
int led1 = 6;
int button = 2;
String readString = String(30) ;
boolean statusLed = false;
int buttonState; // bemeneti pin aktuális állapota
int lastButtonState = LOW; // bemeneti pin előző értéke
long lastDebounceTime = 0;
long debounceDelay = 50;
long prevido1; //előző idő eltárolására
void setup() {
pinMode(led1, OUTPUT);
pinMode(button, INPUT);
Serial.begin(9600);
Ethernet.begin(mac, ip);
}
void loop() {
EthernetClient client = server.available(); // Create a client connection
if (client) {
while (client.connected())
{
if (client.available ())
{
char c = client.read(); // Read char by char HTTP request
if (readString.length() < 30)
{
readString += (c) ;
}
if (c == '\n')
{
if(readString.indexOf("Led1")>=0)
{
if (statusLed) {
digitalWrite (led1, LOW) ;
statusLed = false;
} else {
digitalWrite (led1, HIGH) ;
statusLed = true;
}
}
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print ("<font size ='20'>");
if (statusLed) {
client.print("Led1 bekapcsolva");
} else {
client.print("Led1 kikapcsolva");
}
readString="";
delay(1); // give the web browser time to receive the data
client.stop();
}
}
}
}
//==============================
int reading = digitalRead(button);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState == HIGH) {
statusLed = !statusLed;
digitalWrite(led1, statusLed);
}
}
}
lastButtonState = reading;
//==============================
} -
gyapo11
őstag
válasz
Flashback #1948 üzenetére
Nem nagyon kell építeni: link
Meg kellene határozni a szükséges fényerőt. Az 1 W-os led 100 lument nyom ki, a kisebbek kevesebbet, csodák nincsenek. Lehet fókuszálni, és akkor szűkebb nyalábban nagyobb lesz a fénysűrűség, de látjuk a 400 nites (candela/m2) csoda telókijelzőket, hogy mennyire nem látszanak napsütésben, a szobában meg kisüti a szemet. Az 5-10 ezer mcd fény nagyon karcsú. -
A led adatai alapján egy led az 350mA. Akkor 10lednél 5.6 Ohm 3.2Volton. 3.4-en pedig 4.7Ohm.
-
gyapo11
őstag
válasz
Flashback #1940 üzenetére
Panelhez legegyszerűbb a sprint-layout.
A ledek fényereje világítás és távolság függő, szerinem 1 W-os powerled megfelelő lehet, 10 db az 10 W. Ha a tartósság szempont, akkor inkább 3 W-os ledeket hajtanék 1 W-tal.
Mosfettel nincs tapasztalatom, de a nyitófeszre oda kell figyelni, ez amit linkeltél jónak látszik. -
-
Sziasztok
Arduinoval kapcsolgatnék egy LED-es panelt. A panelt is meg kellene terveznem ehhez kérnék segítséget.
- Nagyjából tíz fényes SMD led lenne a panelen. Erre kérnék ajánlást, messziről látszódjon, napfényben is. Fő szempont a tartósság!
- MOSFET-el kapcsolnám a panelt erre is kérnék ajánlást, fő szempont a tartósság RFP30N06LE-t néztem
Köszönöm
-
artiny
őstag
helotok
Tudnatok ajanlani bluetooth modult arduinohoz?
ezeket neztem ki,nem tudom melyik lenne a jo ?!
ez drágább de miert? es mashogy is nezz ki
2melyiket vegyem? /még nem tudom mire hasznalnam,de ha kell majd akkor mar legyen itt ne keljen hetekig varnom meg meg jon...Ti egyebkent mire hasznaltatok fel ha valaki hasznalt ilyet kozulettek?/
-
Imy
veterán
Vettem egy 4 soros LCD-t, I2C buszosat.
A régi kijelzőnél minden OK volt, a setup részben kiírt szöveg mindig ott maradt. I2C-nél pedig csak a hőmérséklet mérés megy....
Ennek mi az oka? Illetve mit tehetek ellene? Úgy veszem észre, a régi adatok kiírása nem megy, mintha mindig az írá ki, am az utolsó frissítéskor van. tehát ha frissít, és nincsenek benne a régi adatok, akkor törli.#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Sensirion.h>LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display
// SDA-A4, SCL-A5
//PIN0
//PIN1
//PIN2
//PIN3
//PIN4
//PIN5
/*PIN6*/ int NYOMOGOMB = 6; //PIN6
/*PIN7*/ const uint8_t dataPin = 7;
/*PIN8*/ const uint8_t clockPin = 8;
//PIN9
//PIN10
//PIN11
//PIN12
/*PIN13*/ int LED = 13;boolean ledstate = true; //LED állapot figyelése
float temperature;
float humidity;
float dewpoint;Sensirion tempSensor = Sensirion(dataPin, clockPin);
int seconds = 5; //start seconds
int minutes = 0; //start minvoid setup() {
lcd.init(); // initialize the lcd
lcd.backlight();
lcd.setCursor(0, 0); //
lcd.print("Gomb:"); //
lcd.setCursor(6, 0); //
lcd.print("KI"); // alapértelmezettként ki van kapcsolvapinMode(NYOMOGOMB, INPUT); //PIN6 nyomogomb bemenet
pinMode(LED, OUTPUT); //PIN13 LED meghajtás
digitalWrite((LED), LOW); //LED kikapcsolva alapértelmezettként}
void loop()
{// Ha LED ki van kapcsolva, akkor be lehet kapcsolni
if ((digitalRead(LED) == LOW) && (digitalRead(NYOMOGOMB) == LOW) && (ledstate))
{
lcd.init();
ledstate = false;
delay(50); // prell elkerülése
digitalWrite((LED), HIGH);
lcd.setCursor(6, 0); //
lcd.print("BE"); // Bekapcsolás kiírás
}// Ha LED be van kapcsolva, akkor ki lehet kapcsolni
if ((digitalRead(LED) == HIGH) && (digitalRead(NYOMOGOMB) == LOW) && (ledstate))
{
lcd.init();
ledstate = false;
delay(50); // prell elkerülése
digitalWrite((LED), LOW);
lcd.setCursor(6, 0); //
lcd.print("KI"); // Bekapcsolás kiírás
}if ((digitalRead(NYOMOGOMB) == HIGH) && (!ledstate))
{
ledstate = true;
}// hőmérséklet mérése
if (digitalRead(LED) == HIGH)
{
tempSensor.measure(&temperature, &humidity, &dewpoint);
lcd.init();
lcd.setCursor(0, 1);
lcd.print("T:");
lcd.setCursor(2, 1);
lcd.print(temperature);
lcd.setCursor(6, 1);
lcd.print("C H:");
lcd.setCursor(11, 1);
lcd.print(humidity);
lcd.setCursor(15, 1);
lcd.print("%");
/*
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" C, Humidity: ");
Serial.print(humidity);
Serial.print(" %, Dewpoint: ");
Serial.print(dewpoint);
Serial.print(" C");*/
delay(500);
}if (digitalRead(LED) == LOW)
{
lcd.init();
lcd.setCursor(0, 1);
lcd.print(" ");
}}
-
Sziasztok,
Arduino Uno tápellátásán vacilálok.
Van egy 5V-os stab áramköröm, ami hajtani fogja a léptető motorokat, illetve van egy 12V-os is.
Kössem a 12-t a rendes táp bemenetre, vagy a 5V-ot adjam a VIN-en keresztül? Melyiket ajánlanátok?Illetve egyszer olvastam, valahol, hogy az analog be/kimenetek is használhatók digitálisnak. Nyilván ez logikusnak tűnik, de valóban így van? tudok ott is egy léptető motort meghajtani?
Köszi előre is
-
stopperos
senior tag
Ha a playground/dhtlib nem megy, akkor rosszul kötötted be. Ellenállás mekkora? Jó lábakra kötötted?
-
Imy
veterán
Vettem egy DHT22-es szenzort, de nem jutok vele elöbbre, nem működik. Tudnátok egy normális DHT könyvtárat, és egy mintaprogramot, amit használtok is? Köszi!
-
zka67
őstag
Szia, te nem olvasol, csak írsz?
-
hupika
csendes tag
válasz
Pubszon #1921 üzenetére
Van óramodul, azzal használom és a többi működik is, pl.:
//rel1Pin - lámpa1 (be: 15:30, ki: 21:00)
if ((((hour*60)+minute)>929) && ((hour*60)+minute)<1261)
{
digitalWrite (rel1Pin, LOW);
}
else
{
digitalWrite (rel1Pin, HIGH);
}vagy:
//rel4Pin - éjjelifény1 (be: 15:15, ki: 15:45 és be: 21:00, ki: 21:55)
if (((((hour*60)+minute)>914) && (((hour*60)+minute)<946)) || ((((hour*60)+minute)>1259) && (((hour*60)+minute)<1316)))
{
digitalWrite (rel4Pin, LOW);
}
else
{
digitalWrite (rel4Pin, HIGH);
}Csak az nem megy, amikor a "nagyobb" időtől (23:00) kellene a "kisebbig" (05:00) mennie. De lehet, megcsinálom kétszerre, vagyis menjen 23:00-23:55-ig, majd pedig 00:05-05:00-ig
-
Változókat tudok valamilyen módon tárolni? Kikapcsolás után pedig betölteni? Van valami egyszerűen kezelhető ROM?
-
hupika
csendes tag
Sziasztok,
lenne egy kérdésem arduinora írt programmal kapcsolatban. A vezérlő rendesen teszi a dolgát - akvárium vezérlésről van szó - a nap közbeni dolgok (fények, Co2, stb.) ki-be kapcsolásával. De a porlasztót éjjeltől reggelig szeretném működtetni, pontosabban 23:00 órától 05:00-ig. Ezt a sort (a többihez hasonlóan) így írtam meg:
if ((((hour*60)+minute)>1379) && ((hour*60)+minute)<301)
De azt vettem észre, hogy így be sem kapcsol 23:00 órakor. Hogy kellene átírni, hogy működjön? -
peter1998
tag
Sziasztok! Egy ethernet modul van csatlakoztatva egy Unohoz.Egy php fájlt kell meghívnia ami sikerül is neki csak sajnos az egész számokat adja át?.Ehez kérnék egy kis segítséget.Így néz ki jelenleg a kódom :
// Demo using DHCP and DNS to perform a web client request.
// 2011-06-08 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php
#include <EtherCard.h>
// ethernet interface mac address, must be unique on the LAN
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
byte Ethernet::buffer[700];
static uint32_t timer;
const char website[] PROGMEM = "192.168.1.10";
int bar = 123;
static void my_callback (byte status, word off, word len) {
Ethernet::buffer[off+300] = 0;
Serial.print((const char*) Ethernet::buffer + off);
}
void setup () {
Serial.begin(57600);
Serial.println(F("\n[webClient]"));
if (ether.begin(sizeof Ethernet::buffer, mymac) == 8)
Serial.println(F("Failed to access Ethernet controller"));
if (!ether.dhcpSetup())
Serial.println(F("DHCP failed"));
ether.printIp("IP: ", ether.myip);
ether.printIp("GW: ", ether.gwip);
ether.printIp("DNS: ", ether.dnsip);
if (!ether.dnsLookup(website))
Serial.println("DNS failed");
ether.printIp("SRV: ", ether.hisip);
}
void loop () {
ether.packetLoop(ether.packetReceive());
int hum = 23.3;
int tmp = 35.87;
if (millis() > timer) {
timer = millis() + 5000;
char w[50];
sprintf(w,"temp1=%d&moi1=%d",tmp,hum); // prepare the GET, all variables in one string
ether.browseUrl(PSTR("/add.php?"), w, website, my_callback); // send it to the server
}
} -
Pubszon
veterán
válasz
JozsBiker #1915 üzenetére
Jók erre a célra, a kártyák kódja, mint a MAC címek is, hexadecimális formában vannak megadva, a MAC cím 6*1 byte-os, például 08:00:69:02:01:FC.
Na az NFC matrica 7*1 byte-ból áll, az RFID kártya meg kulcstartó pedig 4*1-ből, ami bele is fér az unsigned long-ba, a többi viszont nem.
De végül is megoldottam. -
JozsBiker
aktív tag
válasz
Pubszon #1914 üzenetére
Értem. Nem ekarok hülyeséget írni, de mintha hajdanán azt olvastam/tanultam volna ezekről a változókról, hogy a kisebb helyiértéken pontatlanok. Ha megnézed, a tartományaik is hatványkitevős formában vannak megadva, ami nem (csak) azért van hogy ne kelljen annyi számjegyet leírni, hanem mert a program is így kezeli. Így lehet hogy nem is alkalmasak arra a célra, amire Te szeretnéd használni. De azért nézz utána ha biztosra akarsz menni.
-
-
Pubszon
veterán
4 külön byte-ot össze tudtam hozni egy változóba, de 7 külön byte-ot össze lehet egybe?
Esetleg valami más megoldás?
Úgy tudom, hogy nincs ilyen nagy méretű. -
nszero
csendes tag
Hello.
Tud valaki információval szolgálni arduino jtag programozóról?
-
Pubszon
veterán
Ilyet használ valaki?
ATTiny85 programmerRá állnék kicsit az I2C-re, aztán ahhoz jó lenne kis atmel chip, de azt meg programozni kellene előbb. Meg amúgy is jó ha van, mini dolgokhoz elég lenne.
-
-
DeniL
tag
Pénz a játékszerekre van. Tehát azt es annyi arduino es egyeb boardot es kiegészítőt rendeltethetek amennyit akarok, viszont erre külön embert nem vesznek fel. En pedig csak egy átkozott gyakornok vagyok akinek odadobták a csontot hogy játszak vele, óránként netto 600 ft-ert. Szóval a van pénz nézőpont kérdése. Nekem nincs belőle, csak a tapasztalatom gazdagodik
-
bacus
őstag
Persze, hogy kérdezem mi a cél, addig ugyanis sötétben tapogatozunk!
Én azt gondoltam (eddig) hogy ez valami biztonság technikai cucc, oda pont az kell, hogy rontás után elölröl kezdje, amire te akarod használni, az meg a rontás kiküszöbölése.
(Azt irod pénz van..., szép dolog az erkölcsi gyözelem, de ha már homár...
)
-
tvamos
nagyúr
Mintha emlitetted volna mar egyszer ezt a problemat...
Nem lehetne ugy megcsinalni a szalagot, hogy mindig odavilagitana egy lezer pointer, ahol a csavart meg kell
huzni? Mondjuk, ha meghuzta az operator a csavart, akkor pedallal, gombbal, vagy a csavarhuzo kiemelesevel leptetne, esetleg mindig csak egy csavart adagolna a gep, es mutatna, hova kell azt becsavarni.
A felautomata alkatresz beulteto allmoasokon eleg jol bevalt a modszer.Szerintem jobban megtanulja az operator mit kell csinalni, ha rontas eseten ujra kell kezdenie.
Probald ki sima HD44780 illesztos LCD-vel, hatha akkor jobb lesz, az lehet, hogy gyorsabb, mint az i2c interface-es.
-
DeniL
tag
"A gond szerintem az, hogy a flag eléri a 3-at, ahhoz meg már nincs semmi sem rendelve."
Hogyan tudnám ezt kiküszöbölni a while-s kódommal, hogy látszólag ne lefagyást kapjak?A cél:
Adott egy gyártósori oktatóterem, egy mintagyártósorral, ahol alkatrészeket csavaroznak össze.
Lóg az ember szemmagasságában egy csavarbehajtó, a munkaasztalon befogatod az alkatrész alját, majd rárakot a tetejéd, rázársz egy mehanikát amin 6 db csavarhely van. Beleejted a kis csavarjaid és csavarozod, a megfelelő sorrendben.
Kb egy pár A4-es oldalra van leírva az adott munkaállomás használati utasítása és az oktatók szóban tanítgatják az újoncokat. Csak megadott sorrendben húzhatod be a csavarokat, mint ahogy egy autó kerékcsere esetében sem sorban, hanem átlósan húzod meg a csavarokat.
Hiába van felszámozva a csavarlyuk, vagy mondják el az oktatók, vannak olyan lelkes újoncok, akik azért sem így csinálják.
Sajnos mellőzném az olyanokat, hogy itt userhiba van. Van, viszont nem tudom felülbírálni a felsőbb vezetői döntéseket, amik pedig a következők voltak. Tegyük vizuálisan is láthatóvá az elvégzendő munka menetét....Innen indult el egy csapat abba az irányba, hogy rendeltek okosszemüveget, majd diasorozaton vetítik az ember "szeme elé" az eddig papír formában történő oktatási anyagot....
Én viszont egyenlőre raspberryzek és arduinozok/nék....6 db nfc tag-et helyezek a 6 csavarlyukhoz, egy olvasót a csavarbehajtóra. Amint a csavarlyuk közelébe ér, olvassa a tag-et, kijelzőn (és hangjelzéssel) visszakapom az értéket.... persze későbbi cél, hogy ezt a fajta szövegkiíratásos kijelzést vigyem át az android alapú okosszemüvegre, de azt hagyjuk....itt már az alapoknál buktatókba ütköztem
Persze ezek egyenlőre nem élesben mennek. Pénz van, embert aki ért hozzá nincs, így kaptam pár cuccot, hogy "legózzak".
Engem is motivál, mert érdekel, aztán ha kisül belüle valami, talán mást is motivál az eredménye....Persze ha már így kérdezed mi a cél....
A másik irány amibe el szeretnék mozdulni, egy olyan viselhető kesztyű megvalósítása, amin kis akksi, nfc olvasó van, ami wifin/bluetoot/xbee-n kommunikál egy raspberry-vel. Minden egyes gyártósori terméken már vagy vonalkód, qr-kód vagy lehetséges nfc tag is felkerül a tiszta nyákra, mielőtt végigmegy egy alkatrész beültetétsen. A legvégén embereket alkalmaznak kézi beolvasókkal, akik rögzítik a darabszámot egy-egy ládában szállítás előtt, amit SAP-ba tolnak be.
Viselhető kesztyűvel ezt váltanám ki. Beolvasnám már a munkadarab megérintése közben a terméket....
Szóval ötletek vannak, csak tanakodnom kell a megvalósításon
Új hozzászólás Aktív témák
Hirdetés
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Eredeti játékok OFF topik
- exHWSW - Értünk mindenhez IS
- CMF Phone 2 Pro - a százezer forintos kérdés
- Le Mans Ultimate
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- bitpork: MOD Júni 13 Augusztus 2- szombat jelen állás szerint.
- Autós topik
- Nyaralás topik
- EAFC 25
- További aktív témák...
- Apple iPhone 13Pro 128GB Kártyafüggetlen 1Év Garanciával
- Garmin Fenix 8 Amoled 51mm Sapphire Carbon Gray DLC - Használt, karcmentes
- Nitro ANV15-51 15.6" FHD IPS i5-13420H RTX 4050 16GB 512GB NVMe magyar vbill ujjlolv gar
- Apple iPhone SE 2020 64GB Kártyafüggetlen 1Év Garanciával
- iPad Pro 11 gen 2 + magic keyboard magyar makulátlan új állapot
- DDR5 8/ 16/ 32GB 4800-5600MHz SODIMM laptop RAM, több db- számla, garancia
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 4060 Ti 8GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Xiaomi Redmi Note 12, Xiaomi Redmi Note 12 Pro, Xiaomi Redmi Note 12 Pro+
- HATALMAS AKCIÓK! GARANCIA, SZÁMLA - Windows 10 11, Office 2016 2019 2021,2024, vírusírtók, VPN
- BESZÁMÍTÁS! MSI B450M R5 5500 32GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Chieftec 600W
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest