» 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, Output, Loop, Serial println, Characters




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

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

** Pornografie údajně představuje třetinu internetové obsahu a je technologický tahounem ** Do erotického obsahu postupně zasahuje i virtuální realita ** Kromě vizuálního vjemu se pracuje také na virtuálním uspokojení toho hmatového

Jan Dudek | 32

Vyzkoušeli jsme novou Kuki. Chce zničit prehistorickou lineární televizi

Vyzkoušeli jsme novou Kuki. Chce zničit prehistorickou lineární televizi

** IPTV je dle mnohých budoucnost televize ** K největším českým poskytovatelům patří Kuki ** Nyní spustila uzavřenou betaverzi své nové koncepce

Jakub Čížek | 26

Tucet nejrychlejší vlaků světa aneb o čem se Českým drahám může jen zdát

Tucet nejrychlejší vlaků světa aneb o čem se Českým drahám může jen zdát

** Na českých kolejích se smí jezdit maximálně 160 km/h ** Jinde ve světě se jezdí dvojnásobnou rychlostí ** Podívejte se, jaké vlaky v běžném provozu jsou nejrychlejší na světě

Karel Kilián | 36

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ý | 66



Aktuální číslo časopisu Computer

Nejlepší programy pro úpravu fotek zdarma

Externí disky pro zálohu dat

Velký test: herní notebooky

Srovnání 12 batohů