www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Arduino - začetne težave
Pojdi na stran Prejšnja  1, 2, 3 ... , 24, 25, 26  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 6.24
Kraj: Črnomelj

PrispevekObjavljeno: Ned Avg 10, 2014 2:49 pm    Naslov sporočila:   Odgovori s citatom

Preberi temperaturo.
Če je večja od 40, izklopi regulacijo (pin low)
Ko pa manjša od 37 jo pa nazaj vklopi.

Dva if stavka.

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
damjango
Član
Član



Pridružen-a: Pon 03 Sep 2012 7:56
Prispevkov: 721
Aktiv.: 5.12
Kraj: Murska Sobota

PrispevekObjavljeno: Ned Avg 10, 2014 3:45 pm    Naslov sporočila:   Odgovori s citatom

Koda:
  if (temp_nas_zg < temp_pov_ce){
    digitalWrite(ogrevanje,HIGH);
  }
      if (temp_nas < temp_pov_ce){
    digitalWrite(ogrevanje,LOW);
      }



Še vedno ne deluje vredu.

Prižigan z logično 0. Spremenljivka temp_nas_zg je zgornja meja, temp_nas je pa spodnja meja. zgornjo mejo sem določil, tako, da se k spodnji prišteje 3.
Koda:
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3638
Aktiv.: 17.11

PrispevekObjavljeno: Ned Avg 10, 2014 5:34 pm    Naslov sporočila:   Odgovori s citatom

Čisto enostavno
Koda:
if(temperatura > 40)
 {
   digitalWrite(izhod_grelec, HIGH);
 }
if(temperatura < 37)
 {
   digitalWrite(izhod_grelec, LOW);
 }

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
int47
Član
Član



Pridružen-a: Pon 15 Dec 2003 0:10
Prispevkov: 2066
Aktiv.: 9.30
Kraj: Ljubljana

PrispevekObjavljeno: Ned Avg 10, 2014 5:37 pm    Naslov sporočila:   Odgovori s citatom

damjango je napisal/a:
Še vedno ne deluje vredu.

En "<" je narobe, zato se pri
Koda:
temp_pov_ce > temp_nas > temp_nas_zg

izvedeta oba if stavka.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
skalpel
Član
Član



Pridružen-a: Tor 31 Jan 2012 19:46
Prispevkov: 432
Aktiv.: 2.92
Kraj: Šenčur

PrispevekObjavljeno: Ned Avg 10, 2014 6:29 pm    Naslov sporočila:   Odgovori s citatom

igo je napisal/a:
Čisto enostavno
Koda:
if(temperatura > 40)
 {
   digitalWrite(izhod_grelec, HIGH);
 }
if(temperatura < 37)
 {
   digitalWrite(izhod_grelec, LOW);
 }


Ravno obratno mora bit Wink
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 6.24
Kraj: Črnomelj

PrispevekObjavljeno: Ned Avg 10, 2014 6:38 pm    Naslov sporočila:   Odgovori s citatom

damjango je napisal/a:

Prižigan z logično 0.

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
skalpel
Član
Član



Pridružen-a: Tor 31 Jan 2012 19:46
Prispevkov: 432
Aktiv.: 2.92
Kraj: Šenčur

PrispevekObjavljeno: Ned Avg 10, 2014 6:39 pm    Naslov sporočila:   Odgovori s citatom

tilz0R je napisal/a:
damjango je napisal/a:

Prižigan z logično 0.


Spregledal
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
damjango
Član
Član



Pridružen-a: Pon 03 Sep 2012 7:56
Prispevkov: 721
Aktiv.: 5.12
Kraj: Murska Sobota

PrispevekObjavljeno: Sre Okt 08, 2014 5:54 pm    Naslov sporočila:   Odgovori s citatom

Zanima me, zakaj se mi dogaja, da vedno program skače nazaj v setup funkcijo?

Spodaj je program za oddajni modul in sprejemni modul

Koda:


//first included your library
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>

int bytearraytoint(byte * array)
{
  int value=0;
  value |= array[0];
  value |= array[1]<<8;
  value |= array[2]<<16;
  value |= array[3]<<24;
  return value;
}

void setup(){
   Serial.begin(57600);
    Mirf.spi = &MirfHardwareSpi;
    Mirf.csnPin = 7; //(This is optional to change the chip select pin)
    Mirf.cePin = 8; //(This is optional to change the enable pin)
    Mirf.init();
    Mirf.setTADDR((byte *)"serv1");
    Mirf.payload = 32;
    Mirf.config();
    Serial.println("<Listening ... "); // "Beginning ..." on sender, or "Listening ..." on sever (Receiver)
  }
 
 
void loop(){
     byte data[4];
     
       if(!Mirf.isSending() && Mirf.dataReady())
       {
          Mirf.getData((byte *) &data);
           Serial.println(bytearraytoint((byte *)&data));
          Serial.println("\n");
           Serial.println("\n");
       }

}


Koda:


#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
int sensorPin = A0;
int sensorValue = 0;  // variable to store the value coming

#include "DHT.h"

#define DHTPIN 2     // what pin we're connected to

// Uncomment whatever type you're using!
#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

DHT dht(DHTPIN, DHTTYPE);

void setup()
{
   Serial.begin(57600);
    dht.begin();
    Mirf.spi = &MirfHardwareSpi;
    Mirf.csnPin = 7; //(This is optional to change the chip select pin)
    Mirf.cePin = 8; //(This is optional to change the enable pin)
    Mirf.init();
    Mirf.setTADDR((byte *)"serv1");
    Mirf.payload = 32;
    Mirf.config();
    Serial.println("Beginning ... "); // "Beginning ..." on sender, or "Listening ..." on sever (Receiver)
}

void loop()
{
    float h = dht.readHumidity();
    float t = dht.readTemperature();
      sensorValue = analogRead(sensorPin);
     
     Mirf.send((byte *) sensorValue);
     delay(1000);
     Mirf.send((byte *) (int)t);
     delay(1000);
     Mirf.send((byte *) (int)h);
     delay(1000);
     
      Serial.println(sensorValue);
       Serial.println(t);
        Serial.println(h);

}
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
damjango
Član
Član



Pridružen-a: Pon 03 Sep 2012 7:56
Prispevkov: 721
Aktiv.: 5.12
Kraj: Murska Sobota

PrispevekObjavljeno: Sre Okt 08, 2014 5:56 pm    Naslov sporočila:   Odgovori s citatom

še slika


serial terminal.png
 Opis:
 Velikost datoteke:  329.67 KB
 Pogledana:  32 krat

serial terminal.png


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
ssdzkrez
Član
Član



Pridružen-a: Sre 12 Jan 2011 15:13
Prispevkov: 401
Aktiv.: 2.49
Kraj: Hrastnik

PrispevekObjavljeno: Čet Okt 09, 2014 7:17 am    Naslov sporočila:   Odgovori s citatom

Program ti zaradi napake v loop() resetira mikrokontroler in void.setup() se ponovno zažene. Drugače pa je ta del programa namenjen, da se izvrši samo ob zagonu. Verjetno presežeš neko vrednost spremenljivke, mogoče napaka v knjižici.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
damjango
Član
Član



Pridružen-a: Pon 03 Sep 2012 7:56
Prispevkov: 721
Aktiv.: 5.12
Kraj: Murska Sobota

PrispevekObjavljeno: Sre Okt 22, 2014 10:14 am    Naslov sporočila:   Odgovori s citatom

Ukvarjam se z merilnikom induktivnosti s pomočjo aduinota in mi ne dela. Spodaj je programska koda in preprosto vezje z operacijskim ojačevalnikom.

Koda:


#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR 0x20  //_I2C naslov cipa PCF8574
//_____________prikljucitev PCF8574 cipa na lcd prikazovalnik
#define BACKLIGHT_PIN  7  // pin 12 na PCF8574
#define En_pin  4         // pin 9 na PCF8574
#define Rw_pin  5        // pin 10 na PCF8574
#define Rs_pin  6        // pin 11 na PCF8574
#define D4_pin  0        // pin 4 na PCF8574
#define D5_pin  1        // pin 5 na PCF8574
#define D6_pin  2        // pin 6 na PCF8574
#define D7_pin  3        // pin 7 na PCF8574

#define  LED_OFF  0
#define  LED_ON  1

LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);


 //13 is the input to the circuit (connects to 150ohm resistor), 11 is the comparator/op-amp output. //reibot.org for guide
 double pulse, frequency, capacitance, inductance;
 void setup(){
       Serial.begin(9600);
      lcd.begin(16,2);
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);  // vklop osvetlitve LCD zaslona
  lcd.setBacklight(LED_ON);
   
 pinMode(11, INPUT);
 pinMode(13, OUTPUT);

// delay(200);
}


void loop(){
  digitalWrite(13, HIGH);
  delay(5);//give some time to charge inductor.
  digitalWrite(13,LOW);
  delayMicroseconds(100);
  pulse = pulseIn(11,HIGH,5000);

if(pulse > 0.1){
    capacitance = 95.E-8; //Use a multimeter to measure the exact value of capacitance for more accurate readings
    frequency = 1.E6/(2*pulse);
    inductance = 1./(capacitance*frequency*frequency*4.*3.14159*3.14159);
    inductance *= 1E6; //note that this is the same as saying inductance = inductance*1E6

    if(inductance>=1000)
    {
   lcd.print("Inductance");
   lcd.setCursor(2,1);
   lcd.print ((inductance/1000)-0.5); lcd.print ("mH" );
   delay(300);
   lcd.clear();
    }
   
    else {
    lcd.print("Inductance");
    lcd.print (inductance + 10); lcd.print ("uH" );
    delay(300);
    lcd.clear();
    }
}
    else if(pulse < 0.1)
    {
    lcd.print("Insert Inductor");
    delay(500);
    lcd.clear();
    }
}




lm339.png
 Opis:

Download
 Ime datoteke:  lm339.png
 Velikost datoteke:  16.07 KB
 Downloadano:  8 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
damjango
Član
Član



Pridružen-a: Pon 03 Sep 2012 7:56
Prispevkov: 721
Aktiv.: 5.12
Kraj: Murska Sobota

PrispevekObjavljeno: Sre Okt 22, 2014 7:49 pm    Naslov sporočila:   Odgovori s citatom

Deluje, napaka je bila, ker se hotel izmeriti tuljavo z induktivnostjo 1,5uH, kar je bila premajhna vrednost. Doma sem pa imel še eno malo večjo z 500mH in deluje, samo dobim več kot 30% napake, pri tej tuljavi je pokazalo 680mH.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
damjango
Član
Član



Pridružen-a: Pon 03 Sep 2012 7:56
Prispevkov: 721
Aktiv.: 5.12
Kraj: Murska Sobota

PrispevekObjavljeno: Sre Okt 22, 2014 7:56 pm    Naslov sporočila:   Odgovori s citatom

S pomočjo ustreznega kondenzatorja se da umeriti in potem kaže točno vrednost.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Branez
Moderator
Moderator



Pridružen-a: Pon 14 Apr 2003 7:21
Prispevkov: 7768
Aktiv.: 34.98
Kraj: Koprivnica HR

PrispevekObjavljeno: Sre Okt 22, 2014 7:56 pm    Naslov sporočila:   Odgovori s citatom

Kako pa veš da je ta 500mH res te vrednosti?
_________________
The true sign of intelligence is not knowledge but imagination.
Creativity is intelligence having fun!

Albert Einstein
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
damjango
Član
Član



Pridružen-a: Pon 03 Sep 2012 7:56
Prispevkov: 721
Aktiv.: 5.12
Kraj: Murska Sobota

PrispevekObjavljeno: Sre Okt 22, 2014 7:59 pm    Naslov sporočila:   Odgovori s citatom

Tako vem, ker sem jo naročil iz Farnela in piše na vrečki, ki je iz farnella.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3 ... , 24, 25, 26  Naslednja
Stran 25 od 26

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 49 dni


Powered by phpBB © 2001, 2005 phpBB Group