{"id":27700939,"url":"https://github.com/rezagooner/dotmatrix-textscroll","last_synced_at":"2025-04-25T19:13:20.529Z","repository":{"id":287838174,"uuid":"965948457","full_name":"RezaGooner/DotMatrix-TextScroll","owner":"RezaGooner","description":"A simple AVR project that scrolls the name \"RezaGooner\" (or other text) across a dot matrix display using ATmega32.","archived":false,"fork":false,"pushed_at":"2025-04-15T06:32:17.000Z","size":53,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-25T19:13:14.213Z","etag":null,"topics":["arduino","assembly","atmega32","codevision","dotmatrix","microprocessor","processor","proteus","scrolling"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RezaGooner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-14T07:00:13.000Z","updated_at":"2025-04-17T17:01:30.000Z","dependencies_parsed_at":"2025-04-14T08:40:26.027Z","dependency_job_id":null,"html_url":"https://github.com/RezaGooner/DotMatrix-TextScroll","commit_stats":null,"previous_names":["rezagooner/dotmatrix-textscroll"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RezaGooner%2FDotMatrix-TextScroll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RezaGooner%2FDotMatrix-TextScroll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RezaGooner%2FDotMatrix-TextScroll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RezaGooner%2FDotMatrix-TextScroll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RezaGooner","download_url":"https://codeload.github.com/RezaGooner/DotMatrix-TextScroll/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250878890,"owners_count":21501743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","assembly","atmega32","codevision","dotmatrix","microprocessor","processor","proteus","scrolling"],"created_at":"2025-04-25T19:13:19.850Z","updated_at":"2025-04-25T19:13:20.510Z","avatar_url":"https://github.com/RezaGooner.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LED Matrix Scrolling\n\nA simple AVR project that uses an **ATMega32** microcontroller to slowly scroll the name **\"RezaGooner\"** on an 8x8 LED Dot Matrix display from **right to left**.\n\n## 📌 Project Goal\n\nThe goal of this project is to design and implement the hardware and software required to scroll a name (or any other text) on an 8x8 dot matrix using an AVR microcontroller. In this project, I have used \"REZAGOONER\" for the text, which you can implement to customize your own text with your own font.\n\n---\n\n## ⚙️ Hardware Components\n\n- 1x8x8 LED Dot Matrix\n- 1 x ATMega32 Microcontroller\n\n---\n\n## 🔌 Hardware Connections\n\n- **PORTA** → Connects to **Columns** of Dot Matrix\n- **PORTB** → Connects to **Rows** of Dot Matrix\n\nMake sure the dot matrix wiring is aligned with the direction used in the software (horizontal movement requires proper row/column mapping).\n\n---\n\n## 🧠 Software Features\n\n- Bitmapped characters are stored in hexadecimal arrays** by column.\n- Scroll text **from right to left**, one column at a time.\n- Delay added for smooth and readable movement.\n- Efficient column shifting using bit manipulation.\n\n---\n\n## 🧪 Simulation\n\nThe circuit has been fully simulated and tested using **Proteus**.\n- The compiled \".hex\" file was loaded into the ATMega32.\n- Proper behavior and text movement across the matrix display was visually verified.\n\n---\n\n## 💻 Code Overview\n\n```c\nvoid scroll_continuous_text() {\n    int start_col, i, j;\n    \n\n    for (start_col = 0; start_col \u003c TOTAL_COLUMNS + 8; start_col++) {\n        for (j = 0; j \u003c 10; j++) {\n            for (i = 0; i \u003c 8; i++) { \n                int text_col = start_col - i;\n                unsigned char col_data = (text_col \u003e= 0 \u0026\u0026 text_col \u003c TOTAL_COLUMNS) ? continuous_text[text_col] : 0x00;\n                send_to_matrix(~(1 \u003c\u003c i), col_data);\n            }\n        }\n    }\n}\n```\n\n- PORTA controls the active column selection (~(1 \u003c\u003c i))\n\n- PORTB outputs the corresponding row pattern for each column.\n\n- scroll_continuous_text() handles the animation by looping over all columns.\n\n- A small delay ensures that each frame is displayed clearly.\n\n---\n\n## ▶️ How it works\nThe character bitmaps are predefined for the full name.\n\nThe microcontroller continuously scans and updates the display one column at a time.\n\nFor each change step, 8 columns are drawn sequentially to simulate motion.\n\nThe text appears to \"scroll\" slowly from right to left.\n\n\n## Circuit\n\n![bandicam2025-04-1023-52-28-650online-video-cutter com1-ezgif com-video-to-gif-converter](https://github.com/user-attachments/assets/2dddaffb-658e-47f3-b75a-857849076e72)\n\n![image](https://github.com/user-attachments/assets/33019c8f-a8af-4231-aecc-47db9ae17cb7)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frezagooner%2Fdotmatrix-textscroll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frezagooner%2Fdotmatrix-textscroll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frezagooner%2Fdotmatrix-textscroll/lists"}