» Poradna » Ostatní

Arduino IDE

 |   |  Microsoft Windows 8.1 Chrome 30.0.1599.101

Dobrý den, potřebuji smíchat dohromady tyto kódy ,aby když půjdu na www stránku abych mohl otevírat a zavírat a aby po namačkáni kódu na keypad se otevřel a po napačkáni špatného zavřel. Děkuji.Code #1:#include <Keypad.h>#include <Servo.h>Servo servo_Motor;int LED_CLOSE = 11; int LED_OPEN = 12; int LED_TREZOR = 13;const byte ROWS = 4;const byte COLS = 3;char pressedKey[5] = {'0','0','0','0','0'};char code[5] = {'1','2','3','4','5'};char hexaKeys[ROWS][COLS] = {{'1','2','3'},{'4','5','6'},{'7','8','9'},{'*','0','#'}};byte rowPins[ROWS] = {2, 3, 4, 5};byte colPins[COLS] = {6, 7, 8};Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);void setup(){pinMode(LED_OPEN, OUTPUT); pinMode(LED_CLOSE, OUTPUT); pinMode(LED_TREZOR, OUTPUT);digitalWrite(LED_CLOSE, HIGH);servo_Motor.attach(2);}void loop(){char customKey = customKeypad.getKey();if (customKey){if (customKey == '#'){if ((pressedKey[0] == code[0]) && (pressedKey[1] == code[1]) && (pressedKey[2] == code[2]) && (pressedKey[3] == code[3]) && (pressedKey[4] == code[4])){digitalWrite(LED_CLOSE, LOW); digitalWrite(LED_OPEN, HIGH);digitalWrite(LED_TREZOR, HIGH);servo_Motor.write(10);tone(10,2400,1200);delay(15000);digitalWrite(LED_OPEN, LOW);digitalWrite(LED_CLOSE, HIGH);digitalWrite(LED_TREZOR, LOW);servo_Motor.write(90);tone(10,1900,1200);pressedKey[0] = '0';pressedKey[1] = '0';pressedKey[2] = '0';pressedKey[3] = '0';pressedKey[4] = '0';}else tone(10,500,1000); }else{pressedKey[0] = pressedKey[1];pressedKey[1] = pressedKey[2];pressedKey[2] = pressedKey[3];pressedKey[3] = pressedKey[4];pressedKey[4] = customKey; tone(10,1200,80);}}}Code #2:#include <SPI.h>#include <Ethernet.h>#include <Servo.h>Servo myservo; // create servo object to control a servo Servo ms;byte mac[] = { 0x00, 0xAB, 0xCD, 0xAF, 0xFD, 0xB8 }; //physical mac addressbyte ip[] = { 192,168,0,88 }; // ip in lanbyte gateway[] = { 192, 168, 0, 1 }; // internet access via routerbyte subnet[] = { 255, 255, 255, 0 };EthernetServer server(8080); //server portString readString; //////////////////////void setup(){ myservo.attach(14); //the pin for the servo control ms.attach(15); myservo.write(0); delay(200); ms.write(10); delay(500); myservo.write(60); //start Ethernet Ethernet.begin(mac, ip, gateway, subnet); server.begin();}void loop(){ // Create a client connection EthernetClient client = server.available(); if (client) { 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 client.println("HTTP/1.1 200 OK"); //send new page client.println("Content-Type: text/html"); client.println(); client.println("<HTML>"); client.println("<HEAD>"); client.println("<TITLE>Arduino Trezor</TITLE>"); client.println("</HEAD>"); client.println("<BODY>"); client.println("<H1>TREZOR</H1>"); client.println("<a href=\"/?on\"\">Odemknout</a>"); client.println("<a href=\"/?off\"\">Zamknout</a>"); client.println("</BODY>"); client.println("</HTML>"); delay(1); //stopping client client.stop(); ///////////////////// control arduino pin if(readString.indexOf("?on") >0)//checks for on { myservo.write(0); delay(1000); ms.write(101); } if(readString.indexOf("?off") >0)//checks for off { ms.write(10); delay(1000); myservo.write(60); } //clearing string for next read readString=""; } } } }}

Odpovědi na otázku

 |   |  Microsoft Windows 10 Firefox 45.0

Pro začátek by si ten kód mohl dát třeba na http://hastebin.com/

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 IE 11.0

Tak nějak mám pocit, že nepotřebuješ sloučit tyto dva kódy, ale do druhého vytvořit webovou stránku s javascriptem, který nasimuluje chování klávesnice a výsledek pošle zpět na Arduino. Jak velký ten javascript bude a zda se vleze do paměti Arduina, si netroufám odhadnout, s Javou nemám zkušenosti.Variantně by snad šlo vytvořit webovou stránku s klávesnicí, kde by každá klávesa měla odkaz (obdobně jako tam teď máš ?on a ?off, tak bys tam měl ?1, ?2 atd) a na Arduinu bys pak testoval správnost pořadí sekvence, ale to by asi bylo pomalé (po každém stisku by se musela stránka znova načítat a Adruino je asi nebude posílat zrovna bleskově...)Nejjednodušší by asi bylo vytvořit zadávací pole, kam naťukáš nějaké heslo a to odešleš ho.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 IE 11.0

Potrebuji toto aby stránka zůstala jak je a na mem " trezoru" mam keypad a když na něm nakukam 1234 tak se otevře a když spatne heslo tak se zavře.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8.1 Chrome 49.0.2623.75

Tady máte linky na hastebiny.....Code #1: http://hastebin.com/wajusadute.avrasmCode #2: http://hastebin.com/ziluwoguyi.avrasm

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 IE 11.0

Nepřipadá mi, že bys ty dva kódy měl odladěné. Jeden používá jeden servomotor připojený k pinu 2, druhý servomotory dva, piny 14 a 15. Tím musíš začít, aby oba kódy fungovaly se stejným hardwarem bez přepojování drátů na různé piny.Pak potřebuješ sjednotit proměnné, (aby například jeden program nepoužíval "servo_Motor" a druhý "myservo" a "ms".Teprve, až budou oba programy používat stejné proměnné a fungovat, začni je slučovat - include k include, deklarace k deklaracím, ty dva void setup sloučit do jednoho, dva void loop sloučit do jednoho a vyzkoušet, co to udělá.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Unknown Mozilla 11.0

Ted nemam čas. Ale než jsem totu dával tak jsem vše zkoušel to samé jak si teď psal. Zítra vám dám na hastebin kódy které mají stejne serva atd.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Arduino, Trezor, Client, Servo, Byte, Delay, #include, Void, Loop, Serial println




Určitě si přečtěte

Alan Turing: Genius, který matematicky stvořil počítač

Alan Turing: Genius, který matematicky stvořil počítač

Řešením matematického problému se dostal k modelu teoretického stroje, který nese jeho jméno a je základem logiky univerzálních počítačů.

Pavel Tronner | 57

Portál občana už funguje. Na státní web vypadá až překvapivě použitelně

Portál občana už funguje. Na státní web vypadá až překvapivě použitelně

** Portál občana už funguje, vyřídíte na něm první požadavky ** Funkce se budou postupně rozšiřovat ** Web je docela moderní a přehledný

David Polesný | 65

Takhle zemřete, když asteroid dopadne na vaše město

Takhle zemřete, když asteroid dopadne na vaše město

** Jak by to dopadlo, kdyby na světovou metropoli či do nedalekého moře dopadl velký asteroid? ** Simulovali to odborníci z University of Southampton ** Výsledky jsou velmi zajímavé

Petr Kubala | 32

Sex a rozmnožování při mezihvězdné cestě: Kolik lidí je potřeba pro let k Proximě Centauri?

Sex a rozmnožování při mezihvězdné cestě: Kolik lidí je potřeba pro let k Proximě Centauri?

** Vědci spočítali, jak velká by musela být posádka pro vícegenerační let k nejbližší hvězdné soustavě ** Proxima Centauri se nachází 4,3 světelných let od nás ** Za současných technologií bychom k ní letěli 6300 let

Petr Kubala | 53

Nová zbraň Microsoftu proti iPadu: Levný tablet Surface Go bude stát jen deset tisíc

Nová zbraň Microsoftu proti iPadu: Levný tablet Surface Go bude stát jen deset tisíc

** Microsoft představil nový tablet Surface Go ** Nový model zaujme nízkou cenou, ale schopnostmi zařízení Surface ** Microsoft nepoužil čip ARM, ale klasický procesor od Intelu 

Karel Javůrek | 116


Aktuální číslo časopisu Computer

Velký test 18 bezdrátových sluchátek

Vše o přechodu na DVB-T2

Procesory AMD opět porážejí Intel

7 NVMe M.2 SSD v přímém souboji