Hirdetés

2024. április 27., szombat

Gyorskeresés

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-03-11 00:46:52

LOGOUT.hu

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.

Összefoglaló kinyitása ▼

Hozzászólások

(#1901) DeniL válasza bacus (#1900) üzenetére


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 :D

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 :)

[ Szerkesztve ]

(#1902) tvamos válasza DeniL (#1901) üzenetére


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.

[ Szerkesztve ]

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#1903) Pubszon válasza DeniL (#1901) üzenetére


Pubszon
veterán

Ha a sorrendet elrontjak akkor nem elolrol kezdenek, hanem onnan folytatjak igaz?
Mert ha igy van, akkor a kodomat probald meg, annak igy kell viselkednie.
Csak a cards valtozot ird at annyira, amennyi kartyat hasznalsz.

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1904) bacus válasza DeniL (#1901) üzenetére


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... :) )

Kössünk egyezséget, megegyezős egyezséget... https://www.paypal.me/engiman/30

(#1905) DeniL válasza bacus (#1904) üzenetére


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 ;)

[ Szerkesztve ]

(#1906) DeniL válasza Pubszon (#1903) üzenetére


DeniL
tag

Működik, köszönöm. Mar csak azt nem értem az en do-while-mmal mi a probléma es hogyan orvosolhatnám. Persze mivel a kódom aikeresen kijavítottad a problémám megoldva. De tanulni akarok a hibámból :)

(#1907) Pubszon válasza DeniL (#1906) üzenetére


Pubszon
veterán

Szívesen. ;)
Ne erőltesd a do...while-t, az itt nem célszerű, persze lehet azzal is meg lehetne oldani.

Rendelhetnél nekem is egy NFC olvasót, hogy tudjak nektek segíteni. :D
Szinte mindenem van, csak az nincs, annyit meg nem ér nekem amennyibe kerül. :(

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1908) Pubszon


Pubszon
veterán

Ilyet használ valaki?
ATTiny85 programmer

Rá á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. :D

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1909) tvamos válasza Pubszon (#1908) üzenetére


tvamos
nagyúr

En ilyennel szoktam: [link]
Gondolom, az eBay-en árulnak valami kpmpatibilis okosságot.

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#1910) tvamos válasza Pubszon (#1908) üzenetére


tvamos
nagyúr

Ezt olvastad már? [link]

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#1911) nszero


nszero
csendes tag

Hello.

Tud valaki információval szolgálni arduino jtag programozóról?

(#1912) Pubszon


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ű.

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1913) JozsBiker válasza Pubszon (#1912) üzenetére


JozsBiker
aktív tag

Az Arduino Reference oldalán is úgy néz ki, hogy 4 byte -os a legnagyobb. Már ha a stringet és a tömböt nem számítjuk.

Egyébként valami csillagászati alkalmazást készítesz hogy ilyen bazinagy változóra van szükséged ? :D

(#1914) Pubszon válasza JozsBiker (#1913) üzenetére


Pubszon
veterán

Az Arduino Due-nél a double az 8 byte-os, de másnál én sem tudom hogy lenne e.
NFC matrica UID-je 7*1 byte-os, de csak az első 4-et használom belőle azonosításra.
Viszont a kártya vagy a kulcstartóé az 4*1 byte.
Így könnyebb kezelni, mint tömbként. :D

[ Szerkesztve ]

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1915) JozsBiker válasza Pubszon (#1914) üzenetére


JozsBiker
aktív tag

É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.

(#1916) Pubszon válasza JozsBiker (#1915) üzenetére


Pubszon
veterán

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. :)

[ Szerkesztve ]

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1917) peter1998


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
}
}

(#1918) Pubszon válasza peter1998 (#1917) üzenetére


Pubszon
veterán

Szerintem azért, mert a hum és a tmp integer, azaz egész szám, neked float kellene.
Egy próbát megér. :)

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1919) hupika


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?

Hupika

(#1920) zka67 válasza hupika (#1919) üzenetére


zka67
őstag

Szia, && helyett || kell.

(#1921) Pubszon válasza hupika (#1919) üzenetére


Pubszon
veterán

Egy rtc modult iktass be, az pontosabb es konnyen meg tudod vele oldani.

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1922) Flashback


Flashback
addikt

Változókat tudok valamilyen módon tárolni? Kikapcsolás után pedig betölteni? Van valami egyszerűen kezelhető ROM?

MEGVAN :)

[ Szerkesztve ]

Bocs nincs hosszú ö, ü és néha az á is ä :)

(#1923) hupika válasza Pubszon (#1921) üzenetére


hupika
csendes tag

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 :)

Hupika

(#1924) Pubszon válasza hupika (#1923) üzenetére


Pubszon
veterán

Így nem jó?

if (hour >= 23) || (hour < 5)
{
digitalWrite (rel4Pin, LOW);
}
else
{
digitalWrite (rel4Pin, HIGH);
}

(#1922) Flashback: Csak arra figyelj, hogy 1 bájtossával tudsz menteni.

[ Szerkesztve ]

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1925) zka67 válasza hupika (#1923) üzenetére


zka67
őstag

Szia, te nem olvasol, csak írsz?

(#1926) hupika válasza Pubszon (#1924) üzenetére


hupika
csendes tag

De, szerintem jó lesz - és most látom csak, hogy zka76 is ezt javasolta. Köszönöm!

Hupika

(#1927) hupika válasza zka67 (#1925) üzenetére


hupika
csendes tag

Igen, csak az újabb kérdésem után láttam, hogy írtál - sorry! :)

Hupika

(#1928) Imy


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! :R

Ezt vettem.

(#1929) stopperos válasza Imy (#1928) üzenetére


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?

"What is Linux? I only joined because of the the penguin..." - meanwhile in the linux community. http://9gag.com/gag/arpZGOy

(#1930) Pulsar


Pulsar
veterán

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

(#1931) tvamos válasza Pulsar (#1930) üzenetére


tvamos
nagyúr

En az 5V-ot kotnem az 5V-os csatlakozora. (Termeszetesen nem a Vin-re.)

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#1932) Pulsar válasza tvamos (#1931) üzenetére


Pulsar
veterán

hanem arra az 5V-ra, ahol a panel meg tud hajtani korlátozottan 5V-al valamit?
Vagy az USB-nél?

(#1933) tvamos válasza Pulsar (#1932) üzenetére


tvamos
nagyúr

Az 5V-os csatlakozonal mindegy, hogy ki-, vagy be megy az aram, az az 5V.
Igen, az USB-re is kotheted.

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#1934) Pulsar válasza tvamos (#1933) üzenetére


Pulsar
veterán

Persze, ezt tudom...
ok, köszi szépen :R

(#1935) Imy


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 min

void 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 kapcsolva

pinMode(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(" ");
}

}

[ Szerkesztve ]

(#1936) artiny


artiny
őstag

helotok

Tudnatok ajanlani bluetooth modult arduinohoz?

ezeket neztem ki,nem tudom melyik lenne a jo ?!

1

ez drágább de miert? es mashogy is nezz ki
2

melyiket 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?/

[ Szerkesztve ]

(#1937) vkp válasza artiny (#1936) üzenetére


vkp
aktív tag

Az első az nem modul, csak a modult fogadó board, arra neked kell ráforrasztani a kívánt modult.
Ezért az árkülönbség.

(#1938) artiny válasza vkp (#1937) üzenetére


artiny
őstag

Szia

koszi az infot :B szoval a 2. mar jo lesz?

(#1939) vkp válasza artiny (#1938) üzenetére


vkp
aktív tag

Nagyobb rá az esély :)

(#1940) Flashback


Flashback
addikt

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

[ Szerkesztve ]

Bocs nincs hosszú ö, ü és néha az á is ä :)

(#1941) Pubszon válasza Flashback (#1940) üzenetére


Pubszon
veterán

De mégis, milyen teljesítményű LED-eket szeretnél használni?
SMD LED-ekhez nem kell semmi, csak egy előtét ellenállás, bár az SMD LED fénye nem biztos, hogy napfényben is látszódni fog.

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1942) Flashback válasza Pubszon (#1941) üzenetére


Flashback
addikt

COB is jó lehet de ott meg a hőelvezetés lehet a gond. Vagy normál LED dióda?
Te mit mondanál?

Bocs nincs hosszú ö, ü és néha az á is ä :)

(#1943) gyapo11 válasza Flashback (#1940) üzenetére


gyapo11
őstag

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.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1944) Pubszon válasza Flashback (#1942) üzenetére


Pubszon
veterán

Ahogy az elottem szolo is irta, 3w-os power led 1w-al hajtva tartos lesz. Tranzisztor is jo lehet a kapcsolgatasra, 5v-rol hajtva a ledeket 1w-os 4.7 ohm-os elotet ellenallassal.

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1945) Flashback


Flashback
addikt

A led adatai alapján egy led az 350mA. Akkor 10lednél 5.6 Ohm 3.2Volton. 3.4-en pedig 4.7Ohm.

[ Szerkesztve ]

Bocs nincs hosszú ö, ü és néha az á is ä :)

(#1946) Pubszon válasza Flashback (#1945) üzenetére


Pubszon
veterán

A 10 ledet egyszerre kapcsolnad?
Akkor pedig led driverrel hajtsd meg oket, azt pedig egy mosfet modullal kapcsolhatod. Igy a legkevesebb az otthoni barkacsolas.

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#1947) zka67 válasza Flashback (#1945) üzenetére


zka67
őstag

Szia, bocs, hogy beleszólok, de power ledeknél felejtsd el az előtét ellenállást és azt, hogy párhuzamosan kapcsolod őket. Minden ledhez kell egy led driver, nem tudod megspórolni. Ellenállással meg fog futni a leded árama.

(#1948) Flashback válasza zka67 (#1947) üzenetére


Flashback
addikt

Oké milyen drivert kellene hozzá építenem?

Amúgy az 5050 SMD leddekkel mi a helyzet?

Bocs nincs hosszú ö, ü és néha az á is ä :)

(#1949) gyapo11 válasza Flashback (#1948) üzenetére


gyapo11
őstag

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ú.

[ Szerkesztve ]

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1950) Saua


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;
//==============================
}

Copyright © 2000-2024 PROHARDVER Informatikai Kft.