Radíme si navzájem

Datum
Vložil
Titulek

Re: Měřič Ah

A už si na to přišel? Nemělo by to být složité, ale z programu nepoznám co chceš sčítat. Jinak když chceš k proměnné přičíst nějaké číslo tak je to :

proměnná = proměnná + 27;

Datum
Vložil
Titulek

I2C RTC 1307 a MPU6050

Caute

Dnes som zistil ze na jednej adrese mam RTC1307 a MPU6050.Ide to niejak zmenit ta adresa?

Datum
Vložil
Titulek

Re: I2C RTC 1307 a MPU6050

U RTC DS1307 to nezměníš. Jde to pouze u MPU6050. Jediná změna jde pokud změníš logickou úrověň u 6050 na pinu 9. Nevím zda je na modulu zvlášť vyveden. Tady je vysvětlení z datasheetu:
The slave address of the MPU-60X0 is b110100X which is 7 bits long. The LSB bit of the 7 bit address is
determined by the logic level on pin AD0. This allows two MPU-60X0s to be connected to the same I2C bus.
When used in this configuration, the address of the one of the devices should be b1101000 (pin AD0 is logic
low) and the address of the other should be b1101001 (pin AD0 is logic high).
... to znamena pokud na pin 9 u obvodu MPU6050 přivedeš log.1 (high) bude I2C adresa 0x69 a ne 0x68 jako u RTC obvodu.

Datum
Vložil
Titulek

Měření napětí

Ahoj, potřebuji měřit napětí a to napětí potom zobrazovat na displeji 5110. Ovšem kod mi nefunguje, ukáže to jenom číslo 3, když to připojím na 3.3V. Nevíte kde mám chybu?

#include <Nokia5110.h>
LCDnokia5110 lcd(7,6,5,4,3);

int sensorValue = 0;
char data[5];
void setup(void)
{
lcd.LcdInitialise();
lcd.LcdClear();
}
void loop(void)
{
sensorValue = analogRead(A0);
float napeti = ((5.0/1023.0)*sensorValue);
lcd.GotoXY(0, 0);
lcd.LcdString("Napeti");

lcd.GotoXY(1,1);
lcd.LcdString(itoa(napeti, data, 10));

delay(20);
}

Datum
Vložil
Titulek

Re: Měření napětí

Problém je určitě v použití funkce itoa, která pracuje jen s integerem, takže to desetinné číslo (napeti) zaokrouhli (nebo ořeže, teď nevím). Zkuste nahradit v kódu 5.0 hodnotou 50.0 - pak vám to bude ukazovat 33 (bez desetinné tečky). Nebo najít funkci, která převádí float na text - nevím jak se to dělá na Arduinu, protože s ním nepracuji.

Datum
Vložil
Titulek

HTML problém

Dobrý den, mám problém s kódem chci ovládat výstupní piny přes web zatím ovládám pomocí HIGH a LOW, ale chtěl bych i PWM signál, ale zatím nevím jak :). No z5 k problému když napíšu obyčejné HTML a chci vycentrovat nadpisy, odkazy nebo cokoli na stránce tak na výstupu nemám hodnotu HIGH. Zjistil jsem že je to právě tím: <center> bla bla bal </center>, když to smažu tak to funguje jak má, vyzkoušel jsem smazat </center> a taky to funguje, ale není to ukončené, takže nemůžu tam v podstatě nic jiného přidat a umístit to např na levou stranu. Tady je ten kód(našel jsem ho tady https://internetofthings-pune.blogspot.cz/2013/07/this-is-open-source-home-automation.html a upravil si to) :





//for use with IDE 1.0
//open serial monitor to see what the arduino receives
//use the slash to escape the " in the html


//for use with W5100 based ethernet shields


// this project is hosted at


// https://code.google.com/p/arduino-autohome/




#include <SPI.h>
#include <Ethernet.h>



byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x78, 0xE0 }; // <------- PUT YOUR MAC Address Here
byte ip[] = { 192, 168, 0, 20 }; // <------- PUT YOUR IP Address Here
byte gateway[] = { 192, 168, 1, 1 }; // <------- PUT YOUR ROUTERS IP Address to which your shield is connected Here
byte subnet[] = { 255, 255, 255, 0 }; // <------- It will be as it is in most of the cases
EthernetServer server(80); // <------- It's Defaulf Server Port for Ethernet Shield

String readString;

//////////////////////

void setup()

{
pinMode(6, OUTPUT); // Pin Assignment through which relay will be controlled
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);








//start Ethernet



Ethernet.begin(mac, ip, gateway, subnet);

server.begin();

//enable serial data print

Serial.begin(9600);
Serial.println("server LED test 1.0"); // so that we can know what is getting loaded


}

void loop()

{

// Create a client connection

EthernetClient client = server.available();

while (client.connected()) {
if (client.available()) {
char c = client.read();


//read char by char HTTP request
if (readString.length() < 100) {


//store characters to string
readString += c;
//Serial.print(c);


}

//if HTTP request has ended



if (c == 'n') {


///////////////


Serial.println(readString); //print to serial monitor for debuging

/* Start OF HTML Section. Here Keep everything as it is unless you understands its working */


client.println("HTTP/1.1 200 OK"); //send new page
client.println("Content-Type: text/html");
client.println();
//client.println("<meta http-equiv="refresh" content="5">");
client.println("<HTML>");
client.println("<HEAD>");






client.println("</HEAD>");
client.println("<body bgcolor="#99966">");

client.println("<hr>");
client.println("<hr>");
client.println("<h1><center>CONTROL</center></h1>");
client.println("<hr>");
client.println("<hr>");


client.println("<br />");
client.println("<br />");


client.println("Data ze analogoveho pinu A0: ");
client.println(analogRead(A0));


client.println("<br>");

client.println("Data ze analogoveho pinu A1: ");
client.println(analogRead(A1));

client.println("<br>");

client.println("Data ze analogoveho pinu A2: ");
client.println(analogRead(A2));

client.println("<br>");

client.println("Data ze analogoveho pinu A3: ");
client.println(analogRead(A3));

client.println("<br>");

client.println("Data ze analogoveho pinu A4: ");
client.println(analogRead(A4));

client.println("<br>");

client.println("Data ze analogoveho pinu A5: ");
client.println(analogRead(A5));

client.println("<br>");





// Relay Control Code







client.println("<center>");
client.println("<a href="/?relay1on"">Turn On Light 1</a>");
client.println("<a href="/?relay1off"">Turn Off Light 1</a><br />");


client.println("<br />");
client.println("<br />");



client.println("<a href="/?relay2on"">Turn On Light 2</a>");
client.println("<a href="/?relay2off"">Turn Off Light 2</a><br />");


client.println("<br />");
client.println("<br />");



client.println("<a href="/?relay3on"">Turn On Light 3</a>");
client.println("<a href="/?relay3off"">Turn Off Light 3</a><br />");


client.println("<br />");
client.println("<br />");



client.println("<a href="/?relay4on"">Turn On Light 4</a>");
client.println("<a href="/?relay4off"">Turn Off Light 4</a><br />");


client.println("<br />");
client.println("<br />");



client.println("<a href="/?relay5on"">Turn On Light 5</a>");
client.println("<a href="/?relay5off"">Turn Off Light 5</a><br />");


client.println("<br />");
client.println("<br />");



client.println("<a href="/?relay6on"">Turn On Light 6</a>");
client.println("<a href="/?relay6off"">Turn Off Light 6</a><br />");


client.println("<br />");
client.println("<br />");



client.println("<a href="/?relay7on"">Turn On Light 7</a>");
client.println("<a href="/?relay7off"">Turn Off Light 7</a><br />");


client.println("<br />");
client.println("<br />");



client.println("<a href="/?relay8on"">Turn On Light 8</a>");
client.println("<a href="/?relay8off"">Turn Off Light 8</a><br />");


client.println("<br />");
client.println("<br />");
client.println("</center>");



// control arduino pin via ethernet Start //


if(readString.indexOf("?relay1on") >0)//checks for on

{

digitalWrite(2, HIGH); // set pin 4 high
Serial.println("Led On");
//client.println("Light 0 Is On");
client.println("<br />");

}

else{
if(readString.indexOf("?relay1off") >0)//checks for off

{

digitalWrite(2, LOW); // set pin 4 low
Serial.println("Led Off");
//client.println("Light 0 Is Off");
client.println("<br />");

}

}


if(readString.indexOf("?relay2on") >0)//checks for on

{

digitalWrite(3, HIGH); // set pin 4 high
Serial.println("Led On");
//client.println("Light 0 Is On");
client.println("<br />");

}

else{
if(readString.indexOf("?relay2off") >0)//checks for off

{

digitalWrite(3, LOW); // set pin 4 low
Serial.println("Led Off");
//client.println("Light 0 Is Off");
client.println("<br />");

}

}


if(readString.indexOf("?relay3on") >0)//checks for on

{

digitalWrite(4, HIGH); // set pin 4 high
Serial.println("Led On");
//client.println("Light 0 Is On");
client.println("<br />");

}

else{
if(readString.indexOf("?relay3off") >0)//checks for off

{

digitalWrite(4, LOW); // set pin 4 low
Serial.println("Led Off");
//client.println("Light 0 Is Off");
client.println("<br />");

}

}


if(readString.indexOf("?relay4on") >0)//checks for on

{

digitalWrite(5, HIGH); // set pin 4 high
Serial.println("Led On");
//client.println("Light 0 Is On");
client.println("<br />");

}

else{
if(readString.indexOf("?relay4off") >0)//checks for off

{

digitalWrite(5, LOW); // set pin 4 low
Serial.println("Led Off");
//client.println("Light 0 Is Off");
client.println("<br />");

}

}


if(readString.indexOf("?relay5on") >0)//checks for on

{

digitalWrite(6, HIGH); // set pin 4 high
Serial.println("Led On");
//client.println("Light 1 Is On");
client.println("<br />");

}

else{
if(readString.indexOf("?relay5off") >0)//checks for off

{

digitalWrite(6, LOW); // set pin 4 low
Serial.println("Led Off");
//client.println("Light 1 Is Off");
client.println("<br />");

}

}


if(readString.indexOf("?relay6on") >0)//checks for on

{

digitalWrite(7, HIGH); // set pin 4 high
Serial.println("Led On");
//client.println("Light 2 Is On");
client.println("<br />");

}

else{
if(readString.indexOf("?relay6off") >0)//checks for off

{

digitalWrite(7, LOW); // set pin 4 low
Serial.println("Led Off");
//client.println("Light 2 Is Off");
client.println("<br />");

}

}


if(readString.indexOf("?relay7on") >0)//checks for on

{

digitalWrite(8, HIGH); // set pin 4 high
Serial.println("Led On");
// client.println("Light 3 Is On");
client.println("<br />");

}

else{
if(readString.indexOf("?relay7off") >0)//checks for off

{

digitalWrite(8, LOW); // set pin 4 low
Serial.println("Led Off");
//client.println("Light 3 Is Off");
client.println("<br />");

}

}


if(readString.indexOf("?relay8on") >0)//checks for on

{

digitalWrite(9, HIGH); // set pin 4 high
Serial.println("Led On");
//client.println("Light 4 Is On");
client.println("<br />");

}

else{
if(readString.indexOf("?relay8off") >0)//checks for off

{

digitalWrite(9, LOW); // set pin 4 low
Serial.println("Led Off");
//client.println("Light 4 Is Off");
client.println("<br />");

}

}




// control arduino pin via ethernet End //



//clearing string for next read

readString="";

client.println("</body>");
client.println("</HTML>");
delay(1);


//stopping client


client.stop();

}
}
}

}

Datum
Vložil
Titulek

Ethernet Shield

Zdrávím všechny příznivce Arduina prosím o radu. Doma mi jede na Arduinu UNO s ethernet shieldem meteostanice. Naměřený data se mi zobrazují na WEBserveru z tutoriálu z těchto stránek, které dále zpracovávám. Chtěl bych se zeptat, jestli někdo neví, jakým způsobem naměřená data z WEB serveru zobrazovat na druhém Arduinu s ethernet shieldem na LCD?
Předem díky za rady a tipy.

Datum
Vložil
Titulek

Re: Ethernet Shield

No to je taková chuťovka. Na webu by se museli udělat speciální stránky pro tvé arduino. POuze tedy jednoduché data který by Arduino přečetlo a nějakým způsobem zobrazilo. Stačilo by třeba kdyby server nazpět zaslal třeba několik čísel i bez html hlavičky

Datum
Vložil
Titulek

Klon

Dobrý den. Potřebuji se ještě zeptat, koukal jsem na ta arduina , tak ty klony jsou o dost levnější. Neví o co jde, ale není to od klasického arduina nějak ošizené?

Datum
Vložil
Titulek

Re: Klon

Mám klon Arduino Uno z Číny.Žiadny funkčný problém som nezistil.Len spotrebu som nameral( pri 9V baterii) bol prúd 47mA.Ostatní u Arduina,asi originálneho,uvádzajú prúd 25mA.

Datum
Vložil
Titulek

Re: Klon

Mám také klon z Číny a zatím žádný problém nepozorován. Odběr s podsvětleným LCD kolem 70mA a s Ethernet Shieldem 200mA.

Datum
Vložil
Titulek

Re: Klon

Ja mam taky klon Arduino Mega 2560 z číny (banggood.com) za 297,-Kč a funguje bez problémů.

Datum
Vložil
Titulek

Jak měnit názvy tlačítek

Ahoj,
Mám problém. V knihovně UTFT_Buttons.h se nechají vykreslovat tlačítka použitím příkazu
but1 = myButtons.addButton(10, 20, 300,30, "nápis");

Potřeboval bych nápis měnit. Zkoušel jsem :
String text="nový nápis";
but1 = myButtons.addButton( 10, 20, 300, 30, text);
ale nevzalo mi to.
Lze to nějak provést?
Díky za odpovědi...

Datum
Vložil
Titulek

Re: Jak měnit názvy tlačítek

Zkoušel jsi po každé změně Buttons nechat vykreslit? Díval jsem se na Arduino fórum a tam je v příkladu uveden po nadefinování Buttons ještě příkaz: myButtons.drawButtons();

Datum
Vložil
Titulek

Re: Re: Jak měnit názvy tlačítek

Já mám problém v tom, že mě to hlásí rovnou chybu. Zadám
String text="nový nápis";
but1 = myButtons.addButton( 10, 20, 300, 30, text);

...a nahlásí to chybu
error: no matching function for call to 'UTFT_Buttons::addButton(int, int, int, int, String&)'

Někde mám něco špatně...

Datum
Vložil
Titulek

Re: Re: Re: Jak měnit názvy tlačítek

Asi by bylo lepší dát sem alespoň část programu. Příkazem String text="nový nápis" deklaruješ proměnou text a přiřadíš jí hodnotu "nový nápis" když ji chceš změnit musíš použít jen text="nový nápis2" třeba.

Datum
Vložil
Titulek

Re: Re: Re: Re: Jak měnit názvy tlačítek

Program nemám, zatím jsem řešil, co knihovna "umí". Chtěl jsem např. měřit napětí na pinu a to zobrazovat na tlačítku. Zaráží mě, že když deklaruji proměnnou na txt.řetězec a chci ji pak použít místo nápisu na tlačítku, tak mě to nahlásí chybu. Dělám něco špatně, logicky by to mělo jít, ne... ? Pokud máš nějaký nápad, dej vědět... A dík :)

Datum
Vložil
Titulek

Železnice

Ahoj.
Už nějakou dobu se koukám na arduino a napadlo mě ovládat přes něj své modelové kolejiště ( stavění vlakové cesty, lokomotivy zatím ne :) ) potřebuji se ale zeptat, zda po připojení k pc, nebo přes net ( s internet shieldem) , bych mohl pomocí programu v pc ovládat jednotlivé vstupy a výstupy arduina?
Předem děkuji

Datum
Vložil
Titulek

Re: Železnice

Jasně, právě tohle je jeden z důvodů, proč jsem s Arduinem začal. Z PC se dostaneš k výstupů a jejich ovládání velice snadno.

Datum
Vložil
Titulek

Re: Re: Železnice

fakt? tak to se mi zvedla chut si to pořídit :) mám právě v plánu si graficky zpracovat kolejiště na PC a po kliku na příslušnou kolej v programu si piny z arduina budou spínat relé od výhybek. děkuji moc :)

Datum
Vložil
Titulek

Re: Re: Železnice

ještě bych se ale potřeboval zeptat, zda by pro začátek stačilo UNO. vím že je méně pinů, což by ale zpočátku stačilo, ale jestli jsou i jiné rozdíli od MEGY co se týče max zátěže, či ovládání

Datum
Vložil
Titulek

Re: Re: Re: Železnice

osobne jsem radeji hned volil MEGA, protoze ma prave vice vystupu a taky 4 seriove linky. Rozdil v cene je cca 150 kc takze pohoda. Nebudu davat reklamu, ale vyberes si urcite v eshopu "Santy".

Datum
Vložil
Titulek

Re: Re: Re: Re: Železnice

Dobře, děkuji za vše. Koukal jsem ted ale na stránky santy, a u arduina je psáno ¨klon¨ ... není to nějak ochuzené od pravého arduina?

Datum
Vložil
Titulek

Re: Re: Re: Re: Re: Železnice

taky mám klon, jde o to, že je to podstatně lepvnější a přitom úplně stejné jako originál, občas i výhodně obohacené o další piny. Není se čeho bát.

Datum
Vložil
Titulek

Re: Re: Re: Re: Re: Re: Železnice

Oki. Díky za vše :)

Datum
Vložil
Titulek

analogový vstup

Dobrý den, mám rduino Mega 2560 i s ethernet shieldem a potřeboval bych co nejpřesněji měřit napětí. Bohužel i když mám proměnou hodnotu na 0 a nic není k analogovému pinu připojeno, tak tam mám stále nejaké vysoké hodnoty. Předem děkuji za rady.

Datum
Vložil
Titulek

Re: analogový vstup

Protože když na pinu nic není připojeno, tak je tam naindukované (šum) to cosi, co to ukazuje. Připoj ten pin skutečně na nulu (uzemni ho) a bude to ukazovat 0.

Datum
Vložil
Titulek

Arduino a Modbus

Ahoj,
Potřeboval bych poradit s jedním problémem. Hraju si s Arduinem (UNO) a Modbus protokolem a narazil jsem na jeden problém. Na Arduinu mám připojenou maticovou klávesnici a když zmáčknu klávesu, tak bych potřeboval zapsat log. 1 do určitého registru Modbusu. Což není problém, ale já bych potřeboval, aby ta log. 1 tam byla jen po určitou dobu, např. 500 ms a poté se ten registr vrátil zpět na log. 0, protože nadřazený Master reaguje pouze na příchozí log.1 (vzestupná hrana). Když jsem to testoval pouze připojení log.1 na digitální vstup (pouze na malou chvilku) , tak to fungovalo jak mělo, ale s klávesnicí mi to nejde.
Jen pro doplnění, Arduino připojuji k programu Mach3 pro CNC zařízení a rád bych si vyrobil externí ovládání.
Zde je můj testovací kód:

#include <SimpleModbusSlave.h>
#include <Keypad.h>


const byte ROWS = 4; // 4 řádky
const byte COLS = 4; // 4 sloupce

char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; //čísla pinů s řadkem 1 2 3 4
byte colPins[COLS] = {5, 4, 3, 2}; //čísla pinu se sloupcem 1 2 3 4

//inicializuje klávesnice customKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

enum
{
RESET,
START,
STOP,
PAUSA,
OSAX,
HOME,
JOGPLUS,
FRPLUS,
OSAY,
ZEROZ,
JOGMINUS,
FRMINUS,
OSAZ,
ZEROALL,
SPINDLE,
KROK,
HOLDING_REGS_SIZE
};

unsigned int holdingRegs[HOLDING_REGS_SIZE];


void setup()
{
modbus_configure(&Serial, 9600, SERIAL_8N2, 2, 2, HOLDING_REGS_SIZE, holdingRegs);

}

void loop()
{
modbus_update();

char customKey = customKeypad.getKey();

switch(customKey){

case '1': // RESET

/* if (holdingRegs[RESET]) holdingRegs[RESET] = LOW;
else holdingRegs[RESET] = HIGH;

tak mi to jde také, ale musím pokaždé mačkat klávesu dvakrát
tz. Když chci RESET zapnout, zmáčknu tlačítko a reset se aktivuje
a když ho chci vypnout, musím zmáčknou ještě jednou,
abych registr vynulovat a mohl poslat novou log. 1 pro deaktivaci.*/

break;

case '2': // START

break;


case '3': // STOP

break;

default:
break;
}
}

Datum
Vložil
Titulek

jak zjistit zda je rozsvícen pixel na displeji

Ahoj, mám Arduino Mega2560 s 3.2 TFT touch displejem. Rád bych se optal, zda existuje nějaká knihovna, která by umožnila zjistit, je-li na urřitých souřadnicích rozsvícen pixel, pčípadně jakou má barvu. V knihovnách co jsem našel lze pouze kreslit body, čáry... Děkuji, přeji pěkný den

Datum
Vložil
Titulek

Jak začít

Zdravím všechny.
Arduino mám teprve pár dní a moc mi to nejde. Chtěl bych se zeptat jestli neznáte někdo nějaký WEB nebo soubor kde je přesný technologický postup jak napsat program na arduino.
Předem moc děkuji

Záznamy: 1801 - 1830 ze 1904

<< 59 | 60 | 61 | 62 | 63 >>

Vyhledávání

arduino8.cz © 2015 Všechna práva vyhrazena.