{"id":21934354,"url":"https://github.com/matinmonshizadeh/smart-home","last_synced_at":"2025-07-06T16:32:29.474Z","repository":{"id":184703307,"uuid":"672338974","full_name":"matinmonshizadeh/Smart-Home","owner":"matinmonshizadeh","description":"Implementing and simulating a simple, smart home with three main objectives: Security,  Temperature Control, and Lighting Control using  ATMega32 microcontrollers and SPI protocol to transmit data from master to slave.","archived":false,"fork":false,"pushed_at":"2023-07-29T19:40:04.000Z","size":95,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T07:22:38.981Z","etag":null,"topics":["atmega32","avr","microcontroller","spi"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matinmonshizadeh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-07-29T18:25:54.000Z","updated_at":"2024-05-04T16:01:18.000Z","dependencies_parsed_at":"2023-07-29T19:48:21.777Z","dependency_job_id":null,"html_url":"https://github.com/matinmonshizadeh/Smart-Home","commit_stats":null,"previous_names":["matinmonshizadeh/smart-home"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/matinmonshizadeh/Smart-Home","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matinmonshizadeh%2FSmart-Home","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matinmonshizadeh%2FSmart-Home/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matinmonshizadeh%2FSmart-Home/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matinmonshizadeh%2FSmart-Home/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matinmonshizadeh","download_url":"https://codeload.github.com/matinmonshizadeh/Smart-Home/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matinmonshizadeh%2FSmart-Home/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263934853,"owners_count":23532213,"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":["atmega32","avr","microcontroller","spi"],"created_at":"2024-11-29T00:15:34.121Z","updated_at":"2025-07-06T16:32:29.454Z","avatar_url":"https://github.com/matinmonshizadeh.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Smart-Home\n\n- **Microprocessors course project (Spring 2023)**\n- In this project, I used 2 ATMega32 microcontrollers and SPI protocol between master and slave to transmit data as serial.\n- I used  Proteus to simulat project.\n- This system has three main objectives:\n\n\u003cp align=\"center\"\u003e\n\t\t\u003cimg src=\"https://github.com/matinmonshizadeh/Smart-Home/assets/96329489/d755ccc7-6143-4bc2-bf74-943d6899b353\" /\u003e\n\u003c/p\u003e\n\n\n## 1. Security\nA default password is hard coded and users can enter a password using a keypad. Every time they\npress a button a star symbol is displayed on the LCD. When they entered the desired password, they\ncan submit the password by pressing * on the keypad. They can also edit the entered password by\npressing # which deletes the last character on each press.\nBut what if the users want to check if they entered the correct password before submitting? This\nis where a push button comes into the action. The button acts as a toggle switch for showing the\npassword. If the entered password is invisible and a user presses the button the LCD should be\ncleared, and the entered password must be printed on it. When the password is visible and the user\npresses the button, LCD should be cleared, and a star symbol should be printed for each entered\nnumber. If show password is active, newly entered characters should also be displayed.\nAfter submitting the password two scenarios happen: the password is either correct or wrong.\n1. If the password is correct, “Access is granted” should be displayed on the LCD. If and only if\nthe password is correct, access to the other parts such as temperature and lighting control is\ngranted.\n2. If the password is wrong, “Wrong password” should be displayed. The message should disappear\nafter one second and the system should receive a new password again. Other parts of the system\nMUST NOT work unless the correct password is entered.\n\n\n\n\n\n\n## 2. Temperature Control\nThe goal of this part is to design a temperature monitoring system that controls and regulates the\ntemperature of the house.\nWe have two motors: the cooler and the heater. For temperatures between 25 and 55 degrees,\nthe cooler motor must be turned on, starting with a duty cycle of 50% plus 10% for every additional\n5 degrees. (E.g., for a temperature of 37 degrees, the duty cycle is 70%). For temperatures between\n0 and 20, the heater motor must be turned on, starting with a duty cycle of 100% minus 25% for\nevery additional 5 degrees. Between 20 and 25 degrees, neither the cooler nor the heater is turned\non.\n\nWe also have a red warning LED and a blue warning LED. The red LED must blink if the\ntemperature is higher than 55 degrees (the cooler must stop working at this point). The blue LED\nmust blink if the temperature is lower than 0 degrees (the heater must stop working at this point).\n\n\n\n\n## 3. Lightning Control\nThe goal of this part is to design a lightning monitoring system that controls and regulates the\nlightning in the house.\n\nThe lighting control subsystem has one motor. Light is denoted by a number between 0 and 100.\nFor light intensity between 0 and 25, the motor works with a duty cycle of 100%; for every 25%\nincrease in light, the motor’s duty cycle is reduced by a factor of 25%.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatinmonshizadeh%2Fsmart-home","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatinmonshizadeh%2Fsmart-home","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatinmonshizadeh%2Fsmart-home/lists"}