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.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
- Tudástár AMD Radeon undervolt/overclock
Általános témák
LOGOUT.hu témák
- [Re:] [HThomas:] Kia Ceed SW JD vs CD tapasztalatok
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [FireFox1996:] 2024 tavaszi fórum peca
- [Re:] [bitpork:] Fogyasztásra ítélve
- [Re:] [sziku69:] Szólánc.
- [Re:] PLEX: multimédia az egész lakásban
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [attilasd:] A laposföld elmebaj: Vissza a jövőbe!
- [Re:] [gban:] Ingyen kellene, de tegnapra
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Útvonal
Fórumok » Egyéb hardverek » Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)Téma összefoglaló
Hozzászólások
tvamos
nagyúr
Quad OPAMP kell neked, mondjuk LM324, vagy TL074. Én ez utóbbival épitettem 4 cstornás fényorgonát.
Én azt javasolnám, épits elsőre inkább valami ilyesmit: [link]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
dave0825
őstag
Már mindegy, már vettem, CD4051 nem volt, helyette HCF4051BE-t kaptam, de még otthon úgy néztem, hogy jó ez is helyette. Amit zka67 javasolt kapcsolás, az szerinted miért nem jó, mármint miért mást ajánlasz helyette?
Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99
zka67
őstag
tvamos
nagyúr
A 4051-nek 8 bemenete van, nem kell kettő. (Még a közös emitteres kapcsolással is baj van, akkor ez...)
Bemenetek: Y0, Y1... Y7
Bemenet választó: S0, S1, S2
[link]
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Pulsar
veterán
Próbált már valaki egy ilyennel DS1820 jelét át vinni?
Gergosz2
veterán
igen, sikerült is. De tegyél rá egy antennát, mert anélkül nekem kb max 20 cm-ről sikerült kommunikálnom. Meg az adónál sem mindegy , hogy mekkora feszt használsz.
Szerk:
De pont ezt vetted meg? Mert ez csak az adó.
[ Szerkesztve ]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
Pulsar
veterán
Nem, még nem rendeltem.
Melyiket érdemes? És akkor ez duplex?
Köszönöm az eddigi válaszodat is
zka67
őstag
Szia, 10 csatornához kell a kettő...
softguner
csendes tag
Nem ez csak simplex egy adó egy vevő, egyik csak ad a másik csak vesz. Duplex kommunkációra ott az Nordic-os NRF24L01. Az igaz 2,4 Ghz-es és nem árt neki ha a két egység között szabad rálátás van, de ha van szabad rálátás, akkor akár 800m-t is áthúz.
junhum
tag
Sziasztok!
Buék!
Valaki foglalkozott már itt az nRF24L01 adóval?
Nekem 6 db adó lenne nano+nRF24L01 ds18B20 és/vagy dht22 szenzor és egy rPi vevő ami megjelenítené az adatokat.
Most kezdek majd el vele foglalkozni. Valaki találkozott már hasonlóval? Esetleg épített már?
Your Workout Is My Warm-Up so Shut The Fuck Up And Train
Gergosz2
veterán
nem, ez nem az. Ha oda vissza akarsz kommunikálni, akkor mindegyik odalra kell venned egy adót és vevőt is. Ennek az előnye, hogy pofon egyszerű, egy jó antennával és kellő táppal akár 1 km-re is lehet vele kommunikálni. Van hozzá a VritualWire, meg a Manchester library. Mindegyikkel próbáltam és működik. Radio Head library-val is megy, de szerintem az nem jó , mert túl nagy kódot generál.
Érdemes még megnézned a nrf24l01+-t , ami transciever, szóval oda vissza tudsz vele kommunikálni majd. Ő SPI-on kommunikál az MCU-val. Maga a programozása semmivel sem bonyolultabb. Van hozzá az RF24, RF4 Network és MIRF library. Mindegyikkel próbáltam és mennek. Személy szerint a MIRF-et használom, hogy miért azt nem tudom megmondani, talán azért mert előbb próbáltam ezzel.
(#2160) junhum
Igen , lsd feljebb.
[ Szerkesztve ]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
Pulsar
veterán
Igazság az, hogy Pi-vel akartam volna össze hozni, és ugye ott egy GPIO portra kell kötni. amikor meg hívja a DS1820-at, akkor adja vissza az értékeket. Erre kellett volna egy duplex kommunikáció.
De lehet újra gondolom egy arduinoval, ahol (egy másik fórumban ötletként kaptam) egy Arduino Nano triggereli a szenzort, és a kapott értéket küldi el.
Saua
tag
Sziasztok,
Egy Samsung TV távirányítót szeretnék helyettesíteni arduinóval. Innen letöltöttem az IRLib könyvtárat, és az IRrecord példát szeretném kipróbálni.
A TV távirányító jelét veszi is, de nem világos, hogy az adó LED -et hova kell kötni. Kell módosítani a kódot?
Ez a példaprogram:
/* Example program for from IRLib – an Arduino library for infrared encoding and decoding
* Version 1.5 June 2014
* Copyright 2014 by Chris Young http://cyborg5.com
* Based on original example sketch for IRremote library
* Version 0.11 September, 2009
* Copyright 2009 Ken Shirriff
* http://www.righto.com/
*/
/*
* IRrecord: record and play back IR signals
* An IR detector/demodulator must be connected to the input RECV_PIN.
* An IR LED must be connected to the appropriate pin.(See IRLibTimer.h) for your
* machine's timers and erupts.
* Record a value by pointing your remote at the device then send any character
* from the serial monitor to send the recorded value.
* Also demonstrates how to use toggle bits which must be controlled outside
* the library routines.
* The logic is:
* If an IR code is received, record it.
* If a serial character is received, send the IR code.
*/
#include <IRLib.h>
int RECV_PIN = 11;
IRrecv My_Receiver(RECV_PIN);
IRdecode My_Decoder;
IRsend My_Sender;
/*
* Because this version of the library separated the receiver from the decoder,
* technically you would not need to "store" the code outside the decoder object
* for this overly simple example. All of the details would remain in the object.
* However we are going to go ahead and store them just to show you how.
*/
// Storage for the recorded code
IRTYPES codeType; // The type of code
unsigned long codeValue; // The data bits if type is not raw
int codeBits; // The length of the code in bits
// These values are only stored if it's an unknown type and we are going to use
// raw codes to resend the information.
unsigned int rawCodes[RAWBUF]; // The durations if raw
int rawCount; //The number of interval samples
bool GotOne, GotNew;
void setup()
{
GotOne=false; GotNew=false;
codeType=UNKNOWN;
codeValue=0;
Serial.begin(9600);
delay(2000);while(!Serial);//delay for Leonardo
Serial.println(F("Send a code from your remote and we will record it."));
Serial.println(F("Type any character and press enter. We will send the recorded code."));
My_Receiver.enableIRIn(); // Start the receiver
}
// Stores the code for later playback
void storeCode(void) {
GotNew=true;
codeType = My_Decoder.decode_type;
if (codeType == UNKNOWN) {
Serial.println("Received unknown code, saving as raw");
// To store raw codes:
// Drop first value (gap)
// As of v1.3 of IRLib global values are already in microseconds rather than ticks
// They have also been adjusted for overreporting/underreporting of marks and spaces
rawCount = My_Decoder.rawlen-1;
for (int i = 1; i <=rawCount; i++) {
rawCodes[i - 1] = My_Decoder.rawbuf[i];
};
My_Decoder.DumpResults();
codeType=UNKNOWN;
}
else {
Serial.print(F("Received "));
Serial.print(Pnames(codeType));
if (My_Decoder.value == REPEAT) {
// Don't record a NEC repeat value as that's useless.
Serial.println(F("repeat; ignoring."));
}
else {
codeValue = My_Decoder.value;
codeBits = My_Decoder.bits;
}
Serial.print(F(" Value:0x"));
Serial.println(My_Decoder.value, HEX);
}
}
void sendCode(int repeat) {
if(codeType== UNKNOWN) {
// Assume 38 KHz
My_Sender.IRsendRaw::send(rawCodes,rawCount,38);
Serial.println(F("Sent raw"));
return;
}
if( !GotNew ) {//We've already sent this so handle toggle bits
if (codeType == RC5) {
codeValue ^= 0x0800;
}
else if (codeType == RC6) {
codeValue ^= 0x10000;
}
}
GotNew=false;
My_Sender.send(codeType,codeValue,codeBits);
Serial.print(F("Sent "));
Serial.print(Pnames(codeType));
Serial.print(F(" Value:0x"));
Serial.println(codeValue, HEX);
}
void loop() {
if (Serial.read() != -1) {
if(GotOne) {
sendCode(0);
My_Receiver.enableIRIn(); // Re-enable receiver
}
}
else if (My_Receiver.GetResults(&My_Decoder)) {
My_Decoder.decode();
GotOne=true;
storeCode();
delay(1000);
My_Receiver.resume();
}
}
[ Szerkesztve ]
tvamos
nagyúr
Próbáld itt megnézni:
* An IR LED must be connected to the appropriate pin.(See IRLibTimer.h) for your machine's timers and erupts.
Ha jól látom ott:
/* Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, etc */
#else
//#define IR_SEND_TIMER1 9
#define IR_SEND_TIMER2 3
#endif //end of setting IR_SEND_TIMER based on hardware detection
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Saua
tag
A wordpaddal megnyitottam, de csak egy nagy betűhalmazt látok. Nem kellene definiálva legyen, mint ahogy meg van adva, hogy az infra vevő a 11-es lábra van kötve ....int RECV_PIN = 11 ?
itt úgy értem, hogy a 3-as lábra kell kötni (Arduino UNO). Rá is kötöttem, a telefon kamerájával nézem....de nem pislog.
[ Szerkesztve ]
tvamos
nagyúr
Nekem a notepad megnyitotta.
Biztosan jól állítottad be a boardot?
Amugy igen, ott is az van, hogy 3.
A LED jól van bekötve? Megfelelő a hullámhossza?
A telefonod gondolom látja a sima tv távirányítót.
Amúgy a PC-n jönnekmrendesen a csomagok?
Bocs, a nagyon alap kérdésekért!
Elő kéne kapni a szkópot a fiókból...
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Saua
tag
Az infra LED egy 120 ohmos ellenállással van sorbakötve, 5 V -ra kötve a telefon kamerája látja a fényét. A hullámhosszával viszont lehet gond, mert nem tudom pontosan milyen típusu, viszont az arduinóhoz kötve is csak fel kellene villanjon.
A soros monitoron úgy látszik, hogy minden rendben.
[ Szerkesztve ]
tvamos
nagyúr
Ha a kimenet helyett a tapra kotod a LED-et, akor vilagit?
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Saua
tag
Igen, akkor a kamerával látható.
Saua
tag
Remélem meglett a probléma, túl kicsi lehet a LED árama. Ha kb. 50 centire teszem az érzékelőt úgy már jó.Lehet a telefon kamerájával azért nem látszik semmi mert túl rövid és gyors az impulzussorozat?
Az előbbi könyvtárból a minták/ IRsendDemo jól megy kb. fél méterig
/* Example program for from IRLib – an Arduino library for infrared encoding and decoding
* Version 1.3 January 2014
* Copyright 2014 by Chris Young http://cyborg5.com
* Based on original example sketch for IRremote library
* Version 0.11 September, 2009
* Copyright 2009 Ken Shirriff
* http://www.righto.com/
*/
#include <IRLib.h>
IRsend My_Sender;
void setup()
{
Serial.begin(9600);
}
void loop() {
if (Serial.read() != -1) {
//send a code every time a character is received from the serial port
//SAMSUNG LE32C530
My_Sender.send(NEC,0xE0E036C9, 32);
}
}
[ Szerkesztve ]
Andreas2
tag
Még csak az alkatrészeket rendeltem meg, de ilyesmit tervezek én is. A http://www.mysensors.org/about/
címen nézd végig a tutorial-t, kész könyvtárakat kapsz az Arduino-hoz, az rPi-re meg mehet fel egy szimpatikus controller (http://www.mysensors.org/controller/)
junhum
tag
Köszönöm!
Nézegetem, sajnos kevesebb időm van mint gondoltam.
Your Workout Is My Warm-Up so Shut The Fuck Up And Train
Pubszon
veterán
Üdv.
DHT11 nem tud negatív hőmérsékletet mérni?
ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
tvamos
nagyúr
Range: 0..50 fok Celsius.
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Flashback
addikt
Modellezni szeretnék egy áramkört. Power Led + driver(7135) + mosfet ami ráadja a tápot ha kap logikai 5V-ot.
Van ilyen fellelhető program?
Bocs nincs hosszú ö, ü és néha az á is ä :)
gyapo11
őstag
Van egy pár: Electronic Workbench, Multisim, Tina, LTSpice, SolveElec.
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
Gergosz2
veterán
ha tényleg csak próbálgatni akarsz, akkor szerintem ne szórakozz a telepítős változatokkal, elég lesz egy web-es is. pl: [link]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
tvamos
nagyúr
Sokat kiprobaltam, (persze, 20 ev alatt...) szerintem az LTSpice a legjobb. Ingyen van, konnyen hasznalhato, jol dolgozik kapcsolo aramkorokkel is.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
LógaGéza
addikt
Na most jutottam el odáig, hogy ezzel foglalkozzak. Sajnos programozásból nem állok a helyzet magaslatán, szinte egész nap a netet dúrtam, hátha találok valami épkézláb megoldást, de sajna nem sikerült, a legközelebbi ez lett volna, itt szép a GUI is, de Windowson nem ismeri fel a COM portot, Ubuntun meg ugyan felismeri, és elvileg csatlakozik is, de... nem történik semmi
Most ez alapján már azt megcsináltam, hogy PuTTY-ba beírt parancsokkal meg tudok csinálni alap dolgokat (ON, OFF, stb), de az igazi ide is a fentihez hasonló GUIs megoldás lenne, hogy egy színkeréken kiválasztani a megfelelő színt, és gombokra effektek elindítása. Nagyon bonyolult lenne így összerakni?
Még egy noob kérdés - mit használ az awtfy.com-os leírásban serial parancsok küldésére az író, vagy esetleg ilyen progira tudok tippet adni? PuTTY nem írja ki, amit pötyögök...
"Go to work, get married, have some kids, pay your taxes, pay your bills, watch your tv, follow fashion, act normal, obey the law, and repeat after me: I AM FREE"
bacus
őstag
"Nagyon bonyolult lenne így összerakni?"
Ez ilyen költői kérdés ugye? Ha tudsz használni bármilyen RAD fejlesztö programot, és megy is a programozás egy alap szinten, akkor nem.
Pl delphihez biztosan van iyen elérhető szinkerék komponens, a puttyt meg lehet hivogatni. (De biztos van soros porti kommunikációra is kész komponens)
Ha az arduinos programod kész, mert a választ mégiscsak ott kell leprogramozni, akkor ez a része, mármint a gui igazán gyerek játék lesz.
Kössünk egyezséget, megegyezős egyezséget... https://www.paypal.me/engiman/30
tvamos
nagyúr
Ha kell Win, meg Linux felület, akkor Python, vagy Java. Ha egyiket sem ismered, akkor inkább a Python.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Pubszon
veterán
Hali.
Ilyen ATtiny programmer van valakinek?
Hogy kell ezzel programozni?
ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
Gergosz2
veterán
semmi értelme, ha van egy pl egy Uno-d. Feltöltöd rá az ISP sketch-et , raksz egy 10uF-os kondit a reset és föld közé, utána meg bekötöd az SPI-t és kész. Szemléltetés: [link].
Én így programoztam Attiny85-ösöket. Jók ezek az MCU-k is, de érdemes pl egy Atmega168-ra is ránézni, mert olcsóbbra jön ki. A "P"-s változatok ráadásul picoPower-ösek, szóval a fogyasztásuk is visszafogott. Több láb, 16 kB flash...
[ Szerkesztve ]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
Pubszon
veterán
Olvastam már az Arduino as ISP dologról, de ez egyszerübb lenne.
Nem akarok csak azért tartani egy UNO-t.
Tehát a kérdés továbbra is adott...
ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
softguner
csendes tag
Egy ilyennel. [link]
+ AVR studio ami most már Atmel Studio Mondjuk asszem lehet az Arduino IDE-vel is.
powerwade
senior tag
Tudsz ebay eladót ahol olcsóbbra jön ki az Atmega168 mint az Attiny85?
Gergosz2
veterán
pl: [link] Jó ez, nem ebay, de ott csak maga az IC nem nagyon szokott lenni, de ha van akkor drágább is.
De sok atmega328-as ajánlat is ugyanannyiba kerül vagy csak pár centtel drágább mint egy attiny85.
[ Szerkesztve ]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
tvamos
nagyúr
En inkabb ezt a 10 USD-set vennem: [link]. Nem olyan nagy extra koltseg, ha nem ezrevel kell, szerintem.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Gergosz2
veterán
Alin nagyobb a kínálat IC-kből. Sok ilyen shop is van ott.
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
powerwade
senior tag
Ah, ez a tokozas nekem nem jon be, alig tettem be a labam az MCU -k vilagaba Egyelore a DIP -es megoldasokkal ismerkedem.
tvamos
nagyúr
Ha nyákot maratok otthon, azon minden smd. Furkaljon mas...
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
bacus
őstag
+1
Az smd nagy királyság,.
Kössünk egyezséget, megegyezős egyezséget... https://www.paypal.me/engiman/30
Gergosz2
veterán
Hát akkor DIP-es 328-at vegyél. Ezek olyan 2$/db áon szoktak menni,ha már ötösével rendeli az ember. Vagy másik megoldás lehet, ha egy Arduino Nano-t veszel. Ugyanúgy tudod próbapanelbe dugdosni, még olcsóbb is egy kicsit, és más alkatrész sem kell hozzá.
(#2191) tvamos
+1. Ha muszáj csak akkor használok DIP-et.
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
tvamos
nagyúr
Vajon mi lesz az Arduinoval, ha valaki megeszi az Atmelt?
Ezt vettem legutób: [link]
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
gyapo11
őstag
Valami másik processzorral is meg lehet csinálni. Pont az a jó benne, hogy magasabb szintű nyelven, usb-soros porton könnyen kezelhető. Másik proccal a specialitásokat meg kell tanulni, időzítéseket stb., de szerintem az arduino környezet marad.
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
Pulsar
veterán
Én nem félek ettől, szerintem kevesen vagyunk, akik megeszik a panelt Bocs
tvamos
nagyúr
Van egy Teensy 3-0-am, (Freescale ARM Cortex M valami van rajta,) de valahogy nem olyan zokkenomentes vele az elet, mint az Uno-val. (Software kompatibilitasi problemak...) En inkabb hasznalok STM32 discovery-t, (Ezen meg ST ARM Cortex van, M0-as, M3-as, meg M4-es is van, es hasznalni is merem,) mint a Teensy-t.
Nem attol felek. hogy nem lesz MCU, hanem attol, hogy az Atmel tolja bele a zsetont az Arduino projektbe, mas nem biztos, hogy aldoz ra ennyit... a masik dolog, amitol felek, hogy a kinaiak veszik meg. Nem szeretem a filozofiajukat.
(#2196) Pulsar válasza tvamos (#2194) üzenetére
Ahogy latom, az egesz ceget "bekapja" valaki, nem csak a panelt...
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
junhum
tag
Sziasztok!
Volna egy olyan problémám, hogy ez a kód:
#include <OneWire.h>
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {0xAD, 0xBD, 0xCD, 0xED, 0xFD, 0x0D};
IPAddress ip(192, 168, 0, 100);
// ThingSpeak Settings
char thingSpeakAddress[] = "api.thingspeak.com";
String writeAPIKey = "xxxxxxxxxxxxxxxxxxx";
const int updateThingSpeakInterval = 16 * 1000; // Time interval in milliseconds to update ThingSpeak (number of seconds * 1000 = interval)
// Variable Setup
long lastConnectionTime = 0;
boolean lastConnected = false;
int failedCounter = 0;
// Initialize Arduino Ethernet Client
EthernetClient client;
// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);
OneWire ds(10); // on pin 10 (a 4.7K resistor is necessary)
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
// wait for serial port to connect. Needed for Leonardo only
// Start Ethernet on Arduino
startEthernet();
}
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop() {
byte i;
byte present = 0;
byte type_s;
byte data[12];
byte addr[8];
float celsius, fahrenheit, celsiuss;
if ( !ds.search(addr)) {
Serial.println("No more addresses.");
Serial.println();
ds.reset_search();
delay(850);
return;
}
if (OneWire::crc8(addr, 7) != addr[7]) {
Serial.println("CRC is not valid!");
return;
}
Serial.println();
ds.reset();
ds.select(addr);
ds.write(0x44); // start conversion, use ds.write(0x44,1) with parasite power on at the end
delay(1000); // maybe 750ms is enough, maybe not
// we might do a ds.depower() here, but the reset will take care of it.
present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad
Serial.print(" Data = ");
Serial.print(present, HEX);
Serial.print(" ");
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
Serial.print(data[i], HEX);
Serial.print(" ");
}
Serial.print(" CRC=");
Serial.print(OneWire::crc8(data, 8), HEX);
Serial.println();
// Convert the data to actual temperature
// because the result is a 16 bit signed integer, it should
// be stored to an "int16_t" type, which is always 16 bits
// even when compiled on a 32 bit processor.
int16_t raw = (data[1] << 8) | data[0];
if (type_s) {
raw = raw << 3; // 9 bit resolution default
if (data[7] == 0x10) {
// "count remain" gives full 12 bit resolution
raw = (raw & 0xFFF0) + 12 - data[6];
}
} else {
byte cfg = (data[4] & 0x60);
// at lower res, the low bits are undefined, so let's zero them
if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms
else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms
//// default is 12 bit resolution, 750 ms conversion time
}
celsius = (float)raw / 16.0;
fahrenheit = celsius * 1.8 + 32.0;
Serial.print(" Temperature = ");
Serial.print(celsius);
Serial.print(" Celsius, ");
Serial.print(fahrenheit);
Serial.println(" Fahrenheit");
celsiuss = round(celsius);
String analogValue0 = String(celsiuss, DEC);
Serial.println(celsius);
// Print Update Response to Serial Monitor
if (client.available())
{
char c = client.read();
Serial.print(c);
}
// Disconnect from ThingSpeak
if (!client.connected() && lastConnected)
{
Serial.println("...disconnected");
Serial.println();
client.stop();
}
// Update ThingSpeak
// if(!client.connected() && (millis() - lastConnectionTime > updateThingSpeakInterval))
// {
updateThingSpeak("field1="+analogValue0);
// }
// Check if Arduino Ethernet needs to be restarted
if (failedCounter > 3 ) {startEthernet();}
lastConnected = client.connected();
}
void updateThingSpeak(String tsData)
{
if (client.connect(thingSpeakAddress, 80))
{
//String tsData;
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: "+writeAPIKey+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(tsData.length());
client.print("\n\n");
client.print(tsData);
lastConnectionTime = millis();
if (client.connected())
{
Serial.println("Connecting to ThingSpeak...");
Serial.println();
failedCounter = 0;
}
else
{
failedCounter++;
Serial.println("Connection to ThingSpeak failed ("+String(failedCounter, DEC)+")");
Serial.println();
}
}
else
{
failedCounter++;
Serial.println("Connection to ThingSpeak Failed ("+String(failedCounter, DEC)+")");
Serial.println();
lastConnectionTime = millis();
}
}
void startEthernet()
{
client.stop();
Serial.println("Connecting Arduino to network...");
Serial.println();
delay(1000);
// Connect to network amd obtain an IP address using DHCP
if (Ethernet.begin(mac) == 0)
{
Serial.println("DHCP Failed, reset Arduino to try again");
Serial.println();
}
else
{
Serial.println("Arduino connected to network using DHCP");
Serial.println();
}
delay(1000);
}
No more adresses dob serialon és nem is megy tovább a program, legalábbis Thingspeaken nem látnám hogy akarmi menne (api kód kitöltve), ha csak egy sima példa programot futtatok akkor ott küld adatot.
Ha csak onewire példát futtatok akkor működik.
Egybe a kettőt nem tudom.
Uno van w5100 shielddel
szerk.:
A shieldet elég egyébként csak spi-n összekötni? pl ha nanoval akarom majd összehozni?
[ Szerkesztve ]
Your Workout Is My Warm-Up so Shut The Fuck Up And Train
LógaGéza
addikt
Szeretném ezt összerakni, és azon gondolkodok, hogy hogyan lehetne minél olcsóbban megoldani. Úgy értelmezem aREST libraryt használ a kommunikációhoz.
Ahogy nézem a Wifi Shieldek nem olcsó mulatságok, kivéve ez a ESP8266, csak nem tudom abból melyik lenne a jó és mi kell, hogy tudjam csatlakoztatni.
Viszont beleolvasva az aREST headerbe ez támogat serial portos kommunikációt is - viszont akkor felmerül a kérdés, hogy mivel az Android appba IP címet és portot kell megadni, akkor hogy lövöm be soros kommunikációra (gondolom leginkább sehogy sem megoldható, mert akkor a telóra kéne kapcsolnom, és azon kiadni a parancsokat).
Szóval mi lenne a legköltséghatékonyabb megoldás? Boardot is vennem kell hozzá (3 napot bírt az első Nanom ).
"Go to work, get married, have some kids, pay your taxes, pay your bills, watch your tv, follow fashion, act normal, obey the law, and repeat after me: I AM FREE"
Mai Hardverapró hirdetések
prémium kategóriában
- Creative Hybrid Pro Classic (Egyszer kipróbált, garanciális)
- iPhone 15 Pro 128gb Natúr Titanium, bontatlan, független
- ÚJ Apple Watch Ultra 2 GPS + Cellular 49mm - titántok, alpesi szíj
- 8/16GB memoriák
- APPLE MacBook Air 2020 13" Retina - M1 / 8GB / 256 GB SSD / MAGYAR / 96% akku, 81 ciklus / Garancia