Arduino Android USB seriële communicatie met OTG kabel (9 / 11 stap)

Stap 9: Het toevoegen van code aan UI elementen


Ik heb bijgevoegd bestand van de volledige java Serial_monitor.java eerst downloaden en vergelijken met deze kleine code segmenten.

Eerst hebben we maken alle onze UI elementen en bibliotheek variabelen

 Button btOpen, btClose, btWrite; EditText etWrite; TextView tvRead; Spinner spBaud; CheckBox cbAutoscroll; Physicaloid mPhysicaloid; // initialising library 

vervolgens in de onCreate methode kunnen we deze variabelen die hebben we initialiseren

 btOpen = (Button) findViewById(R.id.btOpen); btClose = (Button) findViewById(R.id.btClose); btWrite = (Button) findViewById(R.id.btWrite); etWrite = (EditText) findViewById(R.id.etWrite); tvRead = (TextView) findViewById(R.id.tvRead); spBaud = (Spinner) findViewById(R.id.spBaud); cbAutoscroll = (CheckBox)findViewById(R.id.autoscroll); mPhysicaloid = new Physicaloid(this); // setting the context for library 

nu op het scherm we vereist UI elementen weergeven kunnen, ik ben het aanroepen van een methode om dit te doen

Dat methode argument Boolean-waarde die weer app aangeeft is aangesloten op de Arduino of niet

setEnabledUi(false); niet verbonden met Arduino dus valse

 //setEnabledUi method to set UI elements on screen private void setEnabledUi(boolean on) { if(on) { // if connected to device btOpen.setEnabled(false); //hide open button (already opened) spBaud.setEnabled(false); //hide baudrate selector cbAutoscroll.setEnabled(false); // hide autoscroll btClose.setEnabled(true); // display close button btWrite.setEnabled(true); // display send button etWrite.setEnabled(true); // display edittext field } else { // if not connected to device btOpen.setEnabled(true); //display open button spBaud.setEnabled(true); //display baudrate selector cbAutoscroll.setEnabled(true); //display autoscroll btClose.setEnabled(false); // hide close button (already closed) btWrite.setEnabled(false); // hide send button etWrite.setEnabled(false); // hide edittext field } } 

Nu we alles weergegeven zo nodig, kunnen nu we acties toevoegen aan onze knoppen.

listenermethode voor open knop: In deze methode die wij baudrate dekken, autoscroll optie en verbinding maken met het apparaat.

 public void onClickOpen(View v) { // setting the baudrate based on spinner String baudtext = spBaud.getSelectedItem().toString(); // get the text from spinner //switch statement to check for baud rate switch (baudtext) { case "300 baud": mPhysicaloid.setBaudrate(300); break; case "1200 baud": mPhysicaloid.setBaudrate(1200); break; case "2400 baud": mPhysicaloid.setBaudrate(2400); break; case "4800 baud": mPhysicaloid.setBaudrate(4800); break; case "9600 baud": mPhysicaloid.setBaudrate(9600); break; case "19200 baud": mPhysicaloid.setBaudrate(19200); break; case "38400 baud": mPhysicaloid.setBaudrate(38400); break; case "576600 baud": mPhysicaloid.setBaudrate(576600); break; case "744880 baud": mPhysicaloid.setBaudrate(744880); break; case "115200 baud": mPhysicaloid.setBaudrate(115200); break; case "230400 baud": mPhysicaloid.setBaudrate(230400); break; case "250000 baud": mPhysicaloid.setBaudrate(250000); break; default: // default is 9600 mPhysicaloid.setBaudrate(9600); } if(mPhysicaloid.open()) { // tries to connect to device and if device was connected setEnabledUi(true); if(cbAutoscroll.isChecked()) { // if auto scroll was selected tvRead.setMovementMethod(new ScrollingMovementMethod()); } // read listener, When new data is received from Arduino add it to Text view mPhysicaloid.addReadListener(new ReadLisener() { public void onRead(int size) { byte[] buf = new byte[size]; mPhysicaloid.read(buf, size); tvAppend(tvRead, Html.fromHtml("<font color=blue>" + new String(buf) + "</fon t>")); // add data to text viiew } }); } else { //Error while connecting Toast.makeText(this, "Cannot open", Toast.LENGTH_LONG).show(); } } 

tvAppend methode ontvangen gegevens wilt schrijven naar Textview

 Handler mHandler = new Handler(); private void tvAppend(TextView tv, CharSequence text) { final TextView ftv = tv; final CharSequence ftext = text; mHandler.post(new Runnable() { public void run() { ftv.append(ftext); // add text to Text view } }); } 

Luisteraar voor close button

 public void onClickClose(View v) { //when close button is pressed if(mPhysicaloid.close()) { //close the connection to arduino mPhysicaloid.clearReadListener(); //clear read listener setEnabledUi(false); // set UI accordingly } } 

Listeener voor knop verzenden

 public void onClickWrite(View v) { // when send button is prressed String str = etWrite.getText().toString()+"\r\n"; //get text from EditText if(str.length()>0) { byte[] buf = str.getBytes(); //convert string to byte array mPhysicaloid.write(buf, buf.length); //write data to arduino } } 

Dat is alles wat alles is voltooid gewoon sluit uw telefoon en uitvoeren van het programma het moet installeren en openen.

Gerelateerde Artikelen

Raspberry PI USB vs seriële communicatie met gsm schild (itbrainpower.net a-gsm schild)

Raspberry PI USB vs seriële communicatie met gsm schild (itbrainpower.net a-gsm schild)

Over deze hoeDeze hoe verwijst naar de itbrainpower.net a-gsm schild, hebben volgende belangrijkste kenmerken:Wereldwijde compatibiliteit - quad band moduleGSM / GPRS / SMS / DTMF ondersteundTwee SIM-sockets (single SIM actief)keuzelijst met geïntegr
Seriële communicatie met Arduino

Seriële communicatie met Arduino

Bron: http://www.theorycircuit.com/serial-communication-with-arduino/Hier dit project toont hoe te communiceren met arduino seriële terminal? We hebben vier LED's om aan te geven richting gekozen voor een toepassing.In een brood bord worden vier LED'
MSP430 Verwerking seriële communicatie met behulp van ENERGIA en

MSP430 Verwerking seriële communicatie met behulp van ENERGIA en

Hallo iedereen. Ik ben vigneshraja. hier ik gedaan de variëren de kleur afhankelijk van de analoge waarde van 10 k leest potentiometer met MSP430G2231. Ik ben met behulp van Energia software voor seriële communicatieprogramma. Ik gebruik voor de kleu
Arduino en Python seriële communicatie - toetsenbord Display

Arduino en Python seriële communicatie - toetsenbord Display

Dit Project is gemaakt voor mac-gebruikers, maar het kan ook worden uitgevoerd voor Linux en Windows, de enige stap die anders moet is de installatie.Stap 1: Software-installatieDownload en installeer Arduino -> https://www.arduino.cc/en/Main/Softwar
Arduino/Android BLUETOOTH seriële Monitor APP voor arduino met behulp van de HC-06 en ANDROID

Arduino/Android BLUETOOTH seriële Monitor APP voor arduino met behulp van de HC-06 en ANDROID

Hello wereld! Vandaag maakte ik een Android app die gewoon leest waarden of tekst die zijn afgedrukt op de arduino seriële met behulp van de bluetooth-module HC-06/05 of andere modules. U hoeft niet te stellen iets in de code van de arduino. Gewoon S
Arduino grafische seriële communicatie met Vlietsteen (Blink LED)

Arduino grafische seriële communicatie met Vlietsteen (Blink LED)

Arduino gebruikt wijd voor ander soort computer/elektronische projecten voor vele doeleinden, heeft een goed ontworpen compiler die codering en uploaden van tijd verminderen, Vlietsteen is een studio grafische programmeertaal waarmee hight grafische
Arduino/Android - BLUETOOTH Home control + APP - met behulp van de HC-06

Arduino/Android - BLUETOOTH Home control + APP - met behulp van de HC-06

Hello wereld! Vandaag maakte ik een Android APP wilt besturen 8 relais met arduino met behulp van de HC-06 Bluetooth-module.De video toont enkel 2, maar ik veranderde de app!U kunt 2 lampjes mee. ik heb de APP en de beschikbare open source voor een k
Gemakkelijk ATTiny seriële communicatie met Tiny AVR-Programmer

Gemakkelijk ATTiny seriële communicatie met Tiny AVR-Programmer

ATTinies (zoals de ATTiny 85) zijn super geweldig! Ze zijn super goedkoop, lage macht, en ze doen wat de meeste Arduino projecten bereiken toch (Geef een eenvoudige uitvoer of deelnemen aan een eenvoudige input).Een probleem kan snel zien wat er gaan
Arduino en Matlab: laat ze praten met behulp van seriële communicatie!

Arduino en Matlab: laat ze praten met behulp van seriële communicatie!

Hallo iedereen!Sinds toen heb ik begon te spelen met de Arduino, heb ik altijd geweest zwerven hoe ik kon maken het praten en communiceren met de Matlab-omgeving op een gemakkelijke en effectieve manier. Ik botste tegen vele Instructables en tutorial
Arduino draadloze seriële communicatie

Arduino draadloze seriële communicatie

er zijn vele manieren om te communiceren met externe Arduinos. Ik heb geconstateerd dat velen van hen een iets hogere prijspunt raakte dan wat ik zou willen. Ook verbruiken ethernet shields (en wifi dito?) veel waardevolle hardware pinnen. Ik zal bes
Arduino + Android POV Display

Arduino + Android POV Display

POV Display is een grappige en interessante manier om tekst te geven in de ruimte. Dit is mijn eerste tutorial Instructables, dus hebt u vragen, aarzel niet om hen te schrijven in het commentaar hieronder.Stap 1: Wat moet jeTe maken van de POV Displa
ATtiny85 & ATtiny84 analoge Pins seriële communicatie, etc.

ATtiny85 & ATtiny84 analoge Pins seriële communicatie, etc.

ik met behulp van een ATtiny84 of een ATtiny85 op mijn projecten. Ze kunnen besparen een paar centen en het ontwerp een beetje kleiner te maken. De beste instructie voor de oprichting van deze chips te gebruiken met de Arduino IDE is op de website va
RS485 Seriële communicatie tussen Arduino Mega en Arduino Nano met Visuino

RS485 Seriële communicatie tussen Arduino Mega en Arduino Nano met Visuino

Soms moeten we aansluiten Arduino boards Arduino boards ligt ver weg van elkaar. De RS485 is een zeer handige manier om te verbinden de planken met slechts 2 draden, en kan werken tot een afstand van 1200 m (4000 ft). Het maakt het ook mogelijk meerd
Seriële communicatie tussen android en arduino via laptop bluetooth

Seriële communicatie tussen android en arduino via laptop bluetooth

Over:Dit instructable is over seriële communicatie tussen android en arduino via laptop ingebouwde Bluetooth. Ik heb geen aparte Bluetooth module. dus ik besloten heb om mijn laptop ingebouwde te gebruiken Bluetooth voor seriële communicatie.Stap 1: