PodSvojoStreho.net Gradnja in obnova Napeljave Arduino vsegapomalem

Ocena teme:
  • Glasov: 0 - Povprečje: 0
  • 1
  • 2
  • 3
  • 4
  • 5
#1
Sem mislil, da bo bolj simpel vse skup, pa (če se ti malo zatakne) hitro treščiš ob C++ "bombončke", ki so za nedeljskega C programerja prava strahota.
Tole odpiram če bi se našla dobra duša, da bi mi pokazala nekaj osnovnih trikov, da človek lažje zvozi. Sicer nisem čisto začetnik, naredil sem že par zadev, ampak pri simulaciji IR daljinca se mi je zataknilo.

Vprašanje: V delujočem projektu dobljenem na netu je funkcija (void mark(int usec)), ki pošlje paket 38kH impulzov za odpiranje IR LEDke, ki pa je nikjer ne najdem, pa tudi dela ne, če jo kljičem v glavnem programu. No našel sem samo neko deklaracijo: VIRTUAL void mark(int usec); v enem class-u
#2
Problem je, ker nisi vključil knjižnice, ker je ta funkcija definirana. Knjižnica je na GitGubu <!-- m --><a class="postlink" href="https://github.com/shirriff/Arduino-IRremote">https://github.com/shirriff/Arduino-IRremote</a><!-- m -->. Najdi kakšen odjemalec Git za svoj operacijski sistem ter kloniraj repozitorij k sebi v isto mapo, kjer imaš program.
#3
Saj programi iz knjižnice delajo, samo ne najdem ne omenjene funkcije ne parametre zanjo, dela mi pa tudi ne, če jo hočem uporabiti v svojem programu - C++ fore.
#4
crtg Napisal:Problem je, ker nisi vključil knjižnice, ker je ta funkcija definirana. Knjižnica je na GitGubu <!-- m --><a class="postlink" href="https://github.com/shirriff/Arduino-IRremote">https://github.com/shirriff/Arduino-IRremote</a><!-- m -->. Najdi kakšen odjemalec Git za svoj operacijski sistem ter kloniraj repozitorij k sebi v isto mapo, kjer imaš program.
Si mislil, da prenesem vse kar je tam? kaj s tem pridobim - razen da imam vse lokalno in da po mapah hitro najdem kak primer.

Bilo bi fajn, da napišete svoje trike, izkušnje, s čem odpirate cpp? se da narest povezavo med razvojnim okoljem in cpp - mislim da Find skoči v cpp.

Kako arhivirati nek projekt, mislim da se nekam shrani vse, kar si potreboval za kompajliranje.


Pa še moje prve izkušnje.
- Ko ugotoviš, da se pri C++ funkcije skrivajo za :: potem je lažje kaj najti, razumeti in tudi preurediti oziroma pobrati iz kakega primera to, kar te zanima.

-Večkrat se mi je zgodilo, da stvar ni in ni hotela delati, tudi če sem do pičice skopiral celo skico, pomagalo pa je, če sem jo shranil in znova odprl. To je palilo večkrat, torej mora biti nekaj na tem. Ne vem ali je tu kaka logika ali pa gre za kak bag.

-Torej naučil sem se, da je najbolje najti nek primer in ga toliko oskubiti, da še dela kar hočeš, odvečno pa odstraniš. Nekaj sestavljati ali dopolnjevati poznavalsko napisan C++ program je pa muka svetska - seveda če nisi stručko, ki pa jih je za C++ zelo malo.

Kaj mi je uspelo narest na Leonardu:
V ozadju se z maksimalno hitrostjo nonstop izvaja ciklično skeniranje šestih analognih izhodov, rezultate se pa sešteva in ko se zbere 1250 semplov vsakega kanala (točno n * 20ms), se vseh 6 rezultatov prepiše v novo polje, ki je na voljo glavnemu programu.
Istočasno prav tako v ozadju teče program za skeniranje IR daljinca, ki krmili digitalne izhode in pošilja string na Serial1, od koder prihajajo ukazi za prikazovanje enega od AD kanalov na starem Optrex LCD-ju, ki ne deluje na original LCD knjižnici.
Danes sem dobil DS18B20, morda se ga bo dalo dodati v isti SW.
#5
Glede na probleme s kompatibilnostjo Leonarda razmišljam, da bi izbral kako drugo ploščo (cca 5 plošč za hišno avtomatizacijo), kaj predlagate? USB na vsaki plošči res ne rabim, zato bi bila najpriemrnejša kaka UNO plošča brez USB-ja, ali nekaj kot Pro mini 328.
V čem je razlika med UNOtom in PRO minijem, samo v velikosti in da nima USB-ja?? in kak je razlika med tema dvema
<!-- m --><a class="postlink" href="http://dx.com/p/arduino-pro-mini-microcontroller-circuit-board-blue-5v-16mhz-178183">http://dx.com/p/arduino-pro-mini-microc ... mhz-178183</a><!-- m -->
<!-- m --><a class="postlink" href="http://dx.com/p/new-version-pro-mini-atmega328p-microcontroller-board-white-173878">http://dx.com/p/new-version-pro-mini-at ... ite-173878</a><!-- m -->
Sploh bi bilo krasno, če bi bili vsaj vzdolžni pini v 0,1" rastru za na univerzalno platko.
Sem naknadno najdu Mini, ki je kot kaže v 0,1" rastru <!-- m --><a class="postlink" href="http://arduino.cc/en/Main/ArduinoBoardMini">http://arduino.cc/en/Main/ArduinoBoardMini</a><!-- m --> ampak na ebayu tega skorajda ni, edini s kulturno ceno 11$ + 10$ poštnine <!-- m --><a class="postlink" href="http://www.ebay.com/itm/OMS-Mini-328-Atmega328-controller-Arduino-Mini-compatible-/280843906912?pt=LH_DefaultDomain_2&hash=item416399ef60">http://www.ebay.com/itm/OMS-Mini-328-At ... 416399ef60</a><!-- m -->
#6
Ti zvečer oz. jutri kaj več napišem. Za zdaj si poglej tole.

<!-- m --><a class="postlink" href="http://sigma-shop.com/product/73/web-internet-ethernet-controlled-relay-board-arduino-compatible-rs485-usb-boxed-for-din-mount-rail.html">http://sigma-shop.com/product/73/web-in ... -rail.html</a><!-- m -->

Jaz bi na tvojem mestu uporabil samo eno ploščo ter kakšno zunanjo ploščo z releji. Najprej si poračunaj koliko in kakšne izhode potrebuješ, potem pa naprej.

Lp, Črt
#7
Stvari imam razmetane po bajti:
- Kuhinja-dnevna: Klima, ki jo bom krmilil preko IR-a, LCD z nekaj gumbi, prižiganje par luči, senzanje temperature
- 1. razvod talnega in radiatorjev Jug (v spalnici): merjenje temperatur v ceveh, predvsem pa odpiranje cca 6 termičnih pogonov (230V) za ventile + morda IR sprejemnik
- Zalogovnik + peč na drva + 2. razvod talnega: 8 termometrov zalogovnika, 2 za natančno meritev delta T kolektorjev, vklop in PWM regulacija 5 črpal, nadzor peči, cca 2 termična pogona za talno in temperatura v utilitiju.
- Nadzor 12kW grelcev v zalogovniku s čim hitrejšim izklopom ene od faz v primeru prekoračitve toka glavnih varovalk, števec porabe, napetosti, tokov, beleženje prehodnih pojavov - tudi ob izpadu varovalke, planiram maksimalni doseg cca 150Ap in ločljivost meritve moči 1W, morda celo 0,1W (Arduino Due).
- Bojler s kopalnico: 3 temperature v bojlerju + še kaka za dovod iz potopljenega bojlerja v zalogovniku, temperatura v kopalnici, vklop obtočne sanitarne črpalke, vklop grelca bojlerja, vklop kaloriferja v kopalnici (z IR daljincem v spalnici)
- Prezračevanje: 6 vlagomerov, ene 10 temepratur, regulacija 4. ventilatorjev, vklop in monitoriranje črpalke za predgretje in hlajenje (12V), vklop in nadzor razvlažilca
- Kolektorji: 16 termometrov, vsaka veja enega
- Strojnica bazena + zimski vrt: Tenda (dve tipki), nekaj temperatur, ventilator za poletno hlajenje, vklop električnega talnega gretja in dveh črpalk za bazen, IR daljinec
- Prenosna upravljalska enota z velikim LCD in IR daljincem, zaenkrat priklop na žični razvod z RS485, 12 in morda 7V.

Zalogovnik in nadzor grelcev bo verjetno skupaj, a ju bom ločil.
#8
Hmmm ja jaz bi to vse skup krmilil preko enega Arduino Mega, edina težava, ki jo mogoče vidim, je meritev vlage... mislim zaradi dolžine vodnikov... pod regulacijo ne vem kaj misliš, hitrost s preklapljanjem relejev ? No kot rečeno bi zadevo speljal preko enega Mega in mogoče zaradi temperatur še enega ali dva Nano (velikosti 2€ kovanca), med njimi pa RS485 komunikacija... v primeru, da ti zmanjka izhodov dodaš eno eli več relejnih ploščic preko I2C/TWI in si zmagal...
se pa nebi omejeval z nekim LCDjem in žicami, ampak bi uporabil Ethernet shield (Wiznet 5100 čip) in naredil en enostaven strežnik, da lahko potem zadeve "rolaš" preko telefona/tablice/abaka...
pa pred nekaj časa si govoril, da bi na 485 linijo dal prenapetostno zaščito... po mojem ni potrebna, saj ti v res najslabšem primeru odleti samo driver (DIL verzija in jo menjaš v sekundah, stane pa niti 1 €)...
Spoštujte uporabnike portala | Opišite svoj problem čim bolj natančno - vključno z naslovom | Preden postavite vprašanje uporabite ISKALNIK | Pišite v slovenščini; KRIČANJE ni dovoljeno | Komercialno oglaševanje ni dovoljeno
#9
Pozabil si na nadzor 12kW grelcev s števcem porabe in zapisom prehodnih pojavov, to bo laufalo na 32 bitniku.

Razdalje med "otoki" so po 6 do 12m in ker bom lažje kaj spreminjal, dodajal..., sem se odločil za kontroler na vsakem otoku. Itak pa bom verjetno nabavil [url=httpunichr("58")//wwwunichr("46")ebayunichr("46")com/itm/300726922530]ATMEGA328P-PU with arduino UNO BOOTLOADER + DIP SOCKET[/url] in vsak otok naredil na fušplatki (imam več zelo priemrnih fušplatk za DIL čipe z vmesnimi vezmi za maso in +).

Glede nadzora planiram en zelo skromen mikro ATX PC z Winsi XP in LabView. Za kontrolo bi dostopal preko remote desktopa, za monitoring pa bi mi LabView delal skrinšot(e), ki bi jih lahko gledal preko web strežnika. Php, baze, web strežnik ... nič ne poznam, povrh bo po moje kup dela z prikazovanjem različnih grafov (recimo prehodni pojavi v električnem omrežju), LabView pa to naredi s parimi kliki + obvladam ga.

V bajti sta 2 penzionista in jima bosta LCD in IR komande prav prišle, sploh ker se bo dalo kaj pokomandirati z daljincem od TV-ja.

Ali so kaki problemi s sprogramiranjem 328 čipkota z Arduino softverom preko RS232 in MAX232? Kaj pa preko 485, seveda bi bil lahko samo eden naenkrat priključen.

Za povezavo razmišljam o UTP kablu, ena parica 485, druga za 7V, 3. in 4. za 12V. Konektor bi dal 9 pinski D, še zlasti kjer bo šla povezava naprej in bosta v konektorju skupaj zvezana 2 kabla - na konceh morda kar RJ45. Morda bi bilo dobro dodati en pošten masni vodnik, za +12 pa 4 UTP droti. To bi zadostovalo za več kot 1A na 12V (4 UTP drotki imajo na 12m 0,28ohmov).
#10
Programiranje preko FTDI gre (načeloma tudi direkt na RX in TX, je pa tu problem, da rabiš pritisnit reset, preden začneš z loadanjem), preko 485 pa ne dela... v bistvu je težava ista kot prej Smile in pa nima dovolj velikega bufferja (razen, če ti uspe narediti program velikosti do 512b Wink ) aja pa za 485 komunikacijo ne uporabljat hardverskega UARTa ampak raje preko SoftwareSerial knjižnice, kjer lahko za serijsko komunikacijo uporabiš bilo kateri par izhodov. Še to, glede na to, da imaš kratke razdalje bi verjetno lahko za komunikacijo uporabil kar navadno RS232 komunikacijo, saj deluje B.P. tja do 20m...
Spoštujte uporabnike portala | Opišite svoj problem čim bolj natančno - vključno z naslovom | Preden postavite vprašanje uporabite ISKALNIK | Pišite v slovenščini; KRIČANJE ni dovoljeno | Komercialno oglaševanje ni dovoljeno
#11
Zakaj ne UART + pin 2 za smer 485 baferja?
V čem je slabost te variante napram RS232, saj UART ne ve kaj ima na rx tx pinih. Itak pa 232 odpade ker mora 7 naprav komunicirati med sabo brez nadzornega PC - to je namreč cilj, torej da je PC samo supervizor oziroma za smetano funkcionalnosti.

Glede programiranja in 512 pa ne razumem, kaj svetuješ. Probavati ne morem, ker imam samo Leonrda, v kratkem dobim Due im Mega, ostale pa rabim čim prej naročiti in rabim vedet kaj. Iz Kitajske vse hodi po 3 tedne. Je kaka past pri varianti s fušplatko in 328 čipkotom?
#12
Pa saj ni težava v samem UARTu (sploh je ni), samo če hočeš uploadat nov sketch, je potrebno odklopit vse iz RX in TX pinov... Aja če uporabiš Software serial ni problemov (za 485 komunikacijo) je bolje, ker nimaš težav s čakanjem da se buffer sprazni... Pri uartu pa je malo nadležno da moraš še neke delaye upoštevat...
Kar sem govoril o 512b bufferju pa je velikost EPROMA na 328ki in to je edina težava ki obstaja, da ne moreš programirat zadeve preko 485 komunikacije... Ostalo bi bila mala malica...
Težav na fušplatki ne bo... Glej samo da daš 16 MHz kristal in 2 22pF kondiča in bo delovalo, pa ne pozabi na reset pin - en knofek se ti splača dat zraven...
Mislim da sem ta post malo zbluzil, ampak pošem na fonu iz "pisarne" tako da imam malo bolj šiti ajdijas Wink
Spoštujte uporabnike portala | Opišite svoj problem čim bolj natančno - vključno z naslovom | Preden postavite vprašanje uporabite ISKALNIK | Pišite v slovenščini; KRIČANJE ni dovoljeno | Komercialno oglaševanje ni dovoljeno
#13
@Tone: glede na to, da te je nekaj zezalo implementacija vsega, si poglej tole: <!-- m --><a class="postlink" href="http://code.google.com/p/arduino-nodo/">http://code.google.com/p/arduino-nodo/</a><!-- m -->
Je sicer v Nizozemščini, ampak Google is your friend!
Spoštujte uporabnike portala | Opišite svoj problem čim bolj natančno - vključno z naslovom | Preden postavite vprašanje uporabite ISKALNIK | Pišite v slovenščini; KRIČANJE ni dovoljeno | Komercialno oglaševanje ni dovoljeno
#14
Ker bom imel pri avtomatizaciji bajte vsaj 20 novih merilnih točk in ker bo pri nekaterih nevarnost odpovedi zaradi strele, sem nabavil [url=httpunichr("58")//wwwunichr("46")ebayunichr("46")counichr("46")uk/itm/50pcs-10k-OHM-Thermistor-Resistor-NTC-MF52-103-3435-10K-3435-1-/290767819319?ssPageName=ADMEunichr("58")Lunichr("58")PMRunichr("58")GBunichr("58")1123]50 termistorjev[/url]. Pri DS18B20 imaš ful sitnosti, ko ti zaradi strele pregorijo, saj moraš novemu prebrati ID in ga dodati v SW. Vprašanje kaj bo čez 5 ali 10 let, ali bom imel pri roki potrebno opremo.
Moje izkušne z NTC:
Tabela na strani prodajalca je polna napak, celo tabela proizvajalca - verjetno drugega, ima napako in je še drugačna, posebno na nizkih temperaturah, čeprav gre za isti B.
Formula za izračun temperature s pomočjo B je dobra za pozitivne temperature, bolj kot greš pod ničlo hujša je napaka.
Nekako sem sestavil tabelo od -40 do 130°C na 5°C. Deloma iz formula s pomočjo B-ja, deloma iz podatkov prodajalca (glej link), deloma po lastnih meritvah. Ko sem določil tabelo je program za linearno interpolacijo simpel. Na Arduinu Leonardo sem naredil še povprečenje 6 AD vhodov (teče v ozadju pod interaptom) v trajanju 780ms (prvi možni n * 20ms) in dobil izredno stabilne rezultate, tako da mi na koncu ni žal, je šlo pa odločno preveč časa.
6 vhodov lahko multipleksiram, recimo X 4 in imam 24 vhodov z rezultati vsake dobre 3s. Pri takem načinu merjenja je celo koristno, da je v signalu nekaj motenj, saj se s tem da dobiti precej večjo ločljivost od ločljivosti AD-ja, to pa je pri opazovanju temperature pogosto fajn, saj veliko lažje oceniš trend.
Koda:
//Na Leonardu bere A0 do A5, jih povpreči v časovnem oknu 780ms, kar je 39 period 50Hz //oziroma 1250 skenov AD-ja na enem kanaluunichr("46") Konec konverzije proži prekinitev, v kateri se zamenja kanal in še kaj drugega postoriunichr("46") //dolžina prekinitev vsakih 104us (kolikor traja ena konverzija) je od 7 do 15,4us, vsakih 780ms pa še nekaj več //v povprečju manj kot 10% CPUja //na prvih dveh portih sta NTC-ja, program iz tabele izračuna temperaturo in jo izpiše na Serial //bere do 7 DS1820 na portu 7 #include <OneWireunichr("46")h> #include <DallasTemperatureunichr("46")h> // Data wire is plugged into pin 2 on the Arduino #define ONE_WIRE_BUS 7 // Setup a oneWire instance to communicate with any OneWire devices // (not just Maxim/Dallas temperature ICs) OneWire oneWire(ONE_WIRE_BUS); byte NSenzorjev; // Pass our oneWire reference to Dallas Temperatureunichr("46") DallasTemperature sensors(&oneWire); const byte adcPin = 0; const byte AnRef= 64; //64 5V ref 192 interna 2,5V ref long adcReadTempunichr("91")unichr("93")={0,0,0,0,0,0}; long adcReadingunichr("91")unichr("93")={0,0,0,0,0,0}; //AD readings * 10 for -40unichr("46")unichr("46")unichr("46")130°C //+5V_8K25_ADIn_NTC_GND //0 na koncu da se izkoplje iz while zanke v primeru kratkega stika word NTC_Tableunichr("91")unichr("93")={9805,9702,9566,9381,9161,8903,8606,8270,7896,7487,7048,6584,6101,5605,5108, 4626,4168,3738,3341,2978,2649,2353,2089,1854,1646,1462,1300,1158,1032,922,825,739,663,597,538}; const byte TabLen = sizeof(NTC_Table)/2-1;//-1 da ni treba v while odštevat //korekcija za 2 priključena NTC-ja float TempCorunichr("91")unichr("93") = {0, -0unichr("46")3}; volatile boolean adcDone = false; boolean adcStarted; long sensorValue = 0; //Mux tabela za Leonarda byte AD_Kanaliunichr("91")unichr("93") = {5, 4, 1, 0, 7, 6};//V ADC IRQ rutini najprej postavi Mux na drugo vrednost byte MuxIndex=0; word itIndex=0; int i; void setup () { // start serial port Serialunichr("46")begin(19200); ADMUX = AnRef+AD_Kanaliunichr("91")0unichr("93"); // start the conversion ADCSRA |= _BV (ADSC) | _BV (ADIE) | 32; // Start up the library sensorsunichr("46")begin(); NSenzorjev = sensorsunichr("46")getDeviceCount(); } // end of setup // ADC complete ISR ISR (ADC_vect) { byte low, high; low = ADCL; high = ADCH; ADMUX = AnRef+AD_Kanaliunichr("91")MuxIndexunichr("93"); adcReadTempunichr("91")MuxIndexunichr("93") = adcReadTempunichr("91")MuxIndexunichr("93")+((high << 8) | low); MuxIndex++; if (MuxIndex >5) { MuxIndex=0; itIndex++; if (itIndex > 1249) { adcDone = true; itIndex = 0; memcpy(adcReading,adcReadTemp,24); for (int i=0; i <= 5; i++) adcReadTempunichr("91")iunichr("93") = 0; } } } // end of ADC_vect void loop () { // call sensorsunichr("46")requestTemperatures() to issue a global temperature // request to all devices on the bus sensorsunichr("46")requestTemperatures(); // Send the command to get temperatures for (int i=0; i < NSenzorjev; i++){ Serialunichr("46")print("DS18B20_"); Serialunichr("46")print(i+1); Serialunichr("46")print(" temeperature = "); Serialunichr("46")print(sensorsunichr("46")getTempCByIndex(i)); Serialunichr("46")print("C "); } for (int n=0; n<2; n++){ //ADCx10 je povprečje odčitkov AD-ja pomnoženo z 10 zaradi večje točnosti word ADCx10 = (adcReadingunichr("91")nunichr("93")+62) / 125; i = 1; while((ADCx10 <= NTC_Tableunichr("91")iunichr("93"))&(i<TabLen)){ i++; } if (ADCx10 >= NTC_Tableunichr("91")iunichr("93")){ int T = -40+i*5; Serialunichr("46")print(T-5unichr("46")0*(ADCx10 - NTC_Tableunichr("91")iunichr("93"))/(NTC_Tableunichr("91")i-1unichr("93")-NTC_Tableunichr("91")iunichr("93"))+TempCorunichr("91")nunichr("93")); Serialunichr("46")print("C "); } else{ Serialunichr("46")print("Napaka, odcitek AD-ja "); Serialunichr("46")print(ADCx10/10); Serialunichr("46")print(", morda je temperatura >130C "); } } Serialunichr("46")println(""); adcDone = false; } // end of loop
#15
Če smem... A ti živiš na Nanosu v oddajniškem stolpu? Zaradi strel namreč...
Meni ni odletel še noben DS, pa so eni celo potopljeni v vodi, izolirani samo z navadno bužirko... Vem, lahko bi jih izoliral s tekočim elektro lepilom, pa kaj Smile

Drugače pa nice job s kodo, bi pa jaz uporabil drugo funkcijo OneWire knjižnice:

Koda:
// This Arduino sketch reads DS18B20 "1-Wire" digital // temperature sensorsunichr("46") // Copyright (c) 2010 Mark McComb, hacktronics LLC // Licenseunichr("58") httpunichr("58")//wwwunichr("46")opensourceunichr("46")org/licenses/mit-licenseunichr("46")php (Go crazy) // Tutorialunichr("58") // httpunichr("58")//wwwunichr("46")hacktronicsunichr("46")com/Tutorials/arduino-1-wire-tutorialunichr("46")html #include <OneWireunichr("46")h> #include <DallasTemperatureunichr("46")h> // Data wire is plugged into pin 3 on the Arduino #define ONE_WIRE_BUS 3 // Setup a oneWire instance to communicate with any OneWire devices OneWire oneWire(ONE_WIRE_BUS); // Pass our oneWire reference to Dallas Temperatureunichr("46") DallasTemperature sensors(&oneWire); // Assign the addresses of your 1-Wire temp sensorsunichr("46") // See the tutorial on how to obtain these addressesunichr("58") // httpunichr("58")//wwwunichr("46")hacktronicsunichr("46")com/Tutorials/arduino-1-wire-address-finderunichr("46")html DeviceAddress insideThermometer = { 0x28, 0x94, 0xE2, 0xDF, 0x02, 0x00, 0x00, 0xFE }; DeviceAddress outsideThermometer = { 0x28, 0x6B, 0xDF, 0xDF, 0x02, 0x00, 0x00, 0xC0 }; DeviceAddress dogHouseThermometer = { 0x28, 0x59, 0xBE, 0xDF, 0x02, 0x00, 0x00, 0x9F }; void setup(void) { // start serial port Serialunichr("46")begin(9600); // Start up the library sensorsunichr("46")begin(); // set the resolution to 10 bit (good enough?) sensorsunichr("46")setResolution(insideThermometer, 10); sensorsunichr("46")setResolution(outsideThermometer, 10); sensorsunichr("46")setResolution(dogHouseThermometer, 10); } void printTemperature(DeviceAddress deviceAddress) { float tempC = sensorsunichr("46")getTempC(deviceAddress); if (tempC == -127unichr("46")00) { Serialunichr("46")print("Error getting temperature"); } else { Serialunichr("46")print("Cunichr("58") "); Serialunichr("46")print(tempC); } } void loop(void) { delay(2000); Serialunichr("46")print("Getting temperaturesunichr("46")unichr("46")unichr("46")\n\r"); sensorsunichr("46")requestTemperatures(); Serialunichr("46")print("Inside temperature isunichr("58") "); printTemperature(insideThermometer); Serialunichr("46")print("\n\r"); Serialunichr("46")print("Outside temperature isunichr("58") "); printTemperature(outsideThermometer); Serialunichr("46")print("\n\r"); Serialunichr("46")print("Dog House temperature isunichr("58") "); printTemperature(dogHouseThermometer); Serialunichr("46")print("\n\r\n\r"); }

Na ta način veš točno kateri senzor kličeš, ker indeksi so tako, tako...
Spoštujte uporabnike portala | Opišite svoj problem čim bolj natančno - vključno z naslovom | Preden postavite vprašanje uporabite ISKALNIK | Pišite v slovenščini; KRIČANJE ni dovoljeno | Komercialno oglaševanje ni dovoljeno
1 2 3 4
Iskanje po temi