วันศุกร์ที่ 1 ธันวาคม พ.ศ. 2560

ติดตั้งและสร้าง Application ด้วย Qt for Android ตอนที่ 2

ติดตั้งและสร้าง Application ด้วย Qt for Android
ตอนที่ 2 ทดลองสร้าง Application บน Android
00
        หลังจากได้ทำการติดตั้ง Qt for Andriod กันเรียบร้อยแล้ว  (ย้อนอ่านตอนที่ 1 เริ่มติดตั้ง Qt for Andriod)  ในบทความตอนที่ 2 นี้ จะอธิบายถึงการตั้งค่าและสร้าง Application บน Android มาเริ่มกันเลย... !!!
8. ตั้งค่า Qt Creator และสร้าง Android Virtual Devices (AVD)
- เปิดโปรแกรม Qt Creator
- ไปที่ เมนู Tool >> Options…
40
- เลือกหัวข้อ Android
41
- Browse ไปที่ Path ของ JDK (C:\Program Files\Java\jdk1.8.0_20)
42
- Browse ไปที่ Path ของ SDK (C:\Android\AndroidSDK\sdk)
43
- Browse ไปที่ Path ของ NDK (C:\Android\AndroidNDK)
44
- Browse ไปที่ Path ของ Ant.bat (C:\Android\apache-ant-1.9.4\bin\ant.bat)
45
- คลิก Apply
46
- สร้าง Android Virtual Devices (AVD) โดยคลิกที่ Start AVD Manager…
47
- เลือก Tab Device Definition และ เลือก Hardware เป็น Galaxy Nexus by google จากนั้น คลิกที่ Create AVD…
48
- เลือก CPU เป็น ARM และ Skin เป็น No skin จากนั้น คลิก OK
49
- คลิกที่ Start
50
- คลิก Launch
51
- รอสักครู่ จะปรากฏหน้าจอของ Android ขึ้นมา
52
9. ทดลองสร้าง Application บน Android
- ไปที่ เมนู File >> New Project
53
- เลือก Qt Widgets Application
54
- ตั้งชื่อ Project และ Path ที่เก็บ Project
55
- เลือก Kits สำหรับ Android รุ่นที่ใช้ (เลือกทั้งหมดก็ได้)
56
- ตั้งชื่อ Class
57
- คลิกที่ Finish
58
- จะปรากฏหน้าต่างโปรเจค ดังรูป
59
- ดับเบิ้ลคลิกที่ File mainwindow.ui
60
- ไปที่ property ปรับขนาดหน้าจอเป็น 720x1280 (ควรปรับตามขนาดหน้าจอที่ใช้)
61
- ออกแบบหน้าจอโดยใช้ Widget จากแถบเครื่องมือ โดยการทดลองนี้ใช้ Push Button และ Line edit
62  63
64
- คลิกขวาที่ widget Push Button เลือก Go to slot…
65
- เลือก Slot เป็น clicked
66
- โปรแกรมจะสร้าง Function on_pushButton_clicked ขึ้นมาให้
67
- ทดลองเขียน Code ให้แสดงข้อความ “Hello World” บน Line Edit ดังนี้
68
- เลือก Compile ตามสถาปัตยกรรมที่ใช้
69
- คลิกที่ Icon รูป Play 70
- เลือก Device ไปที่ AVD ที่เราสร้างขึ้น
71
- ตอบตกลง แล้วรอสักครู่ Qt จะเปิด AVD ขึ้นและ Deploy Program ไป run บน AVD
72
- ทดสอบ Deploy Application ขึ้นไปบน Hardware จริง
    - เชื่อมต่อ Android เข้ากับ Computer ผ่านทาง USB
    - ทำการติดตั้ง USB Driver ให้กับ Android
    - เปิด Debug Mode ตามขั้นตอนดังนี้
           - เข้าไปยัง Setting
73           - เลือกหัวข้อ Developer options
74           - เปิด USB debugging
75           - คลิกที่ Icon รูป Play 76
           - จะปรากฏรายชื่อของอุปกรณ์ Android ของเราขึ้นมาที่หน้าต่าง Select Android Device
77           - ให้เลือกที่อุปกรณ์ และ คลิกที่ OK
           - รอสักครู่ Appliction ของเราจะถูก Deploy ไปยัง Hardware
78
 ที่มา:http://www.thaieasyelec.com/article-wiki-th/electronic-article/13-embedded-electronics-application/140-create-application-with-qt-for-android-chapter-2.html









ติดตั้งและสร้าง Application ด้วย Qt for Android ตอนที่ 1

ติดตั้งและสร้าง Application ด้วย Qt for Android
ตอนที่ 1 เริ่มติดตั้ง Qt for Android
00
           สำหรับการสร้าง Application บน Android หลายๆท่านที่สนใจ หรือ ติดตามเรื่องราวการเขียน Application บน Android จะทราบกันดีว่าส่วนใหญ่นั้น เรามักจะพัฒนาด้วยภาษา Java แต่สำหรับอีกหลายๆ ท่านอาจคิดในใจว่า ถ้าเราสามารถ เขียน Application บน Android โดยใช้ภาษา C/C++ แบบที่เราถนัดได้คงจะดีและช่วยลดเวลาที่ใช้ในการเรียนรู้ได้ในระดับหนึ่ง Qt for Android ก็นับว่าเป็นตัวเลือกที่ดีสำหรับการสร้าง Application บน Android โดยใช้ภาษา C/C++ และจากบทความก่อนหน้านี้ของ ThaiEasyElec ได้พูดถึง Qt ที่ใช้กับ Embedded Linux บนบอร์ด Raspberry Pi ซึ่งก็เป็นการตอกย้ำว่า Qt สามารถใช้งานกับ OS ได้หลากหลายทั้งบน Windows, Linux, Embedded Linux, Android, iOS ดังที่ผู้พัฒนา Qt ใช้คำว่า “Qt Everywhere”
           Qt คือ Development Framework ที่มีเครื่องมือในการออกแบบหน้าของ GUI (Graphical User Interface) ทำให้ผู้ใช้สามารถพัฒนา Application ทั้งบน Desktop, Embedded และ Mobile Platform ได้รวดเร็วและสะดวกมากขึ้น
01           ข้อจำกัดของ Qt Android คือ Support Android ที่ใช้ API ตั้งแต่ level 9 เป็นต้นไปเท่านั้น สามารถตรวจสอบ API Level ได้ที่ http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels
วิธีติดตั้ง
1. ดาวน์โหลดและติดตั้ง Qt for Android
ตัว Setup Qt for Android โดยสามารถเข้าไป Download Qt ได้ที่   http://qt-project.org/downloads
- คลิก Show Downloads
02 2
- ดาวน์โหลด Qt 5.3.2 for Android (Windows 32-bit, 817 MB) (Info)

03
- เริ่มติดตั้ง Qt เปิดตัว Setup

04
- กด Next

05 06
- เมื่อมาถึงหน้า Select Component ให้เลือกติดตั้ง ดังนี้
07
- ตอบยอมรับ License และกด Next ไปจนถึงหน้า install รอจน install เสร็จ
08 09
10  11
12  13
2. ดาวน์โหลดและติดตั้ง Android SDK
- เข้าไปดาวน์โหลดได้ที่ https://developer.android.com/sdk/index.html

14
- สร้าง folder ชื่อ Android ใน Drive C
- แตก File และ นำไปเก็บใน Folder Android ที่สร้างขึ้น
- เปลี่ยนชื่อ Folder SDK เป็น “AndroidSDK”
15
3. ดาวน์โหลดและติดตั้ง Android NDK
- เข้าไปดาวน์โหลดได้ที่ https://developer.android.com/tools/sdk/ndk/index.html

16
- copy android-ndk.exe ไปเก็บใน Folder c:/Android
- เปิด android-ndk.exe เพื่อแตก File จะได้ Folder android-ndk-r10c
- เปลี่ยนชื่อ Folder android-ndk-r10c เป็น AndroidNDK
17
4. ดาวน์โหลดและติดตั้ง JDK
- เข้าไปดาวน์โหลดได้ที่ http://www.oracle.com/technetwork/articles/javase/index-jsp-138363.html

18
- ยอมรับ License และ เลือกดาวน์โหลดตามสถาปัตยกรรมที่ใช้

19
- จากนั้นทำการติดตั้ง JDK
5. ดาวน์โหลดและติดตั้ง Apache Ant
- เข้าไปดาวน์โหลดได้ที่ http://ant.apache.org/bindownload.cgi

20
- แตกไฟล์แล้วนำไปไว้ในไดเรกทอรี่ c:/Android

21
6. ติดตั้ง SDK Packet
- ไปที่ไดเรกทอรี่ c:/Android/AndroidSDK
- เปิดโปรแกรม SDK Manager.exe

22
- ติดตั้ง Android SDK ตาม Version ของ Android ที่ต้องการพัฒนา (ในที่นี้จะขอยกตัวอย่างเป็น Android 4.3)

23
- คลิก Install packages…

24
- Accept License และ Install

25
- รอจน Download Packet เสร็จ
7. Set environment variable
- ไปที่ Control Panel >> System

26
- เลือก Advance System Setting

27
- คลิกที่ Environment Variables…

28
- คลิกที่ NEW

29
- ตั้งชื่อ Variable name = JAVA_HOME และ Variable value = Path ที่ติดตั้ง JDK (C:\Program Files\Java\jdk1.8.0_20)

30
- เพิ่ม Variable Path โดย คลิกเลือกที่ Variable Path จากนั้นคลิกปุ่ม Edit

31
- เพิ่ม path C:\Program Files\Java\jdk1.8.0_20\bin; ลงไปต่อท้ายของช่อง Variable value
32
- เพิ่ม path C:\Android\AndroidSDK\sdk\tools;ลงไปต่อท้ายของช่อง Variable value
33
- เพิ่ม path C:\Android\AndroidSDK\sdk\platform-tools;ลงไปต่อท้ายของช่อง Variable value
35
- เพิ่ม path C:\Qt\Qt5.3.2\5.3\mingw482_32\bin;ลงไปต่อท้ายของช่อง Variable value
36
- คลิก OK
37
39
38 












 ที่มา:http://www.thaieasyelec.com/article-wiki-th/electronic-article /13-embedded-electronics-application/140-create-application-with-qt-for-android-chapter-1.html

วันพุธที่ 11 ตุลาคม พ.ศ. 2560

ATmega2560-Arduino Pin Mapping

ATmega2560-Arduino Pin Mapping

Below is the pin mapping for the Atmega2560. The chip used in Arduino 2560. There are pin mappings to Atmega8 and Atmega 168/328 as well.
Arduino Mega 2560 PIN diagram
The source SVG file is also available for download: PinMapping2560.zip
Arduino Mega 2560 PIN mapping table
Pin NumberPin NameMapped Pin Name
1PG5 ( OC0B )Digital pin 4 (PWM)
2PE0 ( RXD0/PCINT8 )Digital pin 0 (RX0)
3PE1 ( TXD0 )Digital pin 1 (TX0)
4PE2 ( XCK0/AIN0 ) 
5PE3 ( OC3A/AIN1 )Digital pin 5 (PWM)
6PE4 ( OC3B/INT4 )Digital pin 2 (PWM)
7PE5 ( OC3C/INT5 )Digital pin 3 (PWM)
8PE6 ( T3/INT6 ) 
9PE7 ( CLKO/ICP3/INT7 ) 
10VCCVCC
11GNDGND
12PH0 ( RXD2 )Digital pin 17 (RX2)
13PH1 ( TXD2 )Digital pin 16 (TX2)
14PH2 ( XCK2 ) 
15PH3 ( OC4A )Digital pin 6 (PWM)
16PH4 ( OC4B )Digital pin 7 (PWM)
17PH5 ( OC4C )Digital pin 8 (PWM)
18PH6 ( OC2B )Digital pin 9 (PWM)
19PB0 ( SS/PCINT0 )Digital pin 53 (SS)
20PB1 ( SCK/PCINT1 )Digital pin 52 (SCK)
21PB2 ( MOSI/PCINT2 )Digital pin 51 (MOSI)
22PB3 ( MISO/PCINT3 )Digital pin 50 (MISO)
23PB4 ( OC2A/PCINT4 )Digital pin 10 (PWM)
24PB5 ( OC1A/PCINT5 )Digital pin 11 (PWM)
25PB6 ( OC1B/PCINT6 )Digital pin 12 (PWM)
26PB7 ( OC0A/OC1C/PCINT7 )Digital pin 13 (PWM)
27PH7 ( T4 ) 
28PG3 ( TOSC2 ) 
29PG4 ( TOSC1 ) 
30RESETRESET
31VCCVCC
32GNDGND
33XTAL2XTAL2
34XTAL1XTAL1
35PL0 ( ICP4 )Digital pin 49
36PL1 ( ICP5 )Digital pin 48
37PL2 ( T5 )Digital pin 47
38PL3 ( OC5A )Digital pin 46 (PWM)
39PL4 ( OC5B )Digital pin 45 (PWM)
40PL5 ( OC5C )Digital pin 44 (PWM)
41PL6Digital pin 43
42PL7Digital pin 42
43PD0 ( SCL/INT0 )Digital pin 21 (SCL)
44PD1 ( SDA/INT1 )Digital pin 20 (SDA)
45PD2 ( RXDI/INT2 )Digital pin 19 (RX1)
46PD3 ( TXD1/INT3 )Digital pin 18 (TX1)
47PD4 ( ICP1 ) 
48PD5 ( XCK1 ) 
49PD6 ( T1 ) 
50PD7 ( T0 )Digital pin 38
51PG0 ( WR )Digital pin 41
52PG1 ( RD )Digital pin 40
53PC0 ( A8 )Digital pin 37
54PC1 ( A9 )Digital pin 36
55PC2 ( A10 )Digital pin 35
56PC3 ( A11 )Digital pin 34
57PC4 ( A12 )Digital pin 33
58PC5 ( A13 )Digital pin 32
59PC6 ( A14 )Digital pin 31
60PC7 ( A15 )Digital pin 30
61VCCVCC
62GNDGND
63PJ0 ( RXD3/PCINT9 )Digital pin 15 (RX3)
64PJ1 ( TXD3/PCINT10 )Digital pin 14 (TX3)
65PJ2 ( XCK3/PCINT11 ) 
66PJ3 ( PCINT12 ) 
67PJ4 ( PCINT13 ) 
68PJ5 ( PCINT14 ) 
69PJ6 ( PCINT 15 ) 
70PG2 ( ALE )Digital pin 39
71PA7 ( AD7 )Digital pin 29
72PA6 ( AD6 )Digital pin 28
73PA5 ( AD5 )Digital pin 27
74PA4 ( AD4 )Digital pin 26
75PA3 ( AD3 )Digital pin 25
76PA2 ( AD2 )Digital pin 24
77PA1 ( AD1 )Digital pin 23
78PA0 ( AD0 )Digital pin 22
79PJ7 
80VCCVCC
81GNDGND
82PK7 ( ADC15/PCINT23 )Analog pin 15
83PK6 ( ADC14/PCINT22 )Analog pin 14
84PK5 ( ADC13/PCINT21 )Analog pin 13
85PK4 ( ADC12/PCINT20 )Analog pin 12
86PK3 ( ADC11/PCINT19 )Analog pin 11
87PK2 ( ADC10/PCINT18 )Analog pin 10
88PK1 ( ADC9/PCINT17 )Analog pin 9
89PK0 ( ADC8/PCINT16 )Analog pin 8
90PF7 ( ADC7 )Analog pin 7
91PF6 ( ADC6 )Analog pin 6
92PF5 ( ADC5/TMS )Analog pin 5
93PF4 ( ADC4/TMK )Analog pin 4
94PF3 ( ADC3 )Analog pin 3
95PF2 ( ADC2 )Analog pin 2
96PF1 ( ADC1 )Analog pin 1
97PF0 ( ADC0 )Analog pin 0
98AREFAnalog Reference
99GNDGND
100AVCCVCC