Slijede razlike između dviju inačica stranice
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena Novija izmjena Novije izmjene na obje strane | ||
2018:karlo_siladi:projektni_zadatak [2018/06/14 01:04] ksiladi |
2018:karlo_siladi:projektni_zadatak [2018/06/14 01:09] ksiladi [Arduino Uno - Centralna jedinica] |
||
---|---|---|---|
Redak 54: | Redak 54: | ||
* Bluetooth modul [[https://www.olimex.com/Products/Components/RF/BLUETOOTH-SERIAL-HC-06/resources/hc06.pdf|HC-06]] | * Bluetooth modul [[https://www.olimex.com/Products/Components/RF/BLUETOOTH-SERIAL-HC-06/resources/hc06.pdf|HC-06]] | ||
- | ===== Arduino Uno - Centralna jedinica ===== | + | ===== Arduino Uno/Duemilanove - Centralna jedinica ===== |
Arduino Uno je razvojna platforma zasnovana na [[http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf|ATmega328p]] mikrokontroleru. Ima 14 ulazno-izlaznih pinova (izvoda) od kojih 6 može biti iskorišteno za pulsno-širinsku modulaciju (engl. //pulse-width modulation, PWM//), 6 analognih ulaza, kvarcni oscilator frekvencije 16MHz, USB konektor za spajanje s računalom, konektor za napajanje, ICSP ( In Circuit Serial Programming ) konektor te tipkalo za reset mikrokontrolera. | Arduino Uno je razvojna platforma zasnovana na [[http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf|ATmega328p]] mikrokontroleru. Ima 14 ulazno-izlaznih pinova (izvoda) od kojih 6 može biti iskorišteno za pulsno-širinsku modulaciju (engl. //pulse-width modulation, PWM//), 6 analognih ulaza, kvarcni oscilator frekvencije 16MHz, USB konektor za spajanje s računalom, konektor za napajanje, ICSP ( In Circuit Serial Programming ) konektor te tipkalo za reset mikrokontrolera. | ||
Redak 62: | Redak 62: | ||
{{:2018:karlo_siladi:uno_specifications.png?nolink&436x500|Arduino Uno specifications}} | {{:2018:karlo_siladi:uno_specifications.png?nolink&436x500|Arduino Uno specifications}} | ||
- | U našem sustavu Arduino Uno je centralna jedinica koja je zadužena za komunikaciju s ostalim podsustavima. Odabrana je zbog svoje pristupačnosti, cijene, kratkog vremena razvoja, jednostavnosti korištenja te cijene. | + | U našem sustavu Arduino Uno/Duemilanove je centralna jedinica koja je zadužena za komunikaciju s ostalim podsustavima. Odabrana je zbog svoje pristupačnosti, cijene, kratkog vremena razvoja, jednostavnosti korištenja te cijene. |
====== mp3 modul DFPlayer YX5200 ====== | ====== mp3 modul DFPlayer YX5200 ====== | ||
Redak 126: | Redak 127: | ||
=== AndroidManifest.xml === | === AndroidManifest.xml === | ||
- | Kako bi aplikacija ispravno radila potrebno je u datoteku CKGE_TMP_i AndroidManifest.xml dodati potrebne dozvole za korištenjem Bluetooth sučelja. | + | Kako bi aplikacija ispravno radila potrebno je u datoteku AndroidManifest.xml dodati potrebne dozvole za korištenjem Bluetooth sučelja. |
<code> | <code> | ||
- | <font 9pt/inherit;;inherit;;inherit><uses-permission android:name="android.permission.BLUETOOTH" /></font><font 9pt/inherit;;inherit;;inherit><uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /></font></code> | + | <uses-permission android:name="android.permission.BLUETOOTH" /> |
+ | <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> | ||
+ | </code> | ||
Potrebno je i navesti sve Activity java razrede koji se koriste u aplikaciji. Korišteni su MainActivity , ProductInfoActivity i ProjectAboutActivity. | Potrebno je i navesti sve Activity java razrede koji se koriste u aplikaciji. Korišteni su MainActivity , ProductInfoActivity i ProjectAboutActivity. | ||
Redak 217: | Redak 220: | ||
<code> | <code> | ||
- | <font inherit/Arial,Helvetica,sans-serif;;inherit;;inherit>h = new Handler() { | + | h = new Handler() { |
- | public void handleMessage(android.os.Message msg) { | + | public void handleMessage(android.os.Message msg) { |
- | switch (msg.what) { | + | switch (msg.what) { |
- | case RECIEVE_MESSAGE: | + | case RECIEVE_MESSAGE: |
- | byte[] readBuf = (byte[]) msg.obj; | + | byte[] readBuf = (byte[]) msg.obj; |
- | String strIncom = new String(readBuf, 0, msg.arg1); | + | String strIncom = new String(readBuf, 0, msg.arg1); |
- | sb.append(strIncom); | + | sb.append(strIncom); |
- | int endOfLineIndex = sb.indexOf("\r\n"); | + | int endOfLineIndex = sb.indexOf("\r\n"); |
- | if (endOfLineIndex> 0) { | + | if (endOfLineIndex> 0) { |
- | String sbprint = sb.substring(0, endOfLineIndex); | + | String sbprint = sb.substring(0, endOfLineIndex); |
- | sb.delete(0, sb.length()); | + | sb.delete(0, sb.length()); |
- | //Toast.makeText(MainActivity.this, "From Arduino: " + sbprint, Toast.LENGTH_SHORT).show();</font> | + | //Toast.makeText(MainActivity.this, "From Arduino: " + sbprint, Toast.LENGTH_SHORT).show(); |
- | <font inherit/Arial,Helvetica,sans-serif;;inherit;;inherit>if(mPlayer != null) { | + | |
- | mPlayer.stop(); | + | if(mPlayer != null) { |
- | } | + | mPlayer.stop(); |
- | Products product = db.daoAccess().fetchProductByProductId(sbprint); | + | } |
- | if(product == null){ | + | Products product = db.daoAccess().fetchProductByProductId(sbprint); |
- | Toast.makeText(MainActivity.this, "Ne postoji proizvod s ID: "+ sbprint +" u bazi proizvoda!", Toast.LENGTH_SHORT).show(); | + | if(product == null){ |
- | // mPlayer = MediaPlayer.create(MainActivity.this, R.raw.error_sound); | + | Toast.makeText(MainActivity.this, "Ne postoji proizvod s ID: "+ sbprint +" u bazi proizvoda!", Toast.LENGTH_SHORT).show(); |
- | // mPlayer.start(); | + | // mPlayer = MediaPlayer.create(MainActivity.this, R.raw.error_sound); |
- | mPlayer = MediaPlayer.create(MainActivity.this, R.raw.nemaubazi); | + | // mPlayer.start(); |
- | mPlayer.start(); | + | mPlayer = MediaPlayer.create(MainActivity.this, R.raw.nemaubazi); |
- | productNameTextView.setText("Skeniraj sljedeći proizvod..."); | + | mPlayer.start(); |
- | productPriceTextView.setText(""); | + | productNameTextView.setText("Skeniraj sljedeći proizvod..."); |
- | } else { | + | productPriceTextView.setText(""); |
- | productNameTextView.setText(product.getProductName()); | + | } else { |
- | productPriceTextView.setText(product.getProductPrice()); | + | productNameTextView.setText(product.getProductName()); |
- | String id = product.getProductId(); | + | productPriceTextView.setText(product.getProductPrice()); |
- | int res = MainActivity.this.getResources().getIdentifier("t"+id, "raw", MainActivity.this.getPackageName()); | + | String id = product.getProductId(); |
- | if(res != 0) { | + | int res = MainActivity.this.getResources().getIdentifier("t"+id, "raw", MainActivity.this.getPackageName()); |
- | mPlayer = MediaPlayer.create(MainActivity.this, res); | + | if(res != 0) { |
- | mPlayer.start(); | + | mPlayer = MediaPlayer.create(MainActivity.this, res); |
- | } | + | mPlayer.start(); |
- | } | + | } |
- | } | + | } |
- | break; | + | } |
- | } | + | break; |
- | }; | + | } |
- | };</font> | + | }; |
+ | }; | ||
</code> | </code> | ||