stapator
Vytvořené odpovědi
-
AutorPříspěvky
-
Ondra78
ÚčastníkDával jsem to dohromady před půl rokem.
Ondra78
ÚčastníkTady je kanál kam to chodí z ENC28J60
Tady je kód:
[code] /* | Post temp. values from a DS18B20 to ThingSpeak using the Ethercard interface based on the | ENC28J60 chip. | Based on the Ethercard example from www.jeelabs.org | Phil Grant Jan 2014 */ #include <EtherCard.h> // change these settings to match your own setup #define APIKEY "KVWMM6N5UOKA7SR4" // ThingSpeak Chanel 21973 #include <Wire.h> #include <OneWire.h> #include <DallasTemperature.h> //DS18B20 support // =========== Setup the Temperature sensor details ================= #define ONE_WIRE_BUS 7 // DS18B20 Temperature chip i/o on pin D7 #define TEMPERATURE_PRECISION 9 // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs) OneWire oneWire(ONE_WIRE_BUS); // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); // Insert the ID of your temp sensor here, for the sketch, visit here // http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html DeviceAddress Thermometer = { 0x28, 0xBC, 0x28, 0xF9, 0x03, 0x00, 0x00, 0xA4 }; // zelena, adresa: 0x28, 0xBC, 0x28, 0xF9, 0x03, 0x00, 0x00, 0xA4 int sensorPin = A0; // select the input pin for the ldr unsigned int sensorValue = 0; // variable to store the value coming from the ldr // ethernet interface mac address, must be unique on the LAN byte mymac[] = { 0xDE,0xAD,0xBE,0xEF,0xFE,0xED }; const char website[] PROGMEM = "api.thingspeak.com"; byte Ethernet::buffer[700]; uint32_t timer; Stash stash; void setup () { Serial.begin(57600); Serial.println("\n[webClient]"); if (ether.begin(sizeof Ethernet::buffer, mymac) == 0) Serial.println( "Failed to access Ethernet controller"); if (!ether.dhcpSetup()) Serial.println("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()); if (millis() > timer) { //timer = millis() + 60000; //Transmit every 60 seconds timer = millis() + 30000; //Transmit every 30 seconds sensors.requestTemperatures(); delay(200); // read the value from the ldr: sensorValue = analogRead(sensorPin); // generate two values - by using a separate stash, // we can determine the size of the generated message ahead of time byte sd = stash.create(); stash.print("field1="); stash.println(String(sensors.getTempC(Thermometer),DEC)); // print the temperature as string stash.print("&field2="); stash.print(String(sensorValue, DEC)); // print the value (0 to 1024) as string stash.save(); // For DEBUGGING - Print out our data, uncomment the lines below //Serial.print("field1="); //Serial.println(sensors.getTempC(Thermometer),DEC); //Serial.print("field2="); //Serial.println(sensorValue, DEC); // print the value (0 to 1024) // generate the header with payload - note that the stash size is used, // and that a "stash descriptor" is passed in as argument using "$H" Stash::prepare(PSTR("POST /update HTTP/1.1" "\r\n" "Host: $F" "\r\n" "Connection: close" "\r\n" "X-THINGSPEAKAPIKEY: $F" "\r\n" "Content-Type: application/x-www-form-urlencoded" "\r\n" "Content-Length: $D" "\r\n" "\r\n" "$H"), website, PSTR(APIKEY), stash.size(), sd); // send the packet - this also releases all stash buffers once done ether.tcpSend(); } } [/code]
terje
Účastníkterje
ÚčastníkAhoj ,funguje to perfektně. Díky. Nemohl bys poradit ,jak to rozjet se síťovým modulem (Arduino Mini Ethernet modul – ENC28J60) jsem stáhl, vložil do programu, ale na webu se nezobrazují hodnoty.Hardvéru celkem rozumím, ale programování ne.
Aleš
ÚčastníkJe jedno, který pin použiješ. GND Arduina a tachografu doufám propojené máš ;-). Na straně 246 píšou, že pulzy by měly být 0-3,2V Zkus zapojit GND na GND, B8 na nějaký pin a odpor 1-5k mezi ten B8 a +5V z Arduina.
hcdady
ÚčastníkTak se mi vrátilo vozidlo ze stavby tak jsem to zkoušel měřit.
Při rychlosti 0 km/h ukazuje 0 V
při 40 km/h 1,3 V
při 60 km/h 1,9 V
při 80 km/h 2,5 V
a víc rychlosti jedině cestou ze skály, ale každopádně tachograf je do 125km/h, tak předpokládám, že maximum by mohlo být do 5 V.
A musím říct, že voltmetr ukazuje pěkně plynule podle rychlosti plynule stoupají nebo klesají volty.Ještě mě napadlo u attachinterupt se u una používají 2 piny 2 na 0 a 3 na 1, 2 mě házela nesmysli a 3 neukazovala nic, já ještě zkusím nějaké pokusy na pinu 3. Nebo je jedno který použiji.
Aleš
ÚčastníkJe to tam nějak divně popsané. Na str. 235 je „1.5 V …>9.5 V“ což nevím, jak je myšleno. Jestli 0 je 1.5V a 1 >9.5V. Musel by se tam dát asi odporový dělič. Zkusím se na ten manuál zítra podívat, jestli tam něco najdu o hodnotách pulzů. Zkus změřit napětí normálním voltmetrem mezi kostrou a výstupem z tachografu.
poprad
ÚčastníkDěkuji.
Zbyšek Voda
ÚčastníkTady je o tom celý tutoriál: http://www.arduino.cc/en/Hacking/LibraryTutorial
hcdady
ÚčastníkZdravím popis konektoru je třeba tady strana 231
http://aftermarket.continental-corporation.com.au/files/YVAVGLJ4T8/TU00-1318-0200302.pdf
Používá se ke snímání dráhy, nejsem profík ale zjednodušeně používá se třeba k sypačům na zimní údržbu. Podle rychlosti vozidla dávkuje posyp soli na m2. (Čím rychleji jede vozidlo tím rychleji se točí hydromotory rozmetadla)
No a k tomu rušení to mě připadá reálný, jen prosím tě ten odpor mám dát mezi (arduino pin2) a tachograf, Protože tachograf je napájen z automobilu 24V a z arudiem je propojený pouze na pin2.
No teďka když na to koukám nemůže být problém, že tachograf vysílá 24v impulzy. Protože osciloskop jsem viděl jen na obrázku, tak nevím jestli u impulzů je důležitá voltáž.
Za radu ještě jednou děkujiAleš
ÚčastníkAsi by to chtělo osciloskop, a podívat se, jak ty impulzy vypadají. Jestli to měří i když stroj stojí, tak tam bude nějaké rušení. Zkus na drát přidat odpor 1-5K na +5V, výstup z tachografu může mít otevřený kolektor.
K čemu se ten výstup z tachografu jinak používá?hcdady
ÚčastníkDěkuji za radu něco podobného jsem zkoušel, ale mám problém, že Atachinterupt mě načítá pulzy i když stroj stojí takže teoreticky tachograf by neměl nic vysílat. Ale hlavně počet otáček nevysílá stabilně. Chvíly je tam 0 pak tam lítá v rozmezí 500 – 4500 otáček. Zkoušel jsem měnit režimy z FALLING na RISING, LOW, CHANGE, ale žádná změna. Nevíte kde dělám chybu. David
kini
ÚčastníkJá vím že se IP kamery dají sehnat poměrně levně, chtěl jsem si akorát zkusit jestly by se mi s arduinem podařilo docílit podobného výsledku. Přemýšlel jsem že bych normálně připojil webkameru k Arduinu Yún a ethernet shieldu. K tomu bych pak přidal dvě serva, čidlo detekce pohybu a LED osvětlení. Nemýlím-li se tak na Arduinu Yún se dá rozběhnout odlechčená verze Linuxu, takže by to teoreticky mělo mít i nějaký ten grafický čip.
Vojtěch Vosáhlo
ÚčastníkAhoj,
asi tě to bude mrzet ale z arduina samotného pokud vím IP kameru neuděláš.
Arduino používá čipy které nemají grafickou paměť ani funkce které má např. Raspberry Pi a proto by si musel dokupovat spoustu různých doplňků za velké peníze které by ti to možná umožnili.
Na co by si vlastně potřeboval arduino? Můžeš si pouze koupit IP kameru do 2000Kč která bude mít Full HD, Wi-fi, LAN a ještě budeš moci přes internet ovládat její pohyb. Ty s méně funkcemi se dají sehnat i do 1000Kč.mirec73
Účastníkjop uz se stalo 😀 na http://www.banggood.com ho maju docela dost levny a maju tam hodne doplnku k arduinu tak sem ho objednal aj s dalsima komponentama kere sa budu urcite hodit 😀
dekuju ti za pomoc 😀
Aleš
ÚčastníkHledej měření otáček. Např. https://playground.arduino.cc/Main/ReadingRPM Použij z toho funkci pro snímání pulzů, a výpočet vzdálenosti si k tomu dodělej.
Aleš
ÚčastníkPotom by asi bylo lepší koupit nový celý modul. Na eBay vyjde asi na 40Kč včetně poštovného 🙂
http://goo.gl/9xGYpw
Teď si uvědomuju, že ho tady mám někde taky. Chtěl jsem ho montovat do meteostanice 🙂mirec73
Účastníkno to by asi bylo nejlehci kupit novy stabilizator ale netusim kde ho sehnat … a kvuli 1 stabilizatoru sa mi nechce platit postovne 😀 ale co se tice te schemy asi bude spatna , pac ja tam mam jenom 4 odpory , zadny mosfet a ani diodu + ani to zapojeni mi nejak nesedi , ale zagooglil sem a nasel sem schemu ktera presne sedi aj poctami sucastek aj zapojenim (nektere hodnoty sucastek su jine napr. R na addr je 1k ne 4k7 ) … ale nic tam nepotrebuje tech 5V , secko je jenom na 3,3V
kini
ÚčastníkFunguje mi to až po tu chvíly co chci načíst kartu tzn. vypíše mi požadavek abych mu tu kartu dal ale to je všechno.Pak jsem zkusil kod:
#include <MFRC522.h> #include <SPI.h> #define SAD 10 #define RST 5MFRC522 nfc(SAD, RST); void setup() { SPI.begin(); Serial.begin(115200); Serial.println("Looking for MFRC522."); nfc.begin(); uint8_t version = nfc.getFirmwareVersion(); if (! version) { Serial.print("Didn't find MFRC522 board."); while(1); } Serial.print("Found chip MFRC522 "); Serial.print("Firmware ver. 0x"); Serial.print(version, HEX); Serial.println("."); if (nfc.digitalSelfTestPass()) { Serial.print("Digital self test by MFRC522 passed."); } else { Serial.print("Digital self test by MFRC522 failed."); } } void loop() { }
A napsal mi:
Looking for MFRC522.Found chip MFRC522 Firmware ver. 0x92.0Digital self test by MFRC522 failed.
Ten poslední řádek je chyba a nevím jak ji opravit. Jestly s tím někdo měl taky problém, nebo ví jak to opravit tak bych potřeboval poradit protože už vážně nevím co s tím.Jo a ještě LED D1 na desce svítí a zkoušel jsem i vyměnit kabely. A co je vůbec ten Digital self test?
Aleš
ÚčastníkPodle schématu může být ještě problém s PullUp odporem R4 4K7 na SDA_O. Ten je připojený na +5V. Teď tam máš místo 5V jenom 3,3V, a to nemusí Arduinu stačit, aby signál správně vyhodnotil. Asi by to chtělo stabilizátor vyměnit 🙁
mirec73
Účastníkano , ten stabilizátor vážne odešel , tak sem ho odstranil a napojil na 3,3V ale nefunguje porad
jiri255
Účastníkna pinu 44 to běží a ta 22 a 23 už běží také 😉 , jak jsem tam měl tolik drátů, tak jsem je omylem prohodil (poučení je mít každý drát jiné barvy a né všechny stejné 🙁 ), takže pro další modul můžu použít 22 až 53 🙂 díky za pomoc
charlie12
ÚčastníkPřed dvěma dny jsem to taky vyřešil. Měl jsem stáhlou špatnou knihovnu a adresu displeje.
Jinak díky 🙂kini
ÚčastníkUž jsem nato přišel. Chtělo to jinou knihovnu.
Charlie12: Jestly ti to ještě nejde tak zkus tuhle knihovnu: LiquidCrystal_I2C-master.kini
ÚčastníkŘeším stejný problém. U displeje mi naskočí akorát kostičky v horním řádku a podsvícení a nic víc.
Mám :
LCD Display Arduino 1602 Modré Podsvícení HD44780
IIC I2C TWI SPI Rozhraní pro LCD Displej 1602 2004
a klon Arduina Uno.
Přípojil jsem to na porty A5 a A4 ale text mi to prostě nevypíše. Adresu mám správnou – 0x27.Aleš
ÚčastníkNajdi součástku označenou 662K (stabilizátor z 5V na 3,3V, http://www.mikrocontroller.net/attachment/193855/LM6206N3.pdf) a změř, jestli je na pinu 2 (OUT) 3,3V Nic jiného asi odejít nemohlo.
Aleš
ÚčastníkTo se mi nějak nezdá. Jediný rozdíl mezi piny 7 a 22 je ten, že 7 má PWM, a 22 ne. To ale na ovládání relátek asi nebude mít vliv. Zkus to ještě připojit na pin 44.
jiri255
Účastník….no možná jsem to nenapsal úplně správně ty piny víše jsem našel, že je lze použít pro ovládání relé modulu,když jsem připojil jedno relé s toho modulu místo pinu 7 do pinu 22 nebo 23, tak mi to relé nešlo ovládat(samozřejmě v programu jsem nahradil pin 7 za pin 22 nebo 23) ,tak právě nevím jaké piny použít pro ovládání toho druhého modulu 16x relé, když ty funkční jsou již použité pro ten první modul?
Dále by mě zajímalo, jaké použít piny pro čtení teplotních čidel ds18s20 (vím, že lze použít několik
čidel na jednom drátu a jednom pinu a číst je pomocí adres, ale to také neřeším) potřebuju je mít zvlášť.Aleš
ÚčastníkJá osobně bych koupil tohle:
http://www.ges.cz/cz/pld-40s-GES06600288.html
zkrátil na 2×18, přiletoval k tomu dráty a zapojil to do konektoru s piny 22-53. Na začátku a konci je napájení a zem pro relátka, a mezi tím 2×16 signálů pro ovládání relátek 🙂Zbyšek Voda
ÚčastníkJá myslím, že u těch relé je jedno, do jakých pinů je připojíte. U teploměrů závisí na tom, jakou technologii přenosu dat používají.
-
AutorPříspěvky