āļ‡āļēāļ™āļ§āļīāļˆāļąāļĒāļ—āļĩāđˆāļŠāļ™āđƒāļˆ

āļŦāļąāļ§āļ‚āđ‰āļ­: The Charm — Web-Based IDE āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄ āļˆāļģāļĨāļ­āļ‡āļāļēāļĢāļ—āļģāļ‡āļēāļ™ āđāļĨāļ°āļ­āļąāļ›āđ‚āļŦāļĨāļ”āđ‚āļ„āđ‰āļ”āļĨāļ‡āļšāļ­āļĢāđŒāļ”āđ„āļĄāđ‚āļ„āļĢāļ„āļ­āļ™āđ‚āļ—āļĢāļĨāđ€āļĨāļ­āļĢāđŒāļœāđˆāļēāļ™āđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™
Web-Based IDE: A Microcontroller Programming, Simulation, and Hardware Flashing Web Application Platform

āļŠāļēāļĢāļ™āļīāļžāļ™āļ˜āđŒ āļŦāļĨāļąāļāļŠāļđāļ•āļĢāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļ•āļĢāļĄāļŦāļēāļšāļąāļ“āļ‘āļīāļ• āļŠāļēāļ‚āļēāļ§āļīāļŠāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒ āļ§āļīāļ—āļĒāļēāļĨāļąāļĒāļ™āļ§āļąāļ•āļāļĢāļĢāļĄāļ”āđ‰āļēāļ™āđ€āļ—āļ„āđ‚āļ™āđ‚āļĨāļĒāļĩāđāļĨāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļ•āļĢāđŒ āļĄāļŦāļēāļ§āļīāļ—āļĒāļēāļĨāļąāļĒāļ˜āļļāļĢāļāļīāļˆāļšāļąāļ“āļ‘āļīāļ•āļĒāđŒ
āļ­āļēāļˆāļēāļĢāļĒāđŒāļ—āļĩāđˆāļ›āļĢāļķāļāļĐāļē: āļœāļđāđ‰āļŠāđˆāļ§āļĒāļĻāļēāļŠāļ•āļĢāļēāļˆāļēāļĢāļĒāđŒ āļ”āļĢ.āļŠāļąāļĒāļžāļĢ āđ€āļ‚āļĄāļ°āļ āļēāļ•āļ°āļžāļąāļ™āļ˜āđŒ

📝 āļšāļ—āļ„āļąāļ”āļĒāđˆāļ­

āļ‡āļēāļ™āļ§āļīāļˆāļąāļĒāļ™āļĩāđ‰āļ™āļģāđ€āļŠāļ™āļ­ The Charm āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ Web-Based IDE āļŠāļģāļŦāļĢāļąāļšāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļ„āļ§āļšāļ„āļļāļĄāļšāļ­āļĢāđŒāļ” Arduino Nano (āļŠāļīāļ› ATmega328P) āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āļœāđˆāļēāļ™āđ€āļ§āđ‡āļšāđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļ—āļąāđ‰āļ‡āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢ āđ‚āļ”āļĒāļĄāļĩāđ€āļˆāļ•āļ™āļēāļĢāļĄāļ“āđŒāđ€āļžāļ·āđˆāļ­āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰ āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđāļĨāļ°āļŦāļļāđˆāļ™āļĒāļ™āļ•āđŒāđ€āļšāļ·āđ‰āļ­āļ‡āļ•āđ‰āļ™āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™āļŠāļģāļŦāļĢāļąāļšāļœāļđāđ‰āđ€āļĢāļĩāļĒāļ™āļ—āļļāļāļŠāđˆāļ§āļ‡āļ§āļąāļĒ āļ—āļąāđ‰āļ‡āđ€āļ”āđ‡āļāđ€āļĨāđ‡āļ āđ€āļ”āđ‡āļāđ‚āļ• āđāļĨāļ°āļœāļđāđ‰āđƒāļŦāļāđˆ āđ‚āļ”āļĒāđāļāđ‰āļ›āļąāļāļŦāļēāļ„āļ§āļēāļĄāļĒāļļāđˆāļ‡āļĒāļēāļāļ‚āļ­āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļžāļąāļ’āļ™āļēāđāļšāļšāļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄ āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ„āļ”āļĢāđ€āļ§āļ­āļĢāđŒ āđāļĨāļ°āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļžāļ­āļĢāđŒāļ•āļŠāļ·āđˆāļ­āļŠāļēāļĢ āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ­āļļāļ›āļŠāļĢāļĢāļ„āļŠāļģāļ„āļąāļāđƒāļ™āļŦāđ‰āļ­āļ‡āđ€āļĢāļĩāļĒāļ™āļ—āļĩāđˆāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāļĄāļĩāļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļ”āđ‰āļēāļ™āļŠāļīāļ—āļ˜āļīāđŒāļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ āļŦāļĢāļ·āļ­āđ€āļ›āđ‡āļ™āļ­āļļāļ›āļāļĢāļ“āđŒ āļ—āļĩāđˆāđ„āļĄāđˆāļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄāđ€āļ”āļŠāļāđŒāļ—āđ‡āļ­āļ›

āļĢāļ°āļšāļšāļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļĩāđˆāļžāļąāļ’āļ™āļēāļ‚āļķāđ‰āļ™āļ›āļĢāļ°āļāļ­āļšāļ”āđ‰āļ§āļĒāļŠāļēāļĄāļŠāđˆāļ§āļ™āļŦāļĨāļąāļ āđ„āļ”āđ‰āđāļāđˆ (1) Hybrid Code Editor āļ—āļĩāđˆāđƒāļŦāđ‰āļœāļđāđ‰āđƒāļŠāđ‰āļŠāļĨāļąāļšāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļĢāļđāļ›āđāļšāļšāļšāļĨāđ‡āļ­āļāļ„āļģāļŠāļąāđˆāļ‡ (Google Blockly) āđāļĨāļ°āļ āļēāļĐāļē C/C++ (Monaco Editor) āđāļšāļšāļŠāļ­āļ‡āļ—āļīāļĻāļ—āļēāļ‡ (2) Interactive Simulator āļŠāļģāļŦāļĢāļąāļšāļˆāļģāļĨāļ­āļ‡āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļšāļ­āļĢāđŒāļ”āđāļĨāļ°āļ­āļļāļ›āļāļĢāļ“āđŒāļ­āļīāđ€āļĨāđ‡āļāļ—āļĢāļ­āļ™āļīāļāļŠāđŒ āļšāļ™āļŦāļ™āđ‰āļēāđ€āļ§āđ‡āļšāļāđˆāļ­āļ™āđƒāļŠāđ‰āļ‡āļēāļ™āļāļąāļšāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļˆāļĢāļīāļ‡ āđ€āļžāļ·āđˆāļ­āļĨāļ”āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡āļ•āđˆāļ­āļ„āļ§āļēāļĄāđ€āļŠāļĩāļĒāļŦāļēāļĒāļ‚āļ­āļ‡āļ­āļļāļ›āļāļĢāļ“āđŒ āđāļĨāļ° (3) āļĢāļ°āļšāļšāļ­āļąāļ›āđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒ Binary (.hex) āļĨāļ‡āļšāļ­āļĢāđŒāļ”āļˆāļĢāļīāļ‡āļœāđˆāļēāļ™ Web Serial API āļĢāđˆāļ§āļĄāļāļąāļšāđ‚āļ›āļĢāđ‚āļ•āļ„āļ­āļĨ STK500 āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļžāļķāđˆāļ‡āļžāļēāđ‚āļ›āļĢāđāļāļĢāļĄ āļŦāļĢāļ·āļ­āđ„āļ”āļĢāđ€āļ§āļ­āļĢāđŒāđ€āļŠāļĢāļīāļĄāđƒāļ” āđ†

1. āļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āļĄāļēāđāļĨāļ°āļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļ›āļąāļāļŦāļē

āļāļēāļĢāđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđāļĨāļ°āļāļēāļĢāļ•āđˆāļ­āļ§āļ‡āļˆāļĢāļŦāļļāđˆāļ™āļĒāļ™āļ•āđŒāđ€āļšāļ·āđ‰āļ­āļ‡āļ•āđ‰āļ™āđ€āļ›āđ‡āļ™āļ—āļąāļāļĐāļ°āļŠāļģāļ„āļąāļāļ•āđˆāļ­āļœāļđāđ‰āđ€āļĢāļĩāļĒāļ™āļ—āļļāļāļŠāđˆāļ§āļ‡āļ§āļąāļĒ āđāļ•āđˆāļāļēāļĢāđ€āļĢāļĩāļĒāļ™ āļāļēāļĢāļŠāļ­āļ™āļ”āđ‰āļēāļ™āđ„āļĄāđ‚āļ„āļĢāļ„āļ­āļ™āđ‚āļ—āļĢāļĨāđ€āļĨāļ­āļĢāđŒāđƒāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļĒāļąāļ‡āđ€āļœāļŠāļīāļāļ­āļļāļ›āļŠāļĢāļĢāļ„āļŠāļģāļ„āļąāļ 3 āļ›āļĢāļ°āļāļēāļĢ āđ„āļ”āđ‰āđāļāđˆ (1) āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ€āļ”āļīāļĄāļĄāļĩāļ„āļ§āļēāļĄāļ‹āļąāļšāļ‹āđ‰āļ­āļ™ āđƒāļ™āļāļēāļĢāļ•āļīāļ”āļ•āļąāđ‰āļ‡ āļ•āđ‰āļ­āļ‡āļ•āļīāļ”āļ•āļąāđ‰āļ‡ Arduino IDE āđ„āļ”āļĢāđ€āļ§āļ­āļĢāđŒ USB-to-Serial (CH340/FTDI) āđāļĨāļ°āļ•āļąāđ‰āļ‡āļ„āđˆāļē COM Port āļāđˆāļ­āļ™āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļˆāļĢāļīāļ‡ (2) āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļ‚āļ­āļ‡āļ­āļļāļ›āļāļĢāļ“āđŒāļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāđƒāļ™āļŦāđ‰āļ­āļ‡āđ€āļĢāļĩāļĒāļ™ āđ€āļŠāđˆāļ™ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ—āļĩāđˆāļĨāđ‡āļ­āļāļŠāļīāļ—āļ˜āļīāđŒāļœāļđāđ‰āļ”āļđāđāļĨāļĢāļ°āļšāļš āļŦāļĢāļ·āļ­ Chromebook/āđāļ—āđ‡āļšāđ€āļĨāđ‡āļ• āļ—āļĩāđˆāđ„āļĄāđˆāļĢāļ­āļ‡āļĢāļąāļšāđ‚āļ›āļĢāđāļāļĢāļĄāđ€āļ”āļŠāļāđŒāļ—āđ‡āļ­āļ› āđāļĨāļ° (3) āļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ‡āļ•āđˆāļ­āļ„āļ§āļēāļĄāđ€āļŠāļĩāļĒāļŦāļēāļĒāļ‚āļ­āļ‡āļ­āļļāļ›āļāļĢāļ“āđŒāļˆāļēāļāļāļēāļĢāļ•āđˆāļ­āļ§āļ‡āļˆāļĢāļœāļīāļ”āļžāļĨāļēāļ”āđ‚āļ”āļĒāđ„āļĄāđˆāļĄāļĩāļĢāļ°āļšāļš āļ—āļ”āļĨāļ­āļ‡āļāđˆāļ­āļ™āđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļĢāļīāļ‡ āļˆāļēāļāļ›āļąāļāļŦāļēāļ”āļąāļ‡āļāļĨāđˆāļēāļ§ āļ‡āļēāļ™āļ§āļīāļˆāļąāļĒāļ™āļĩāđ‰āļˆāļķāļ‡āļžāļąāļ’āļ™āļē The Charm āđƒāļŦāđ‰āļœāļđāđ‰āđ€āļĢāļĩāļĒāļ™āļŠāļēāļĄāļēāļĢāļ– "āļŠāļĨāļąāļšāđ€āļ‚āļĩāļĒāļ™āļšāļĨāđ‡āļ­āļ/āļ āļēāļĐāļē C ➔ āļĢāļąāļ™ Simulator ➔ āļ­āļąāļ›āđ‚āļŦāļĨāļ”āļĨāļ‡āļšāļ­āļĢāđŒāļ”āļˆāļĢāļīāļ‡" āđ„āļ”āđ‰āļ„āļĢāļšāļ§āļ‡āļˆāļĢāļ āļēāļĒāđƒāļ™āđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ€āļ”āļĩāļĒāļ§

2. āļ§āļąāļ•āļ–āļļāļ›āļĢāļ°āļŠāļ‡āļ„āđŒāļ‚āļ­āļ‡āļāļēāļĢāļ§āļīāļˆāļąāļĒ

āđāļšāđˆāļ‡āđ€āļ›āđ‡āļ™ 3 āļāļĨāļļāđˆāļĄāļŦāļĨāļąāļ:

2.1 āļ”āđ‰āļēāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļžāļ·āđ‰āļ™āļāļēāļ™

2.2 āļ”āđ‰āļēāļ™ AI āđāļĨāļ°āļĢāļ°āļšāļšāļŠāļ™āļąāļšāļŠāļ™āļļāļ™āļāļēāļĢāđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰

2.3 āļ”āđ‰āļēāļ™āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāđ€āļ—āļ„āļ™āļīāļ„āļ‚āļąāđ‰āļ™āļŠāļđāļ‡āļšāļ™āđ€āļ§āđ‡āļš

3. āļ‚āļ­āļšāđ€āļ‚āļ•āļ‚āļ­āļ‡āļāļēāļĢāļ§āļīāļˆāļąāļĒ

4. āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļ—āļĩāđˆāļ„āļēāļ”āļ§āđˆāļēāļˆāļ°āđ„āļ”āđ‰āļĢāļąāļš

5. āđāļ™āļ§āļ„āļīāļ”āļ—āļĪāļĐāļŽāļĩāđāļĨāļ°āļ‡āļēāļ™āļ§āļīāļˆāļąāļĒāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡

āđ€āļžāļ·āđˆāļ­āļ§āļēāļ‡āļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡ The Charm āđƒāļ™āļšāļĢāļīāļšāļ—āļ‚āļ­āļ‡āļ‡āļēāļ™āļ§āļīāļˆāļąāļĒāđāļĨāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļœāļđāđ‰āļ§āļīāļˆāļąāļĒāđ„āļ”āđ‰āļŠāļ·āļšāļ„āđ‰āļ™āļ‡āļēāļ™āļ§āļīāļˆāļąāļĒ āđāļĨāļ°āļĢāļ°āļšāļšāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡ 7 āļĢāļēāļĒāļāļēāļĢ āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļ—āļąāđ‰āļ‡āļ‡āļēāļ™āļ§āļīāļˆāļąāļĒāļ”āđ‰āļēāļ™āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļœāđˆāļēāļ™āļˆāļēāļāļšāļĨāđ‡āļ­āļāļŠāļđāđˆāļ āļēāļĐāļēāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒ āļœāđˆāļēāļ™ Web Serial API āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡āļ§āļ‡āļˆāļĢ āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ‚āļ­āđ€āļžāļ™āļ‹āļ­āļĢāđŒāļŠāļ—āļĩāđˆāđƒāļŠāđ‰āļŠāļ­āļ™ Arduino āļˆāļĢāļīāļ‡ āļ•āļĨāļ­āļ”āļˆāļ™āļ‡āļēāļ™āļ§āļīāļˆāļąāļĒāļ”āđ‰āļēāļ™āļœāļđāđ‰āļŠāđˆāļ§āļĒāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļ”āđ‰āļ§āļĒ AI āđāļĨāļ°āļĢāļ°āļšāļšāļ•āļīāļ§āđ€āļ•āļ­āļĢāđŒāļ­āļąāļˆāļ‰āļĢāļīāļĒāļ° āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ Snap4Arduino (Romagosa, GuillÃĐn & Edutec Research Group, Citilab) āļ‹āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļšāļĨāđ‡āļ­āļāļŠāļ­āļ™ Arduino āļ—āļĩāđˆ The Charm āļ•āđˆāļ­āļĒāļ­āļ”āļ”āđ‰āļ§āļĒāđ‚āļŦāļĄāļ”āļŠāļĨāļąāļšāđ‚āļ„āđ‰āļ” C/C++ āļŠāļ­āļ‡āļ—āļīāļĻāļ—āļēāļ‡ āļāļēāļĢāļˆāļģāļĨāļ­āļ‡āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāđƒāļ™āļ•āļąāļ§ āđāļĨāļ°āļāļēāļĢāļ„āļ­āļĄāđ„āļžāļĨāđŒ/āđāļŸāļĨāļŠāđƒāļ™āļĢāļ°āļšāļšāđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āđāļĨāļ° CodeAid (Kazemitabaar et al., 2024) āļœāļđāđ‰āļŠāđˆāļ§āļĒāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļ”āđ‰āļ§āļĒ LLM āļ—āļĩāđˆāļŠāļ™āļąāļšāļŠāļ™āļļāļ™āđāļ™āļ§āļ—āļēāļ‡ AI-Assisted Code Checking āļ‚āļ­āļ‡ The Charm āđ‚āļ”āļĒāļ•āļĢāļ‡

6. āļ„āļģāļŠāļģāļ„āļąāļ

Web-Based IDE Google Blockly Arduino Nano Web Serial API Hardware Simulation AI-Assisted Learning STEM Education

7. āđ€āļ­āļāļŠāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡