domy([{"ID":1144,"Title":"Learn MongoDB Tutorial for Beginners video 3 data types","Description":"\u003cp\u003eLearn MongoDB data types Tutorial for Beginners video 3\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=mfPtdC62-us\u0026amp;t=0s\" target=\"\"\u003e00:00\u003c/a\u003e MongoDB shell\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=mfPtdC62-us\u0026amp;t=174s\" target=\"\"\u003e02:54\u003c/a\u003e MongoDB compass\u003c/p\u003e\r\n\r\n\u003cp\u003edb.staff.insertOne( { name:\u0026quot;walid\u0026quot;, age:40,\u003c/p\u003e\r\n\r\n\u003cp\u003eFulltime:false,\u003c/p\u003e\r\n\r\n\u003cp\u003eReguisterDate:new Date(),\u003c/p\u003e\r\n\r\n\u003cp\u003eBirthDate:New Date(1984-8-2),\u003c/p\u003e\r\n\r\n\u003cp\u003eCorses:\u0026quot;ASP.NET\u0026quot;,\u0026quot;C#\u0026quot;,\u0026quot;MS SQl server\u0026quot;,\u003c/p\u003e\r\n\r\n\u003cp\u003eAddress{street:\u0026quot;4 st.\u0026quot;,City:\u0026quot;cairo\u0026quot;,zipcode:123456}\u003c/p\u003e\r\n\r\n\u003cp\u003e})\u003c/p\u003e\r\n","Description_d":"\u003cp\u003eLearn MongoDB data types Tutorial for Beginners video 3 \u003ca href=\"https://www.youtube.com/watch?v=mfPtdC62-us\u0026amp;t=0s\" target=\"\"\u003e00:00\u003c/a\u003e MongoDB shell\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=mfPtdC62-us\u0026amp;t=174s\" target=\"\"\u003e02:54\u003c/a\u003e MongoDB compass db.staff.insertOne( { name:\u0026quot;walid\u0026quot;, age:40, Fulltime:false, ReguisterDate:new Date(), BirthDate:New Date(1984-8-2), Corses:\u0026quot;ASP.NET\u0026quot;,\u0026quot;C#\u0026quot;,\u0026quot;MS SQl server\u0026quot;, Address{street:\u0026quot;4 st.\u0026quot;,City:\u0026quot;cairo\u0026quot;,zipcode:123456} })\u003c/p\u003e\r\n","postDay":12,"PostMonth":"October","PostYear":2024,"Photo":"10_12_2024 4_49_33 PM_3.png","Name":"Edafa","Views":95,"Liked":0,"Category_ID":16,"Category":"MongoDB"},{"ID":1143,"Title":"Learn MongoDB Tutorial for Beginners video 2 insert documents","Description":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eLearn MongoDB Tutorial for Beginners video 2\u003c/p\u003e\r\n\r\n\u003cp\u003einsert documents\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=N9REqK-P3Wg\u0026amp;t=0s\" target=\"\"\u003e00:00\u003c/a\u003e VSCode with Mongosh\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=N9REqK-P3Wg\u0026amp;t=162s\" target=\"\"\u003e02:42\u003c/a\u003e MongoDB Compass\u003c/p\u003e\r\n","Description_d":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eLearn MongoDB Tutorial for Beginners video 2\u003c/p\u003e\r\n\r\n\u003cp\u003einsert documents\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=N9REqK-P3Wg\u0026amp;t=0s\" target=\"\"\u003e00:00\u003c/a\u003e VSCode with Mongosh\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=N9REqK-P3Wg\u0026amp;t=162s\" target=\"\"\u003e02:42\u003c/a\u003e MongoDB Compass\u003c/p\u003e\r\n","postDay":12,"PostMonth":"October","PostYear":2024,"Photo":"10_12_2024 4_47_54 PM_2.png","Name":"Edafa","Views":390,"Liked":0,"Category_ID":16,"Category":"MongoDB"},{"ID":1142,"Title":"MongoDB tutorial for beginners an introduction to MongoDB","Description":"\u003cp\u003eMongoDB tutorial for beginners an introduction to MongoDB MongoDB installation MongoShell installation Set Environment variable PATH VSCode with Mongosh MongoDB Compass \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=0s\" target=\"\"\u003e00:00\u003c/a\u003e MongoDB Overview \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=124s\" target=\"\"\u003e02:04\u003c/a\u003e MongoDB installation \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=231s\" target=\"\"\u003e03:51\u003c/a\u003e MongoShell installation \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=292s\" target=\"\"\u003e04:52\u003c/a\u003e Set Environment variable PATH \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=362s\" target=\"\"\u003e06:02\u003c/a\u003e VSCode with Mongosh \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=430s\" target=\"\"\u003e07:10\u003c/a\u003e Database creation and drop Full Course videos: 1 - MongoDB tutorial for beginners an introduction to MongoDB \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;MongoDB\u0026nbsp;tutorial\u0026nbsp;for\u0026nbsp;beginners\u0026nbsp;an\u0026nbsp;int...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 2- Learn MongoDB Tutorial for Beginners video 2 insert documents \u003ca href=\"https://www.youtube.com/watch?v=N9REqK-P3Wg\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 3- Learn MongoDB Tutorial for Beginners video 3 data types \u003ca href=\"https://www.youtube.com/watch?v=mfPtdC62-us\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 4- Learn MongoDB Tutorial for Beginners video 4 sorting and limiting \u003ca href=\"https://www.youtube.com/watch?v=lz_wbootPuw\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 5 - Learn MongoDB Tutorial for Beginners video 5 find \u003ca href=\"https://www.youtube.com/watch?v=ej-MUUH4brg\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 6- Learn MongoDB Tutorial for Beginners video 6 Updating the database \u003ca href=\"https://www.youtube.com/watch?v=VmsS_j5ZJtQ\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 7- Learn MongoDB Tutorial for Beginners video 7 Delete -import and export db \u003ca href=\"https://www.youtube.com/watch?v=ldOa4zD6gK8\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 8- Learn MongoDB Tutorial for Beginners video 8 Query Operators Comparison \u003ca href=\"https://www.youtube.com/watch?v=GUnuepJL9vk\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 9- Learn MongoDB Tutorial for Beginners video 9 Query Operators logical \u003ca href=\"https://www.youtube.com/watch?v=HDknACmTVRA\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 10 - Learn MongoDB Tutorial for Beginners video 10 index \u003ca href=\"https://www.youtube.com/watch?v=HDknACmTVRA\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 11- Learn MongoDB Tutorial for Beginners video 11 collections \u003ca href=\"https://www.youtube.com/watch?v=Bc-B9bWTeSo\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\u003cp\u003eMongoDB tutorial for beginners an introduction to MongoDB MongoDB installation MongoShell installation Set Environment variable PATH VSCode with Mongosh MongoDB Compass \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=0s\" target=\"\"\u003e00:00\u003c/a\u003e MongoDB Overview \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=124s\" target=\"\"\u003e02:04\u003c/a\u003e MongoDB installation \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=231s\" target=\"\"\u003e03:51\u003c/a\u003e MongoShell installation \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=292s\" target=\"\"\u003e04:52\u003c/a\u003e Set Environment variable PATH \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=362s\" target=\"\"\u003e06:02\u003c/a\u003e VSCode with Mongosh \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=430s\" target=\"\"\u003e07:10\u003c/a\u003e Database creation and drop Full Course videos: 1 - MongoDB tutorial for beginners an introduction to MongoDB \u003ca href=\"https://www.youtube.com/watch?v=AwQq819QDbc\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;MongoDB\u0026nbsp;tutorial\u0026nbsp;for\u0026nbsp;beginners\u0026nbsp;an\u0026nbsp;int...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 2- Learn MongoDB Tutorial for Beginners video 2 insert documents \u003ca href=\"https://www.youtube.com/watch?v=N9REqK-P3Wg\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 3- Learn MongoDB Tutorial for Beginners video 3 data types \u003ca href=\"https://www.youtube.com/watch?v=mfPtdC62-us\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 4- Learn MongoDB Tutorial for Beginners video 4 sorting and limiting \u003ca href=\"https://www.youtube.com/watch?v=lz_wbootPuw\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 5 - Learn MongoDB Tutorial for Beginners video 5 find \u003ca href=\"https://www.youtube.com/watch?v=ej-MUUH4brg\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 6- Learn MongoDB Tutorial for Beginners video 6 Updating the database \u003ca href=\"https://www.youtube.com/watch?v=VmsS_j5ZJtQ\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 7- Learn MongoDB Tutorial for Beginners video 7 Delete -import and export db \u003ca href=\"https://www.youtube.com/watch?v=ldOa4zD6gK8\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 8- Learn MongoDB Tutorial for Beginners video 8 Query Operators Comparison \u003ca href=\"https://www.youtube.com/watch?v=GUnuepJL9vk\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 9- Learn MongoDB Tutorial for Beginners video 9 Query Operators logical \u003ca href=\"https://www.youtube.com/watch?v=HDknACmTVRA\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 10 - Learn MongoDB Tutorial for Beginners video 10 index \u003ca href=\"https://www.youtube.com/watch?v=HDknACmTVRA\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e 11- Learn MongoDB Tutorial for Beginners video 11 collections \u003ca href=\"https://www.youtube.com/watch?v=Bc-B9bWTeSo\u0026amp;t=0s\" target=\"\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg alt=\"\" src=\"https://www.gstatic.com/youtube/img/watch/yt_favicon.png\" /\u003e\u0026nbsp;\u0026bull;\u0026nbsp;Learn\u0026nbsp;MongoDB\u0026nbsp;Tutorial\u0026nbsp;for\u0026nbsp;Beginners\u0026nbsp;...\u0026nbsp;\u0026nbsp;\u003c/a\u003e\u003c/p\u003e\r\n","postDay":12,"PostMonth":"October","PostYear":2024,"Photo":"10_12_2024 4_46_20 PM_1.png","Name":"Edafa","Views":98,"Liked":0,"Category_ID":16,"Category":"MongoDB"},{"ID":1141,"Title":"Asp.net Core 8 Web API Full Course","Description":"\u003ch1\u003eAsp.net Core 8 Web API Full Course\u003c/h1\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=UqegTYn2aKE\u0026amp;list=PLazvcyckcBwitbcbYveMdXlw8mqoBDbTT\" target=\"_blank\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/c1785953b6a53401ec4b476abc82f07602e53a136b9d74fb69e60fc1a9b91073/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f5571656754596e32614b452f302e6a7067\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eASP.NET Core Web API Tutorial- asp.net core web api is the latest and most powerful framework for the development of RESTful Web API. This Asp.Net Core Web API is open source and supported by Microsoft.\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 1 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eCreate Project and Sturcture\u003c/li\u003e\r\n\t\u003cli\u003eAdd Domain Model\u003c/li\u003e\r\n\t\u003cli\u003eAdding IGenericRepository\u003c/li\u003e\r\n\t\u003cli\u003eAdding GenericRepository\u003c/li\u003e\r\n\t\u003cli\u003eAdd Application Db Context\u003c/li\u003e\r\n\t\u003cli\u003eInstall Nugets ASP.NET Core ( Entity Framework )\u003c/li\u003e\r\n\t\u003cli\u003eConfigure Fulient API Validation\u003c/li\u003e\r\n\t\u003cli\u003eImplementing Generic Repository\u003c/li\u003e\r\n\t\u003cli\u003eAdding Unit Of Work\u003c/li\u003e\r\n\t\u003cli\u003eConnection Db MS SQL Server\u003c/li\u003e\r\n\t\u003cli\u003eAdd-Migrations And Update-Database\u003cbr /\u003e\r\n\t\u003cbr /\u003e\r\n\t\u0026nbsp;\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=B015VD4vBts\u0026amp;list=PLazvcyckcBwitbcbYveMdXlw8mqoBDbTT\u0026amp;index=2\" target=\"_blank\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/98b8b15d1eaa04b69511f3e55a8dbf0ca8396014237f3eb32eaaf4f823b4fb68/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f42303135564434764274732f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 2 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eSeeding Data\u003c/li\u003e\r\n\t\u003cli\u003eGit Hub\u003c/li\u003e\r\n\t\u003cli\u003eCreate Api Controller\u003c/li\u003e\r\n\t\u003cli\u003eGet All\u003c/li\u003e\r\n\t\u003cli\u003eGet By ID\u003c/li\u003e\r\n\t\u003cli\u003eInsert\u003c/li\u003e\r\n\t\u003cli\u003eUpdate\u003c/li\u003e\r\n\t\u003cli\u003eDelete\u003c/li\u003e\r\n\t\u003cli\u003eApi Swagger\u003c/li\u003e\r\n\t\u003cli\u003ePostman\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=LSrVodbZW2I\u0026amp;list=PLazvcyckcBwitbcbYveMdXlw8mqoBDbTT\u0026amp;index=3\" target=\"_blank\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/90fa9d5eb2865b1e817922e2512b3a28a2d95c8a8cdb96ceaba59bd59f1b77f4/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f4c5372566f64625a5732492f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 3 have\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eShaping Return Data\u003c/li\u003e\r\n\t\u003cli\u003eAdding Automapper Configure\u003c/li\u003e\r\n\t\u003cli\u003eBasicEntity\u003c/li\u003e\r\n\t\u003cli\u003eCreate API Controller\u003c/li\u003e\r\n\t\u003cli\u003eGet All\u003c/li\u003e\r\n\t\u003cli\u003eGet by ID\u003c/li\u003e\r\n\t\u003cli\u003eInsert with Validation\u003c/li\u003e\r\n\t\u003cli\u003eInsert Upload Image\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=dqCiqQVD_qI\u0026amp;list=PLazvcyckcBwitbcbYveMdXlw8mqoBDbTT\u0026amp;index=4\" target=\"_blank\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/d9afaa3afcea14e1c5e50cbc004036b3879e21ba7e194976dba2b9b7e92ce78a/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f64714369715156445f71492f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 4 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eUrl Resolver\u003c/li\u003e\r\n\t\u003cli\u003eUpdate with Delete Old Image\u003c/li\u003e\r\n\t\u003cli\u003eDelete with Delete Old Image\u003c/li\u003e\r\n\t\u003cli\u003eCreating Bug Controller And List Errors\u003c/li\u003e\r\n\t\u003cli\u003eException Handler Middleware\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=bQwQs81G_yU\u0026amp;list=PLazvcyckcBwitbcbYveMdXlw8mqoBDbTT\u0026amp;index=5\" target=\"_blank\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/f379795e0ee860d6a96fe596cd11b38f983724842b5874e89b49b74152cbf94a/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f62517751733831475f79552f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 5 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eSorting\u003c/li\u003e\r\n\t\u003cli\u003eFiltering\u003c/li\u003e\r\n\t\u003cli\u003ePagination and Page Count\u003c/li\u003e\r\n\t\u003cli\u003eSearch\u003c/li\u003e\r\n\t\u003cli\u003eAdding CORS Support to the API\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=RmzlBSS3tDE\u0026amp;list=PLazvcyckcBwitbcbYveMdXlw8mqoBDbTT\u0026amp;index=6\" target=\"_blank\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/84dec580e249664c4c7d1045a0a5f1cd5a5a7e6ec3f32d6d9656b81b963d5477/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f526d7a6c425353337444452f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 6 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eredis database\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003eRedis is an open source in-memory data store that works really well as a cache or message broker, but it can also be used as a database when you don\u0026rsquo;t need all the features of a traditional database. It offers excellent performance, with the ability to quickly read and write data to memory.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=wFmCBF2XTYw\u0026amp;list=PLazvcyckcBwitbcbYveMdXlw8mqoBDbTT\u0026amp;index=7\" target=\"_blank\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/b957b95bd7d5df6f93a460975287f97ea2c91808c91a0ff6469cc8718cc90472/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f77466d43424632585459772f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 7 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eSetting up Identity packages\u003c/li\u003e\r\n\t\u003cli\u003eAdding identitydbcontext and apply migration\u003c/li\u003e\r\n\t\u003cli\u003eConfigure Identity and Seeding\u003c/li\u003e\r\n\t\u003cli\u003eAdding Account Controller\u003c/li\u003e\r\n\t\u003cli\u003eegister New User\u003c/li\u003e\r\n\t\u003cli\u003eAdding and Configure Token Generation Services\u003c/li\u003e\r\n\t\u003cli\u003eTesting Authorize Attribute\u003c/li\u003e\r\n\t\u003cli\u003eGet Current User And Check Email Existence\u003c/li\u003e\r\n\t\u003cli\u003eGet User Address\u003c/li\u003e\r\n\t\u003cli\u003eModel Validation\u003c/li\u003e\r\n\t\u003cli\u003eChecking Email And Password Validation\u003c/li\u003e\r\n\t\u003cli\u003eAuthorize Swagger\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=nn3Psfc99Tg\u0026amp;list=PLazvcyckcBwitbcbYveMdXlw8mqoBDbTT\u0026amp;index=8\" target=\"_blank\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/8bcac0434012c426bd5dc89299d2cab55996236427c9a48040e1fb9a29cd4623/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f6e6e3350736663393954672f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 8 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eCreating Order Entity\u003c/li\u003e\r\n\t\u003cli\u003eConfiguring Order Entities\u003c/li\u003e\r\n\t\u003cli\u003eCreating Order Migration\u003c/li\u003e\r\n\t\u003cli\u003eCreating Order Services\u003c/li\u003e\r\n\t\u003cli\u003eImplementing Create Order Method\u003c/li\u003e\r\n\t\u003cli\u003eCreating Order Controller\u003c/li\u003e\r\n\t\u003cli\u003eTesting Check out Endpoint\u003c/li\u003e\r\n\t\u003cli\u003eImplementing Checkout Process\u003c/li\u003e\r\n\t\u003cli\u003eImplementing Order get Methods\u003c/li\u003e\r\n\t\u003cli\u003eTesting Order Controller Get Methods\u003c/li\u003e\r\n\t\u003cli\u003eShaping The Order\u003c/li\u003e\r\n\t\u003cli\u003eAutoMapper Config For Orders\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003ch1\u003eFront End Angular 17\u003c/h1\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eFull Course :\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=gBJgEfigKLc\u0026amp;list=PLazvcyckcBwgxtohJFrQw8uwpFUrsOUcb\"\u003ehttps://www.youtube.com/watch?v=gBJgEfigKLc\u0026amp;list=PLazvcyckcBwgxtohJFrQw8uwpFUrsOUcb\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eCode\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/walidabazo/Product-angular-ecom\"\u003ehttps://github.com/walidabazo/Product-API\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\u003ch1\u003eAsp.net Core 8 Web API Full Course\u003c/h1\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://youtu.be/UqegTYn2aKE\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/c1785953b6a53401ec4b476abc82f07602e53a136b9d74fb69e60fc1a9b91073/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f5571656754596e32614b452f302e6a7067\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eASP.NET Core Web API Tutorial- asp.net core web api is the latest and most powerful framework for the development of RESTful Web API. This Asp.Net Core Web API is open source and supported by Microsoft.\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 1 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eCreate Project and Sturcture\u003c/li\u003e\r\n\t\u003cli\u003eAdd Domain Model\u003c/li\u003e\r\n\t\u003cli\u003eAdding IGenericRepository\u003c/li\u003e\r\n\t\u003cli\u003eAdding GenericRepository\u003c/li\u003e\r\n\t\u003cli\u003eAdd Application Db Context\u003c/li\u003e\r\n\t\u003cli\u003eInstall Nugets ASP.NET Core ( Entity Framework )\u003c/li\u003e\r\n\t\u003cli\u003eConfigure Fulient API Validation\u003c/li\u003e\r\n\t\u003cli\u003eImplementing Generic Repository\u003c/li\u003e\r\n\t\u003cli\u003eAdding Unit Of Work\u003c/li\u003e\r\n\t\u003cli\u003eConnection Db MS SQL Server\u003c/li\u003e\r\n\t\u003cli\u003eAdd-Migrations And Update-Database\u003cbr /\u003e\r\n\t\u003cbr /\u003e\r\n\t\u0026nbsp;\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://youtu.be/B015VD4vBts\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/98b8b15d1eaa04b69511f3e55a8dbf0ca8396014237f3eb32eaaf4f823b4fb68/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f42303135564434764274732f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 2 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eSeeding Data\u003c/li\u003e\r\n\t\u003cli\u003eGit Hub\u003c/li\u003e\r\n\t\u003cli\u003eCreate Api Controller\u003c/li\u003e\r\n\t\u003cli\u003eGet All\u003c/li\u003e\r\n\t\u003cli\u003eGet By ID\u003c/li\u003e\r\n\t\u003cli\u003eInsert\u003c/li\u003e\r\n\t\u003cli\u003eUpdate\u003c/li\u003e\r\n\t\u003cli\u003eDelete\u003c/li\u003e\r\n\t\u003cli\u003eApi Swagger\u003c/li\u003e\r\n\t\u003cli\u003ePostman\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://youtu.be/LSrVodbZW2I\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/90fa9d5eb2865b1e817922e2512b3a28a2d95c8a8cdb96ceaba59bd59f1b77f4/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f4c5372566f64625a5732492f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 3 have\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eShaping Return Data\u003c/li\u003e\r\n\t\u003cli\u003eAdding Automapper Configure\u003c/li\u003e\r\n\t\u003cli\u003eBasicEntity\u003c/li\u003e\r\n\t\u003cli\u003eCreate API Controller\u003c/li\u003e\r\n\t\u003cli\u003eGet All\u003c/li\u003e\r\n\t\u003cli\u003eGet by ID\u003c/li\u003e\r\n\t\u003cli\u003eInsert with Validation\u003c/li\u003e\r\n\t\u003cli\u003eInsert Upload Image\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://youtu.be/dqCiqQVD_qI\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/d9afaa3afcea14e1c5e50cbc004036b3879e21ba7e194976dba2b9b7e92ce78a/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f64714369715156445f71492f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 4 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eUrl Resolver\u003c/li\u003e\r\n\t\u003cli\u003eUpdate with Delete Old Image\u003c/li\u003e\r\n\t\u003cli\u003eDelete with Delete Old Image\u003c/li\u003e\r\n\t\u003cli\u003eCreating Bug Controller And List Errors\u003c/li\u003e\r\n\t\u003cli\u003eException Handler Middleware\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://youtu.be/bQwQs81G_yU\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/f379795e0ee860d6a96fe596cd11b38f983724842b5874e89b49b74152cbf94a/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f62517751733831475f79552f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 5 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eSorting\u003c/li\u003e\r\n\t\u003cli\u003eFiltering\u003c/li\u003e\r\n\t\u003cli\u003ePagination and Page Count\u003c/li\u003e\r\n\t\u003cli\u003eSearch\u003c/li\u003e\r\n\t\u003cli\u003eAdding CORS Support to the API\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://youtu.be/RmzlBSS3tDE\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/84dec580e249664c4c7d1045a0a5f1cd5a5a7e6ec3f32d6d9656b81b963d5477/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f526d7a6c425353337444452f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 6 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eredis database\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003eRedis is an open source in-memory data store that works really well as a cache or message broker, but it can also be used as a database when you don\u0026rsquo;t need all the features of a traditional database. It offers excellent performance, with the ability to quickly read and write data to memory.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://youtu.be/wFmCBF2XTYw\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/b957b95bd7d5df6f93a460975287f97ea2c91808c91a0ff6469cc8718cc90472/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f77466d43424632585459772f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 7 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eSetting up Identity packages\u003c/li\u003e\r\n\t\u003cli\u003eAdding identitydbcontext and apply migration\u003c/li\u003e\r\n\t\u003cli\u003eConfigure Identity and Seeding\u003c/li\u003e\r\n\t\u003cli\u003eAdding Account Controller\u003c/li\u003e\r\n\t\u003cli\u003eegister New User\u003c/li\u003e\r\n\t\u003cli\u003eAdding and Configure Token Generation Services\u003c/li\u003e\r\n\t\u003cli\u003eTesting Authorize Attribute\u003c/li\u003e\r\n\t\u003cli\u003eGet Current User And Check Email Existence\u003c/li\u003e\r\n\t\u003cli\u003eGet User Address\u003c/li\u003e\r\n\t\u003cli\u003eModel Validation\u003c/li\u003e\r\n\t\u003cli\u003eChecking Email And Password Validation\u003c/li\u003e\r\n\t\u003cli\u003eAuthorize Swagger\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://youtu.be/nn3Psfc99Tg\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/8bcac0434012c426bd5dc89299d2cab55996236427c9a48040e1fb9a29cd4623/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f6e6e3350736663393954672f302e6a7067\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVideo 8 have :\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eCreating Order Entity\u003c/li\u003e\r\n\t\u003cli\u003eConfiguring Order Entities\u003c/li\u003e\r\n\t\u003cli\u003eCreating Order Migration\u003c/li\u003e\r\n\t\u003cli\u003eCreating Order Services\u003c/li\u003e\r\n\t\u003cli\u003eImplementing Create Order Method\u003c/li\u003e\r\n\t\u003cli\u003eCreating Order Controller\u003c/li\u003e\r\n\t\u003cli\u003eTesting Check out Endpoint\u003c/li\u003e\r\n\t\u003cli\u003eImplementing Checkout Process\u003c/li\u003e\r\n\t\u003cli\u003eImplementing Order get Methods\u003c/li\u003e\r\n\t\u003cli\u003eTesting Order Controller Get Methods\u003c/li\u003e\r\n\t\u003cli\u003eShaping The Order\u003c/li\u003e\r\n\t\u003cli\u003eAutoMapper Config For Orders\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003ch1\u003eFront End Angular 17\u003c/h1\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eFull Course :\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=gBJgEfigKLc\u0026amp;list=PLazvcyckcBwgxtohJFrQw8uwpFUrsOUcb\"\u003ehttps://www.youtube.com/watch?v=gBJgEfigKLc\u0026amp;list=PLazvcyckcBwgxtohJFrQw8uwpFUrsOUcb\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eCode\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/walidabazo/Product-angular-ecom\"\u003ehttps://github.com/walidabazo/Product-API\u003c/a\u003e\u003c/p\u003e\r\n","postDay":29,"PostMonth":"September","PostYear":2024,"Photo":"9_29_2024 6_11_01 PM_core8.jpg","Name":"Edafa","Views":135,"Liked":0,"Category_ID":17,"Category":"ASP.NET Core 8"},{"ID":1140,"Title":"Asp.net Core 8 Web API Full Course Video3 ( Shaping Return - Automapper - Validation - Upload Image)","Description":"\u003ch3\u003eVideo 3 have\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eShaping Return Data\u003c/li\u003e\r\n\t\u003cli\u003eAdding Automapper Configure\u003c/li\u003e\r\n\t\u003cli\u003eBasicEntity\u003c/li\u003e\r\n\t\u003cli\u003eCreate API Controller\u003c/li\u003e\r\n\t\u003cli\u003eGet All\u003c/li\u003e\r\n\t\u003cli\u003eGet by ID\u003c/li\u003e\r\n\t\u003cli\u003eInsert with Validation\u003c/li\u003e\r\n\t\u003cli\u003eInsert Upload Image\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/walidabazo/Product-API\"\u003ecode\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\u003ch3\u003eVideo 3 have\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eShaping Return Data\u003c/li\u003e\r\n\t\u003cli\u003eAdding Automapper Configure\u003c/li\u003e\r\n\t\u003cli\u003eBasicEntity\u003c/li\u003e\r\n\t\u003cli\u003eCreate API Controller\u003c/li\u003e\r\n\t\u003cli\u003eGet All\u003c/li\u003e\r\n\t\u003cli\u003eGet by ID\u003c/li\u003e\r\n\t\u003cli\u003eInsert with Validation\u003c/li\u003e\r\n\t\u003cli\u003eInsert Upload Image\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/walidabazo/Product-API\"\u003ecode\u003c/a\u003e\u003c/p\u003e\r\n","postDay":27,"PostMonth":"September","PostYear":2024,"Photo":"9_27_2024 4_58_35 PM_v3.jpg","Name":"Edafa","Views":91,"Liked":0,"Category_ID":17,"Category":"ASP.NET Core 8"},{"ID":1139,"Title":"Asp.net Core 8 Web API Full Course Video 2 (Seeding - Create Api - Git Hub -All controll - Postman","Description":"\u003ch3\u003eVideo 2 have :\u003c/h3\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eSeeding Data\u003c/li\u003e\r\n\t\u003cli\u003eGit Hub\u003c/li\u003e\r\n\t\u003cli\u003eCreate Api Controller\u003c/li\u003e\r\n\t\u003cli\u003eGet All\u003c/li\u003e\r\n\t\u003cli\u003eGet By ID\u003c/li\u003e\r\n\t\u003cli\u003eInsert\u003c/li\u003e\r\n\t\u003cli\u003eUpdate\u003c/li\u003e\r\n\t\u003cli\u003eDelete\u003c/li\u003e\r\n\t\u003cli\u003eApi Swagger\u003c/li\u003e\r\n\t\u003cli\u003ePostman\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/walidabazo/Product-API\"\u003eCode\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\u003ch3\u003eVideo 2 have :\u003c/h3\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eSeeding Data\u003c/li\u003e\r\n\t\u003cli\u003eGit Hub\u003c/li\u003e\r\n\t\u003cli\u003eCreate Api Controller\u003c/li\u003e\r\n\t\u003cli\u003eGet All\u003c/li\u003e\r\n\t\u003cli\u003eGet By ID\u003c/li\u003e\r\n\t\u003cli\u003eInsert\u003c/li\u003e\r\n\t\u003cli\u003eUpdate\u003c/li\u003e\r\n\t\u003cli\u003eDelete\u003c/li\u003e\r\n\t\u003cli\u003eApi Swagger\u003c/li\u003e\r\n\t\u003cli\u003ePostman\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/walidabazo/Product-API\"\u003eCode\u003c/a\u003e\u003c/p\u003e\r\n","postDay":27,"PostMonth":"September","PostYear":2024,"Photo":"9_27_2024 4_55_58 PM_v2.jpg","Name":"Edafa","Views":101,"Liked":0,"Category_ID":17,"Category":"ASP.NET Core 8"},{"ID":144,"Title":"Asp.net Core 8 Web API Full Course Video1 (Sturcture - Generic Repository - Connection MS SQL Server","Description":"\u003cp\u003eASP.NET Core Web API Tutorial- asp.net core web api is the latest and most powerful framework for the development of RESTful Web API. This Asp.Net Core Web API is open source and supported by Microsoft.\u003c/p\u003e\r\n","Description_d":"\u003cp\u003eASP.NET Core Web API Tutorial- asp.net core web api is the latest and most powerful framework for the development of RESTful Web API. This Asp.Net Core Web API is open source and supported by Microsoft.\u003c/p\u003e\r\n","postDay":19,"PostMonth":"September","PostYear":2024,"Photo":"9_19_2024 6_05_35 PM_dddddd.png","Name":"Edafa","Views":158,"Liked":0,"Category_ID":17,"Category":"ASP.NET Core 8"},{"ID":143,"Title":"asp.net core 8 Authentication using Identity and Entity Framework","Description":"\u003cp\u003eASP.NET CORE Login and Registration using Identity. SQL SERVER Database. Entity Framework. supports user interface (UI) login functionality and manages users, passwords, profile data, roles, claims, tokens, email confirmation, and more.\u003c/p\u003e\r\n","Description_d":"\u003cp\u003eASP.NET CORE Login and Registration using Identity. SQL SERVER Database. Entity Framework. supports user interface (UI) login functionality and manages users, passwords, profile data, roles, claims, tokens, email confirmation, and more.\u003c/p\u003e\r\n","postDay":19,"PostMonth":"September","PostYear":2024,"Photo":"9_19_2024 6_02_30 PM_aaaa.png","Name":"Edafa","Views":134,"Liked":0,"Category_ID":17,"Category":"ASP.NET Core 8"},{"ID":142,"Title":"Tutorial to Create a Web API with ASP.NET CORE .NET 8 (C# ASP.NET CORE for beginners)","Description":"\u003cp\u003eSolve : In .NET 8, using EntityFrameWorkCore, when I attempt to run the update-database command (with or without pending migration),\u003c/p\u003e\r\n","Description_d":"\u003cp\u003eSolve : In .NET 8, using EntityFrameWorkCore, when I attempt to run the update-database command (with or without pending migration),\u003c/p\u003e\r\n","postDay":17,"PostMonth":"September","PostYear":2024,"Photo":"9_17_2024 7_21_36 PM_Screenshot 2024-09-17 222035.png","Name":"Edafa","Views":120,"Liked":0,"Category_ID":17,"Category":"ASP.NET Core 8"},{"ID":141,"Title":"ASP.NET Core 8 Razor Pages CRUD - .NET 8 Razor Pages CRUD Using Entity Framework Core and SQL Server","Description":"\u003ch1\u003eASP.NET Core 8 Razor Pages CRUD - .NET 8 Razor Pages CRUD Using Entity Framework Core and SQL Server\u003c/h1\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eIn this video, we are going to create an ASP.NET Razor Pages CRUD app using Entity Framework Core and SQL Server. We will use the .NET 8 Razor Pages template in Visual Studio 2022 to create this CRUD app.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://youtu.be/UqegTYn2aKE\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/c1785953b6a53401ec4b476abc82f07602e53a136b9d74fb69e60fc1a9b91073/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f5571656754596e32614b452f302e6a7067\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eIntroduction\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Project\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Database MS SQL Server\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eAsp.NET Core Connection Db MS SQL Server\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eInstall Nugets ASP.NET Core ( Entity Framework )\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Application Db Context Class\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eRegister Database Connections\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Product Model ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eAdd-Migrations ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eUpdate-Database (Create Tables) Asp.Net Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Administration\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eList Products\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate ProductDto Model\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate the Form Asp.Net Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eForm Validation Asp.Net Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e \u0026lt;div class=\u0026quot;row mb-3\u0026quot;\u0026gt;\r\n \u0026lt;label class=\u0026quot;col-sm-4 col-form-label\u0026quot;\u0026gt;Name\u0026lt;/label\u0026gt;\r\n \u0026lt;div class=\u0026quot;col-sm-8\u0026quot;\u0026gt;\r\n \u0026lt;input asp-for=\u0026quot;ProductDto.Name\u0026quot; class=\u0026quot;form-control\u0026quot; /\u0026gt;\r\n \u0026lt;span asp-validation-for=\u0026quot;ProductDto.Name\u0026quot; class=\u0026quot;text-danger\u0026quot;\u0026gt;\u0026lt;/span\u0026gt;\r\n \u0026lt;/div\u0026gt;\r\n\r\n \u0026lt;/div\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eUpload Image on Server\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e string newFilename = DateTime.Now.ToString(\u0026quot;yyyyMMddHHmmssfff\u0026quot;);\r\n newFilename += Path.GetExtension(ProductDto.ImageFileName!.FileName);\r\n string ImageFullPath = environment.WebRootPath + \u0026quot;/Images/\u0026quot; + newFilename;\r\n using (var stream = System.IO.File.Create(ImageFullPath))\r\n {\r\n ProductDto.ImageFileName.CopyTo(stream);\r\n }\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eDelete Image on Server\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e //Delete Old Image on the server \r\n string OldimageFullPath = environment.WebRootPath + \u0026quot;/images/\u0026quot; + product.ImageFileName;\r\n System.IO.File.Delete(OldimageFullPath);\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eSave On Database\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e product.Name = ProductDto.Name;\r\n product.Brand = ProductDto.Brand;\r\n product.Category = ProductDto.Category;\r\n product.Price = ProductDto.Price;\r\n product.Description = ProductDto.Description ?? \u0026quot;\u0026quot;;\r\n product.ImageFileName = newFileName;\r\n\r\n context.SaveChanges();\r\n Product = product;\r\n successMessage = \u0026quot;Product Updated\u0026quot;;\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003ePagination(Page Size) ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eSearch ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eSporting ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003ewe are going to create an ASP.NET Razor Pages Full CRUD Operations application using Entity Framework Core Code First approach and SQL Server.\u003c/p\u003e\r\n\r\n\u003cp\u003eWe will be using the Core .NET 8 Razor Pages template in Visual Studio 2022 to create this application.\u003c/p\u003e\r\n\r\n\u003cp\u003eBootstrap in this ASP.NET Razor Pages website to style our pages.\u003c/p\u003e\r\n","Description_d":"\u003ch1\u003eASP.NET Core 8 Razor Pages CRUD - .NET 8 Razor Pages CRUD Using Entity Framework Core and SQL Server\u003c/h1\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eIn this video, we are going to create an ASP.NET Razor Pages CRUD app using Entity Framework Core and SQL Server. We will use the .NET 8 Razor Pages template in Visual Studio 2022 to create this CRUD app.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://youtu.be/UqegTYn2aKE\"\u003e\u003cimg alt=\"Watch the video\" src=\"https://camo.githubusercontent.com/c1785953b6a53401ec4b476abc82f07602e53a136b9d74fb69e60fc1a9b91073/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f5571656754596e32614b452f302e6a7067\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eIntroduction\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Project\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Database MS SQL Server\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eAsp.NET Core Connection Db MS SQL Server\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eInstall Nugets ASP.NET Core ( Entity Framework )\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Application Db Context Class\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eRegister Database Connections\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Product Model ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eAdd-Migrations ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eUpdate-Database (Create Tables) Asp.Net Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Administration\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eList Products\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate ProductDto Model\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate the Form Asp.Net Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eForm Validation Asp.Net Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e \u0026lt;div class=\u0026quot;row mb-3\u0026quot;\u0026gt;\r\n \u0026lt;label class=\u0026quot;col-sm-4 col-form-label\u0026quot;\u0026gt;Name\u0026lt;/label\u0026gt;\r\n \u0026lt;div class=\u0026quot;col-sm-8\u0026quot;\u0026gt;\r\n \u0026lt;input asp-for=\u0026quot;ProductDto.Name\u0026quot; class=\u0026quot;form-control\u0026quot; /\u0026gt;\r\n \u0026lt;span asp-validation-for=\u0026quot;ProductDto.Name\u0026quot; class=\u0026quot;text-danger\u0026quot;\u0026gt;\u0026lt;/span\u0026gt;\r\n \u0026lt;/div\u0026gt;\r\n\r\n \u0026lt;/div\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eUpload Image on Server\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e string newFilename = DateTime.Now.ToString(\u0026quot;yyyyMMddHHmmssfff\u0026quot;);\r\n newFilename += Path.GetExtension(ProductDto.ImageFileName!.FileName);\r\n string ImageFullPath = environment.WebRootPath + \u0026quot;/Images/\u0026quot; + newFilename;\r\n using (var stream = System.IO.File.Create(ImageFullPath))\r\n {\r\n ProductDto.ImageFileName.CopyTo(stream);\r\n }\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eDelete Image on Server\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e //Delete Old Image on the server \r\n string OldimageFullPath = environment.WebRootPath + \u0026quot;/images/\u0026quot; + product.ImageFileName;\r\n System.IO.File.Delete(OldimageFullPath);\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eSave On Database\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e product.Name = ProductDto.Name;\r\n product.Brand = ProductDto.Brand;\r\n product.Category = ProductDto.Category;\r\n product.Price = ProductDto.Price;\r\n product.Description = ProductDto.Description ?? \u0026quot;\u0026quot;;\r\n product.ImageFileName = newFileName;\r\n\r\n context.SaveChanges();\r\n Product = product;\r\n successMessage = \u0026quot;Product Updated\u0026quot;;\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003ePagination(Page Size) ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eSearch ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eSporting ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003ewe are going to create an ASP.NET Razor Pages Full CRUD Operations application using Entity Framework Core Code First approach and SQL Server.\u003c/p\u003e\r\n\r\n\u003cp\u003eWe will be using the Core .NET 8 Razor Pages template in Visual Studio 2022 to create this application.\u003c/p\u003e\r\n\r\n\u003cp\u003eBootstrap in this ASP.NET Razor Pages website to style our pages.\u003c/p\u003e\r\n","postDay":17,"PostMonth":"September","PostYear":2024,"Photo":"9_17_2024 7_04_40 PM_asddff.png","Name":"Edafa","Views":141,"Liked":0,"Category_ID":17,"Category":"ASP.NET Core 8"},{"ID":140,"Title":"Create ASP.NET Core 8 Web Application With SQL Server Database Connection and CRUD Operations","Description":"\u003ch2\u003eVisual Studio 2022 download\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate New ASP.NET Core Project\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Asp.Net Core models\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Asp.Net Core models\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e public class Emplyee\r\n {\r\n public int Id { get; set; }\r\n public string FirestName { get; set; }\r\n public string MiddleName { get; set; }\r\n public string LastName { get; set; }\r\n public string EmailAddress { get; set; }\r\n public int PhoneNo { get; set; }\r\n }\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eCreate Database and Table MS SQL Server\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eInstall Nugets ASP.NET Core ( Entity Framework )\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Application Db Context Class\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e public class ApplicationDbContext : DbContext\r\n {\r\n public ApplicationDbContext(DbContextOptions\u0026lt;ApplicationDbContext\u0026gt; contextOptions) : base(contextOptions) { } \r\n public DbSet\u0026lt;Emplyee\u0026gt; Emplyees { get; set; }\r\n }\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eConfigure SQL Database Connection on appsettings.json file\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e \u0026quot;ConnectionStrings\u0026quot;: {\r\n \u0026quot;DefualtConnection\u0026quot;: \u0026quot;Data Source=.;Initial Catalog=company;Integrated Security=True;Trust Server Certificate=True\u0026quot;\r\n },\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eRegister Database Connections on class\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e builder.Services.AddDbContext\u0026lt;ApplicationDbContext\u0026gt;(options =\u0026gt;\r\n {\r\n options.UseSqlServer(builder.Configuration.GetConnectionString(\u0026quot;DefualtConnection\u0026quot;));\r\n });\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eAdd-Migrations ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eUpdate-Database (Apply Migrations) Asp.Net Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eScaffolding in Asp.Net Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCRUD Operation\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eAdd Fontawsome in Asp.Net Core Application\u003c/h2\u003e\r\n","Description_d":"\u003ch2\u003eVisual Studio 2022 download\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate New ASP.NET Core Project\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Asp.Net Core models\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Asp.Net Core models\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e public class Emplyee\r\n {\r\n public int Id { get; set; }\r\n public string FirestName { get; set; }\r\n public string MiddleName { get; set; }\r\n public string LastName { get; set; }\r\n public string EmailAddress { get; set; }\r\n public int PhoneNo { get; set; }\r\n }\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eCreate Database and Table MS SQL Server\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eInstall Nugets ASP.NET Core ( Entity Framework )\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Application Db Context Class\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e public class ApplicationDbContext : DbContext\r\n {\r\n public ApplicationDbContext(DbContextOptions\u0026lt;ApplicationDbContext\u0026gt; contextOptions) : base(contextOptions) { } \r\n public DbSet\u0026lt;Emplyee\u0026gt; Emplyees { get; set; }\r\n }\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eConfigure SQL Database Connection on appsettings.json file\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e \u0026quot;ConnectionStrings\u0026quot;: {\r\n \u0026quot;DefualtConnection\u0026quot;: \u0026quot;Data Source=.;Initial Catalog=company;Integrated Security=True;Trust Server Certificate=True\u0026quot;\r\n },\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eRegister Database Connections on class\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e builder.Services.AddDbContext\u0026lt;ApplicationDbContext\u0026gt;(options =\u0026gt;\r\n {\r\n options.UseSqlServer(builder.Configuration.GetConnectionString(\u0026quot;DefualtConnection\u0026quot;));\r\n });\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eAdd-Migrations ASP.NET Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eUpdate-Database (Apply Migrations) Asp.Net Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eScaffolding in Asp.Net Core\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCRUD Operation\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eAdd Fontawsome in Asp.Net Core Application\u003c/h2\u003e\r\n","postDay":16,"PostMonth":"September","PostYear":2024,"Photo":"9_16_2024 6_23_07 PM_asa.jpg","Name":"Edafa","Views":165,"Liked":0,"Category_ID":17,"Category":"ASP.NET Core 8"},{"ID":139,"Title":"Learn MongoDB in 1 Hour","Description":"\u003ch1\u003ewhat main Collections ?\u003c/h1\u003e\r\n\r\n\u003cp\u003eCollections can be defined as a cluster of MongoDB documents that exist within a single database. You can relate this to that of a table in a relational database management system. MongoDB collections do not implement the concept of schema. Documents that have collections usually contain different fields. Typically, all the documents residing within a collection are meant for a comparable or related purpose.\u003c/p\u003e\r\n\r\n\u003ch1\u003ewhat main document?\u003c/h1\u003e\r\n\r\n\u003cp\u003eA document can be defined as a collection of key-value pairs that contain dynamic schema. Dynamic schema is something that documents of equal collection do not require for having the same collection of fields or construction, and a common field is capable of holding various types of data.\u003c/p\u003e\r\n\r\n\u003ch1\u003eLearning\u003c/h1\u003e\r\n\r\n\u003cp\u003eMongoDB tutorial for beginners\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e - MongoDB Overview\r\n - MongoDB installation \r\n - MongoShell installation\r\n - Set Environment variable PATH\r\n - VSCode with Mongosh\r\n - Database creation and drop\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003einsert\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp; \u0026nbsp; db.staff.insertOne(\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; name:\u0026quot;walid\u0026quot;,\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; age:40,\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Fulltime:false,\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ReguisterDate:new Date(),\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; BirthDate:New Date(1984-8-2),\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Corses:\u0026quot;ASP.NET\u0026quot;,\u0026quot;C#\u0026quot;,\u0026quot;MS SQl server\u0026quot;,\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Address{street:\u0026quot;4 st.\u0026quot;,City:\u0026quot;cairo\u0026quot;,zipcode:123456}\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; })\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003edata types\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eSorting and limiting\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({name:1})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({name:-1})\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({age:1})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({age:-1})\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().limit(1)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().limit(3)\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({age1}),limit(1)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({age:-1}),limit(1)\u003c/p\u003e\r\n\r\n\u003ch2\u003efind\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp; get all\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find()\u0026nbsp;\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp; db.staff.find({name: \u0026quot;adam\u0026quot;})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; db.staff.find({age: 25})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; db.staff.find({FullTime: false})\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp; .find({query},{Projection})\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp; db.staff.find({age: 40}, {FullTime: false})\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp; db.staff.find({}, {name: true})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; db.staff.find({}, {_id: false, name: true})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; db.staff.find({}, {_id: false, name: true, age: true})\u003c/p\u003e\r\n\r\n\u003ch2\u003eupdate\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003edb.staff.find()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; - updateOne()\u003cbr /\u003e\r\n\u0026nbsp; db.staff.updateOne({name:\u0026quot;adam\u0026quot;}, {$set:{FullTime:true}})\u003cbr /\u003e\r\n\u0026nbsp; db.staff.updateOne({name:\u0026quot;adam\u0026quot;}, {$unset:{FullTime:\u0026quot;\u0026quot;}})\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; updateMany()\u003cbr /\u003e\r\n\u0026nbsp; db.staff.updateMany({}, {$set:{FullTime:true}})\u003cbr /\u003e\r\n\u0026nbsp; db.staff.updateMany({FullTime:{$exists:false}}, {$set:{FullTime:true}})\u003c/p\u003e\r\n\r\n\u003ch2\u003eDelete and import-export db\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003edb.staff.deleteOne({name:\u0026quot;adam\u0026quot;})\u003cbr /\u003e\r\n\u0026nbsp; db.staff.deleteMany({Fulltime:false})\u003cbr /\u003e\r\n\u0026nbsp; db.staff.deleteMany({RegisterDate:{$exists:false}})\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003ecomparison operators\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp; $eq : Values are equal.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $ne : Values are not equal.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $lt : Value is less than another value.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $lte : Value is less than or equal to another value.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $gt : Value is greater than another value.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $gte : Value is greater than or equal to another value.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $in : Value is matched within an array.\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003elogical operators\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp; $and: Returns documents where both queries match\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; $or: Returns documents where either query matches\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; $nor: Returns documents where both queries fail to match\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; $not: Returns documents where the query does not match\u003c/code\u003e\u003c/p\u003e\r\n","Description_d":"\u003ch1\u003ewhat main Collections ?\u003c/h1\u003e\r\n\r\n\u003cp\u003eCollections can be defined as a cluster of MongoDB documents that exist within a single database. You can relate this to that of a table in a relational database management system. MongoDB collections do not implement the concept of schema. Documents that have collections usually contain different fields. Typically, all the documents residing within a collection are meant for a comparable or related purpose.\u003c/p\u003e\r\n\r\n\u003ch1\u003ewhat main document?\u003c/h1\u003e\r\n\r\n\u003cp\u003eA document can be defined as a collection of key-value pairs that contain dynamic schema. Dynamic schema is something that documents of equal collection do not require for having the same collection of fields or construction, and a common field is capable of holding various types of data.\u003c/p\u003e\r\n\r\n\u003ch1\u003eLearning\u003c/h1\u003e\r\n\r\n\u003cp\u003eMongoDB tutorial for beginners\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e - MongoDB Overview\r\n - MongoDB installation \r\n - MongoShell installation\r\n - Set Environment variable PATH\r\n - VSCode with Mongosh\r\n - Database creation and drop\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003einsert\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp; \u0026nbsp; db.staff.insertOne(\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; name:\u0026quot;walid\u0026quot;,\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; age:40,\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Fulltime:false,\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ReguisterDate:new Date(),\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; BirthDate:New Date(1984-8-2),\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Corses:\u0026quot;ASP.NET\u0026quot;,\u0026quot;C#\u0026quot;,\u0026quot;MS SQl server\u0026quot;,\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Address{street:\u0026quot;4 st.\u0026quot;,City:\u0026quot;cairo\u0026quot;,zipcode:123456}\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; })\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003edata types\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eSorting and limiting\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({name:1})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({name:-1})\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({age:1})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({age:-1})\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().limit(1)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().limit(3)\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({age1}),limit(1)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find().sort({age:-1}),limit(1)\u003c/p\u003e\r\n\r\n\u003ch2\u003efind\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp; get all\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; db.staff.find()\u0026nbsp;\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp; db.staff.find({name: \u0026quot;adam\u0026quot;})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; db.staff.find({age: 25})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; db.staff.find({FullTime: false})\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp; .find({query},{Projection})\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp; db.staff.find({age: 40}, {FullTime: false})\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp; db.staff.find({}, {name: true})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; db.staff.find({}, {_id: false, name: true})\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; db.staff.find({}, {_id: false, name: true, age: true})\u003c/p\u003e\r\n\r\n\u003ch2\u003eupdate\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003edb.staff.find()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; - updateOne()\u003cbr /\u003e\r\n\u0026nbsp; db.staff.updateOne({name:\u0026quot;adam\u0026quot;}, {$set:{FullTime:true}})\u003cbr /\u003e\r\n\u0026nbsp; db.staff.updateOne({name:\u0026quot;adam\u0026quot;}, {$unset:{FullTime:\u0026quot;\u0026quot;}})\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; updateMany()\u003cbr /\u003e\r\n\u0026nbsp; db.staff.updateMany({}, {$set:{FullTime:true}})\u003cbr /\u003e\r\n\u0026nbsp; db.staff.updateMany({FullTime:{$exists:false}}, {$set:{FullTime:true}})\u003c/p\u003e\r\n\r\n\u003ch2\u003eDelete and import-export db\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003edb.staff.deleteOne({name:\u0026quot;adam\u0026quot;})\u003cbr /\u003e\r\n\u0026nbsp; db.staff.deleteMany({Fulltime:false})\u003cbr /\u003e\r\n\u0026nbsp; db.staff.deleteMany({RegisterDate:{$exists:false}})\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003ecomparison operators\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp; $eq : Values are equal.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $ne : Values are not equal.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $lt : Value is less than another value.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $lte : Value is less than or equal to another value.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $gt : Value is greater than another value.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $gte : Value is greater than or equal to another value.\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; $in : Value is matched within an array.\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003elogical operators\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp; $and: Returns documents where both queries match\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; $or: Returns documents where either query matches\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; $nor: Returns documents where both queries fail to match\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; $not: Returns documents where the query does not match\u003c/code\u003e\u003c/p\u003e\r\n","postDay":16,"PostMonth":"September","PostYear":2024,"Photo":"9_16_2024 6_17_58 PM_dddd.jpg","Name":"Edafa","Views":146,"Liked":0,"Category_ID":16,"Category":"MongoDB"},{"ID":138,"Title":"Tutorial TTGO T-Display with DHT11 or DHT22 Temperature Sensor","Description":"\u003cp\u003eTutorial TTGO T-Display with DHT11 or DHT22 Temperature Sensor\u003c/p\u003e\r\n\r\n\u003cp\u003eHow to start TTGO T-Display\u003c/p\u003e\r\n\r\n\u003cp\u003eThis tutorial shows how to use the DHT11 and DHT22 temperature and humidity sensors with the TTGO T-DISPLAY using Arduino IDE. We will go through a quick introduction to these sensors.\u003c/p\u003e\r\n\r\n\u003cp\u003eThese sensors contain a chip that does analog to digital conversion and spit out a digital signal with the temperature and humidity. This makes them very easy to use with any microcontroller.\u003c/p\u003e\r\n\r\n\u003cp\u003eTTGO T-DISPLAY\u003c/p\u003e\r\n\r\n\u003cp\u003eThe TTGO T-Display Module from Lilygo is an Espressif ESP32-based Wi-Fi and Bluetooth-enabled Microcontroller Development board with a built-in 1.14-inch TFT color display. The CP2104 USB to serial converter makes it easy to program, even as an Arduino. The board has a USB-C connection with which it can be programmed and/or powered.\u003c/p\u003e\r\n\r\n\u003cp\u003eFeatures\u003c/p\u003e\r\n\r\n\u003cp\u003eSupply voltage: 3.3V DC or 5V DC\u003c/p\u003e\r\n\r\n\u003cp\u003eESP32 chip (240Mhz dual-core processor)\u003c/p\u003e\r\n\r\n\u003cp\u003eSRAM: 520KB\u003c/p\u003e\r\n\r\n\u003cp\u003eFlash memory: 4MB\u003c/p\u003e\r\n\r\n\u003cp\u003eBuilt-in Wi-Fi\u003c/p\u003e\r\n\r\n\u003cp\u003eBuilt-in Bluetooth\u003c/p\u003e\r\n\r\n\u003cp\u003eBuilt-in 1.14 inch (240x135) TFT (IPS) display (ST7789)\u003c/p\u003e\r\n\r\n\u003cp\u003eBuilt-in push button\u003c/p\u003e\r\n\r\n\u003cp\u003ePCB dimensions: 51.4 x 25.2mm\u003c/p\u003e\r\n\r\n\u003cp\u003ecode:\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; /**************************************************************************\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; TTGO T-Display ST7789 OLED based on Adafruit example\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; https://github.com/adafruit/Adafruit-ST7735-Library/blob/master/examples/graphicstest/graphicstest.ino\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;**************************************************************************/\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; #include \u0026lt;Adafruit_GFX.h\u0026gt; \u0026nbsp; \u0026nbsp;// Core graphics library\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; #include \u0026lt;Adafruit_ST7789.h\u0026gt; // Hardware-specific library for ST7789\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; #include \u0026lt;SPI.h\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; #include \u0026lt;DHT.h\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; // pinouts from https://github.com/Xinyuan-LilyGO/TTGO-T-Display\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define TFT_MOSI 19\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define TFT_SCLK 18\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define TFT_CS 5\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;#define TFT_DC 16\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;#define TFT_RST 23\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;#define TFT_BL 4\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;#define DHTPIN 17\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;#define DHTTYPE DHT11\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;// constructor for data object named tft\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;DHT dht(DHTPIN, DHTTYPE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;void setup(void)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.begin(9600);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.print(F(\u0026quot;Hello! ST77xx TFT Test\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(TFT_BL, OUTPUT); \u0026nbsp; \u0026nbsp; \u0026nbsp;// TTGO T-Display enable Backlight pin 4\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(TFT_BL, HIGH); \u0026nbsp; // T-Display turn on Backlight\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;tft.init(135, 240); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Initialize ST7789 240x135\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.println(F(\u0026quot;Initialized\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;tft.setRotation(1);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;dht.begin();\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;void loop()\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// tft print function!\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;tftPrintTest();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;delay(4000);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;void tftPrintTest() {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; int h = dht.readHumidity();\u003cbr /\u003e\r\n\u0026nbsp; int h = dht.readHumidity();\u003cbr /\u003e\r\n\u0026nbsp; //Read the moisture content in %.\u003cbr /\u003e\r\n\u0026nbsp; int t = dht.readTemperature();\u003cbr /\u003e\r\n\u0026nbsp;//Read the temperature in degrees Celsius\u003cbr /\u003e\r\n\u0026nbsp;float f = dht.readTemperature(true);\u003cbr /\u003e\r\n\u0026nbsp;// true returns the temperature in Fahrenheit\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;if (isnan(h) || isnan(t) || isnan(f)) {\u003cbr /\u003e\r\n\u0026nbsp;Serial.println(\u0026quot;Failed reception\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;return;\u003cbr /\u003e\r\n\u0026nbsp;//Returns an error if the ESP32 does not receive any measurements\u003cbr /\u003e\r\n\u0026nbsp;}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;Humidite: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(h);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;% \u0026nbsp;Temperature: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(t);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;\u0026deg;C, \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(f);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.println(\u0026quot;\u0026deg;F\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp;tft.setTextWrap(false);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.fillScreen(ST77XX_BLACK);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setCursor(0, 20);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextColor(ST77XX_YELLOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextSize(6);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.print(h);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextColor(ST77XX_YELLOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextSize(6);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.println(\u0026quot; % \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextColor(ST77XX_GREEN);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextSize(7);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.print(t);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextColor(ST77XX_GREEN);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextSize(7);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.print(\u0026quot; \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;delay(1500);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003c/div\u003e\r\n","Description_d":"\u003cp\u003eTutorial TTGO T-Display with DHT11 or DHT22 Temperature Sensor\u003c/p\u003e\r\n\r\n\u003cp\u003eHow to start TTGO T-Display\u003c/p\u003e\r\n\r\n\u003cp\u003eThis tutorial shows how to use the DHT11 and DHT22 temperature and humidity sensors with the TTGO T-DISPLAY using Arduino IDE. We will go through a quick introduction to these sensors.\u003c/p\u003e\r\n\r\n\u003cp\u003eThese sensors contain a chip that does analog to digital conversion and spit out a digital signal with the temperature and humidity. This makes them very easy to use with any microcontroller.\u003c/p\u003e\r\n\r\n\u003cp\u003eTTGO T-DISPLAY\u003c/p\u003e\r\n\r\n\u003cp\u003eThe TTGO T-Display Module from Lilygo is an Espressif ESP32-based Wi-Fi and Bluetooth-enabled Microcontroller Development board with a built-in 1.14-inch TFT color display. The CP2104 USB to serial converter makes it easy to program, even as an Arduino. The board has a USB-C connection with which it can be programmed and/or powered.\u003c/p\u003e\r\n\r\n\u003cp\u003eFeatures\u003c/p\u003e\r\n\r\n\u003cp\u003eSupply voltage: 3.3V DC or 5V DC\u003c/p\u003e\r\n\r\n\u003cp\u003eESP32 chip (240Mhz dual-core processor)\u003c/p\u003e\r\n\r\n\u003cp\u003eSRAM: 520KB\u003c/p\u003e\r\n\r\n\u003cp\u003eFlash memory: 4MB\u003c/p\u003e\r\n\r\n\u003cp\u003eBuilt-in Wi-Fi\u003c/p\u003e\r\n\r\n\u003cp\u003eBuilt-in Bluetooth\u003c/p\u003e\r\n\r\n\u003cp\u003eBuilt-in 1.14 inch (240x135) TFT (IPS) display (ST7789)\u003c/p\u003e\r\n\r\n\u003cp\u003eBuilt-in push button\u003c/p\u003e\r\n\r\n\u003cp\u003ePCB dimensions: 51.4 x 25.2mm\u003c/p\u003e\r\n\r\n\u003cp\u003ecode:\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; /**************************************************************************\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; TTGO T-Display ST7789 OLED based on Adafruit example\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; https://github.com/adafruit/Adafruit-ST7735-Library/blob/master/examples/graphicstest/graphicstest.ino\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;**************************************************************************/\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; #include \u0026lt;Adafruit_GFX.h\u0026gt; \u0026nbsp; \u0026nbsp;// Core graphics library\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; #include \u0026lt;Adafruit_ST7789.h\u0026gt; // Hardware-specific library for ST7789\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; #include \u0026lt;SPI.h\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; #include \u0026lt;DHT.h\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; // pinouts from https://github.com/Xinyuan-LilyGO/TTGO-T-Display\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define TFT_MOSI 19\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define TFT_SCLK 18\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define TFT_CS 5\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;#define TFT_DC 16\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;#define TFT_RST 23\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;#define TFT_BL 4\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;#define DHTPIN 17\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;#define DHTTYPE DHT11\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;// constructor for data object named tft\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;DHT dht(DHTPIN, DHTTYPE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;void setup(void)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.begin(9600);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.print(F(\u0026quot;Hello! ST77xx TFT Test\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(TFT_BL, OUTPUT); \u0026nbsp; \u0026nbsp; \u0026nbsp;// TTGO T-Display enable Backlight pin 4\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(TFT_BL, HIGH); \u0026nbsp; // T-Display turn on Backlight\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;tft.init(135, 240); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Initialize ST7789 240x135\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.println(F(\u0026quot;Initialized\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;tft.setRotation(1);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;dht.begin();\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;void loop()\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// tft print function!\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;tftPrintTest();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;delay(4000);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;void tftPrintTest() {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; int h = dht.readHumidity();\u003cbr /\u003e\r\n\u0026nbsp; int h = dht.readHumidity();\u003cbr /\u003e\r\n\u0026nbsp; //Read the moisture content in %.\u003cbr /\u003e\r\n\u0026nbsp; int t = dht.readTemperature();\u003cbr /\u003e\r\n\u0026nbsp;//Read the temperature in degrees Celsius\u003cbr /\u003e\r\n\u0026nbsp;float f = dht.readTemperature(true);\u003cbr /\u003e\r\n\u0026nbsp;// true returns the temperature in Fahrenheit\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;if (isnan(h) || isnan(t) || isnan(f)) {\u003cbr /\u003e\r\n\u0026nbsp;Serial.println(\u0026quot;Failed reception\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;return;\u003cbr /\u003e\r\n\u0026nbsp;//Returns an error if the ESP32 does not receive any measurements\u003cbr /\u003e\r\n\u0026nbsp;}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;Humidite: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(h);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;% \u0026nbsp;Temperature: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(t);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;\u0026deg;C, \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(f);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.println(\u0026quot;\u0026deg;F\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp;tft.setTextWrap(false);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.fillScreen(ST77XX_BLACK);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setCursor(0, 20);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextColor(ST77XX_YELLOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextSize(6);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.print(h);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextColor(ST77XX_YELLOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextSize(6);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.println(\u0026quot; % \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextColor(ST77XX_GREEN);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextSize(7);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.print(t);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextColor(ST77XX_GREEN);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.setTextSize(7);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;tft.print(\u0026quot; \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;delay(1500);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003c/div\u003e\r\n","postDay":11,"PostMonth":"September","PostYear":2024,"Photo":"9_11_2024 5_35_44 PM_Screenshot 2024-09-11 202753.png","Name":"Edafa","Views":151,"Liked":0,"Category_ID":15,"Category":"ESP32"},{"ID":137,"Title":"Arduino robot car 4 wheels - controlled by Bluetooth","Description":"\u003cp\u003eArduino robot car 4 wheels - controlled by Bluetooth in this lesson, you will learn how to use an Arduino to build a 4WD robotic car. control by Bluetooth\u003c/p\u003e\r\n\r\n\u003cp\u003ein this lesson, you will learn how to use an Arduino to build a 4WD robotic car. control by Bluetooth\u003c/p\u003e\r\n\r\n\u003cp\u003eRequired parts\u003c/p\u003e\r\n\r\n\u003cp\u003eHere is what you will need:\u003c/p\u003e\r\n\r\n\u003cp\u003e1 x 4WD robotic car kit (4 wheels, 4 motors, and caster wheel)\u003c/p\u003e\r\n\r\n\u003cp\u003e1 x L298P Shield R3 DC Motor shield\u003c/p\u003e\r\n\r\n\u003cp\u003e3* 18650 batteries\u003c/p\u003e\r\n\r\n\u003cp\u003eEsp32s development board wifi and Bluetooth\u003c/p\u003e\r\n\r\n\u003cp\u003e2 Led Red + 2 Green\u003c/p\u003e\r\n","Description_d":"\u003cp\u003eArduino robot car 4 wheels - controlled by Bluetooth in this lesson, you will learn how to use an Arduino to build a 4WD robotic car. control by Bluetooth\u003c/p\u003e\r\n\r\n\u003cp\u003ein this lesson, you will learn how to use an Arduino to build a 4WD robotic car. control by Bluetooth\u003c/p\u003e\r\n\r\n\u003cp\u003eRequired parts\u003c/p\u003e\r\n\r\n\u003cp\u003eHere is what you will need:\u003c/p\u003e\r\n\r\n\u003cp\u003e1 x 4WD robotic car kit (4 wheels, 4 motors, and caster wheel)\u003c/p\u003e\r\n\r\n\u003cp\u003e1 x L298P Shield R3 DC Motor shield\u003c/p\u003e\r\n\r\n\u003cp\u003e3* 18650 batteries\u003c/p\u003e\r\n\r\n\u003cp\u003eEsp32s development board wifi and Bluetooth\u003c/p\u003e\r\n\r\n\u003cp\u003e2 Led Red + 2 Green\u003c/p\u003e\r\n","postDay":11,"PostMonth":"September","PostYear":2024,"Photo":"9_11_2024 5_24_39 PM_Screenshot 2024-09-11 202400.png","Name":"Edafa","Views":140,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":136,"Title":"esp32 problem: MD5 of file does not match data in flash!","Description":"\u003cp\u003eFixed esp32 problem\u003c/p\u003e\r\n\r\n\u003cp\u003eesp32 problem: MD5 of the file does not match data in flash!\u003c/p\u003e\r\n\r\n\u003cp\u003eesp32 problem: MD5 of file does not match data in flash! Fixed\u003c/p\u003e\r\n\r\n\u003cp\u003eesp32 problem: MD5 of file does not match data in flash! Erasing ESP32 Flash Memory\u003c/p\u003e\r\n\r\n\u003cp\u003eesp32 problem: MD5 of file does not match data in flash! error md5 Reset ESP development Boards to default Flash\u003c/p\u003e\r\n\r\n\u003cp\u003eesp32 ESPtool - Easy Fixes! Fixing a hardware ESP32 Upload problem To show\u003c/p\u003e\r\n\r\n\u003cp\u003ecode:\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003epython\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003eexit()\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003epip install esptool python -m esptool --chip esp32 --port yourport --baud 115200 --after hard_reset erase_flash\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003epaython -m esptool --port COM5 write_flash_status --non-volatile 0\u003c/div\u003e\r\n","Description_d":"\u003cp\u003eFixed esp32 problem\u003c/p\u003e\r\n\r\n\u003cp\u003eesp32 problem: MD5 of the file does not match data in flash!\u003c/p\u003e\r\n\r\n\u003cp\u003eesp32 problem: MD5 of file does not match data in flash! Fixed\u003c/p\u003e\r\n\r\n\u003cp\u003eesp32 problem: MD5 of file does not match data in flash! Erasing ESP32 Flash Memory\u003c/p\u003e\r\n\r\n\u003cp\u003eesp32 problem: MD5 of file does not match data in flash! error md5 Reset ESP development Boards to default Flash\u003c/p\u003e\r\n\r\n\u003cp\u003eesp32 ESPtool - Easy Fixes! Fixing a hardware ESP32 Upload problem To show\u003c/p\u003e\r\n\r\n\u003cp\u003ecode:\u003c/p\u003e\r\n\r\n\u003cp\u003epython\u003c/p\u003e\r\n\r\n\u003cp\u003eexit()\u003c/p\u003e\r\n\r\n\u003cp\u003epip install esptool python -m esptool --chip esp32 --port yourport --baud 115200 --after hard_reset erase_flash\u003c/p\u003e\r\n\r\n\u003cp\u003epaython -m esptool --port COM5 write_flash_status --non-volatile 0\u003c/p\u003e\r\n","postDay":11,"PostMonth":"September","PostYear":2024,"Photo":"9_11_2024 5_17_20 PM_vgd.jpg","Name":"Edafa","Views":101,"Liked":0,"Category_ID":15,"Category":"ESP32"},{"ID":135,"Title":"Artificial Intelligence (AI) Based Safety Solution for Accident by HC-SR04 and Arduino uno R3","Description":"\u003cp\u003etutorial how create Artificial Intelligence safety solutions\u003c/p\u003e\r\n\r\n\u003cp\u003eIntro project:\u003c/p\u003e\r\n\r\n\u003cp\u003eAI can easily detect cars and give alerts to prevent accidents, thus compensating for human limitations. Basic ML algorithms can be used to track driving behavior and convert driving behavior into good driving scores.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eAI and its Effect on Workplace Safety\u003c/p\u003e\r\n\r\n\u003cp\u003eIoT is a unique smart system that uses tiny sensors to monitor everything from individual machines to entire production lines, employees, and everything. Once the sensors are in place, the ML model monitors each individual element, identifies potential risks, and AI proposes solutions. Since AI has an impressive ability to predict future trends, it\u0026#39;s able to pinpoint health risks and notify you before anything goes wrong.\u003c/p\u003e\r\n\r\n\u003cp\u003eYou can set up predictive alerts and notifications throughout the entire system to minimize potential risks. Depending on the industry in question, such a system can save lives and prevent serious injuries.\u003c/p\u003e\r\n\r\n\u003cp\u003eParts\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino uno r3\u003c/p\u003e\r\n\r\n\u003cp\u003e2 * HC-SR04\u003c/p\u003e\r\n\r\n\u003cp\u003e2 * Traffic Light LED Display Module\u003c/p\u003e\r\n\r\n\u003cp\u003ecode:\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003e#define trigPin 2 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;//sensor A\u003cbr /\u003e\r\n#define echoPin 3 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;//sensor A\u003cbr /\u003e\r\n#define btrigPin 7 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;//sensor B\u003cbr /\u003e\r\n#define bechoPin 8 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; //sensor B\u003cbr /\u003e\r\n#define LED 13\u003cbr /\u003e\r\n#define LED2green 12\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003elong d1; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// sensor 1 distance \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\nlong d2; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// sensor 2 distance\u003cbr /\u003e\r\nlong t1 = 0; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// sensor 1 timestamp; initialize as 0\u003cbr /\u003e\r\nlong t2 = 0; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// sensor 2 timestamp; initialize as 0\u003cbr /\u003e\r\nunsigned long start_time; // time since program start\u003cbr /\u003e\r\nfloat max_distance = 10; \u0026nbsp;// movement sensing range (in cm)\u003cbr /\u003e\r\nlong sensor1=0;\u003cbr /\u003e\r\nlong sensor2=0;\u003cbr /\u003e\r\nlong sensorno=0;\u003cbr /\u003e\r\nvoid setup()\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.begin (115200);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(trigPin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(echoPin, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(btrigPin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(bechoPin, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(LED, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(LED2green, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; start_time = millis(); \u0026nbsp;// get program start time\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003evoid loop()\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int \u0026nbsp;walid=0;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int bduration, bdistance;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(btrigPin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delayMicroseconds(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(btrigPin, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; bduration = pulseIn(bechoPin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; bdistance = (bduration/2) / 29.1;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003e\u0026nbsp; \u0026nbsp; int duration, distance;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(trigPin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delayMicroseconds(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(trigPin, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; duration = pulseIn(echoPin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; distance = (duration/2) / 29.1;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003e\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (distance \u0026gt;= 3 \u0026amp;\u0026amp; distance \u0026lt;= 10)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; t1 = millis();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.print(distance);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.println(\u0026quot; cm\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;sensor1=1;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (t2 \u0026lt; t1)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; { \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // if left sensor triggered first\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Left to right\u0026quot;); \u0026nbsp; \u0026nbsp;// direction is left to right\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;else if (t1 \u0026lt; t2)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; { \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // if right sensor triggered first\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.println(\u0026quot;Right to left\u0026quot;); \u0026nbsp; \u0026nbsp;// direction is right to left\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;delay(1000);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; else if (bdistance \u0026gt;= 3 \u0026amp;\u0026amp; bdistance \u0026lt;= 10)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.print(bdistance);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot; cm\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; t2 = millis();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; sensor2=1;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (t2 \u0026lt; t1)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; { \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // if left sensor triggered first\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Left to right\u0026quot;); \u0026nbsp; \u0026nbsp;// direction is left to right\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;else if (t1 \u0026lt; t2)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{ \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// if right sensor triggered first\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Right to left\u0026quot;); \u0026nbsp; \u0026nbsp;// direction is right to left\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;delay(1000); \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;} \u0026nbsp;\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003eif (sensor2==1 )\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.println(\u0026quot;two\u0026quot;);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(sensor2);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(sensor1);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(LED, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(LED2green, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (sensor1==1)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;sensor1=0;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;sensor2=0;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\nelse if (sensor1==1)\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.println(\u0026quot;one\u0026quot;);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(sensor2);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(sensor1);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(LED, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(LED2green, LOW);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003e\u0026nbsp; \u0026nbsp; if (sensor2==1)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;sensor1=0;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;sensor2=0;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n\u0026nbsp;else if (sensor2 ==0 \u0026amp;\u0026amp; sensor1==0)\u003cbr /\u003e\r\n\u0026nbsp; {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003e\u0026nbsp; digitalWrite(LED, LOW);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(LED2green, HIGH);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;\"\u003e\u0026nbsp; delay(1000);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n","Description_d":"\u003cp\u003eArduino robot car 2 wheels - control by Bluetooth\u003c/p\u003e\r\n\r\n\u003cp\u003eyou will learn how to use an Arduino to build a 2WD robotic car.\u003c/p\u003e\r\n\r\n\u003cp\u003econtrol by Bluetooth parts 1 x 2WD robotic car kit (2 wheels, 2 motors, and caster wheel)\u003c/p\u003e\r\n\r\n\u003cp\u003e1 x L298P Shield R3 DC Motor shield\u003c/p\u003e\r\n\r\n\u003cp\u003e3* 18650 batteries Esp32s development board wifi and Bluetooth code :\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; // \u0026nbsp;if you need more information https://blog.edafait.com/Post?ID=134\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #include \u0026quot;BluetoothSerial.h\u0026quot;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define ENA \u0026nbsp; 14 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Enable/speed motors Right \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;GPIO14(D5)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define ENB \u0026nbsp; 12 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Enable/speed motors Left \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; GPIO12(D6)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define IN_1 \u0026nbsp;4 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// L298N in1 motors Right \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; GPIO15(D2)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define IN_2 \u0026nbsp;13 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// L298N in2 motors Right \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; GPIO13(D7)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define IN_3 \u0026nbsp;2 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // L298N in3 motors Left \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;GPIO2(D4)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define IN_4 \u0026nbsp;0 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // L298N in4 motors Left \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;GPIO0(D3)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define front_light \u0026nbsp;15 \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define red_light \u0026nbsp;5 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; //back\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; char commandm;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;//String to store app command state.\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;int speedCar = 1000; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // 400 - 1023.\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;int speed_Coeff = 3;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; /* Check if Bluetooth configurations are enabled in the SDK */\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; /* If not, then you have to recompile the SDK */\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #error Bluetooth is not enabled! Please run `make menuconfig` to and enable it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #endif\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; BluetoothSerial SerialBT;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; void setup() {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; /* If no name is given, default \u0026#39;ESP32\u0026#39; is applied */\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;/* If you want to give your own name to ESP32 Bluetooth device, then */\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;/* specify the name as an argument SerialBT.begin(\u0026quot;myESP32Bluetooth*/\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;SerialBT.begin(\u0026quot;Car Domy\u0026quot;);// BTName\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;SerialBT.begin();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(ENA, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(ENB, OUTPUT); \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(IN_1, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(IN_2, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(IN_3, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(IN_4, OUTPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(IN_4, OUTPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(red_light, OUTPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(front_light, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n// \u0026nbsp;if you need more information https://blog.edafait.com/Post?ID=134\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;void loop() {\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (SerialBT.available())\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Serial.write(SerialBT.read());\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;commandm = SerialBT.read();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;F\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;goAhead();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;B\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; goBack();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;L\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; goLeft();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;R\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;goRight();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;I\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; goAheadRight();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;I\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; goAheadRight();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;G\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;goAheadLeft();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;J\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;goBackRight();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;H\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;goBackLeft();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;0\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; speedCar = 400;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;1\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 500;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;2\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; speedCar = 600;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;3\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 650;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;4\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 700;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;5\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 750;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;6\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 800;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;7\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 850;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;8\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 900;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;9\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 950;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;10\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 1023;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;S\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; stopRobot();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; delay(20);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; void goAhead(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(front_light, HIGH); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; void goBack(){\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; void goRight(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; void goLeft(){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, LOWnm);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; void goAheadRight(){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar/speed_Coeff);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; void goAheadLeft(){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar/speed_Coeff);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n// \u0026nbsp;if you need more information https://blog.edafait.com/Post?ID=134\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; void goBackRight(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar/speed_Coeff);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; void goBackLeft(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; digitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; analogWrite(ENB, speedCar/speed_Coeff);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; void stopRobot(){ \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(red_light, LOW);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; analogWrite(ENA, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003c/p\u003e\r\n","postDay":9,"PostMonth":"September","PostYear":2024,"Photo":"9_10_2024 7_02_56 PM_maxresdefault.jpg","Name":"Edafa","Views":204,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":134,"Title":"Robot car 2 wheels - Control by Bluetooth","Description":"\u003cp\u003eArduino robot car 2 wheels - control by Bluetooth\u003c/p\u003e\r\n\r\n\u003cp\u003eyou will learn how to use an Arduino to build a 2WD robotic car.\u003c/p\u003e\r\n\r\n\u003cp\u003econtrol by Bluetooth parts 1 x 2WD robotic car kit (2 wheels, 2 motors, and caster wheel)\u003c/p\u003e\r\n\r\n\u003cp\u003e1 x L298P Shield R3 DC Motor shield\u003c/p\u003e\r\n\r\n\u003cp\u003e3* 18650 batteries Esp32s development board wifi and Bluetooth code :\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; // \u0026nbsp;if you need more information https://blog.edafait.com/Post?ID=134\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #include \u0026quot;BluetoothSerial.h\u0026quot;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define ENA \u0026nbsp; 14 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Enable/speed motors Right \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;GPIO14(D5)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define ENB \u0026nbsp; 12 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Enable/speed motors Left \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; GPIO12(D6)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define IN_1 \u0026nbsp;4 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// L298N in1 motors Right \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; GPIO15(D2)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define IN_2 \u0026nbsp;13 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// L298N in2 motors Right \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; GPIO13(D7)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define IN_3 \u0026nbsp;2 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // L298N in3 motors Left \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;GPIO2(D4)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define IN_4 \u0026nbsp;0 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // L298N in4 motors Left \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;GPIO0(D3)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define front_light \u0026nbsp;15 \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define red_light \u0026nbsp;5 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; //back\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; char commandm;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;//String to store app command state.\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;int speedCar = 1000; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // 400 - 1023.\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;int speed_Coeff = 3;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; /* Check if Bluetooth configurations are enabled in the SDK */\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; /* If not, then you have to recompile the SDK */\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #error Bluetooth is not enabled! Please run `make menuconfig` to and enable it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #endif\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; BluetoothSerial SerialBT;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; void setup() {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; /* If no name is given, default \u0026#39;ESP32\u0026#39; is applied */\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;/* If you want to give your own name to ESP32 Bluetooth device, then */\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;/* specify the name as an argument SerialBT.begin(\u0026quot;myESP32Bluetooth*/\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;SerialBT.begin(\u0026quot;Car Domy\u0026quot;);// BTName\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;SerialBT.begin();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(ENA, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(ENB, OUTPUT); \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(IN_1, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(IN_2, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(IN_3, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(IN_4, OUTPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(IN_4, OUTPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(red_light, OUTPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(front_light, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n// \u0026nbsp;if you need more information https://blog.edafait.com/Post?ID=134\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;void loop() {\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (SerialBT.available())\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Serial.write(SerialBT.read());\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;commandm = SerialBT.read();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;F\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;goAhead();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;B\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; goBack();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;L\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; goLeft();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;R\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;goRight();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;I\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; goAheadRight();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;I\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; goAheadRight();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;G\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;goAheadLeft();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;J\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;goBackRight();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;H\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;goBackLeft();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;0\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; speedCar = 400;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;1\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 500;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;2\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; speedCar = 600;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;3\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 650;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;4\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 700;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;5\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 750;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;6\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 800;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;7\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 850;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;8\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 900;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (commandm == \u0026#39;9\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 950;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;10\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;speedCar = 1023;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (commandm == \u0026#39;S\u0026#39;)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.write(\u0026quot;walid\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; stopRobot();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; delay(20);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; void goAhead(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(front_light, HIGH); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; void goBack(){\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; void goRight(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; void goLeft(){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, LOWnm);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; void goAheadRight(){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar/speed_Coeff);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; void goAheadLeft(){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar/speed_Coeff);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n// \u0026nbsp;if you need more information https://blog.edafait.com/Post?ID=134\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; void goBackRight(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar/speed_Coeff);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; void goBackLeft(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; analogWrite(ENA, speedCar);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; digitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; analogWrite(ENB, speedCar/speed_Coeff);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; void stopRobot(){ \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(red_light, LOW);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; analogWrite(ENA, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003c/p\u003e\r\n","Description_d":"\u003cp\u003eReal Time Clock (RTC) DS1302 module with a Wemos D1 mini which is based on the ESP8285 module and LCD1602 IIC/I2C Blue Backlight\u003c/p\u003e\r\n","postDay":8,"PostMonth":"September","PostYear":2024,"Photo":"9_10_2024 6_51_56 PM_1.png","Name":"Edafa","Views":179,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":133,"Title":"Fingerprint Attendance System ","Description":"\u003ch2\u003e\u003cstrong\u003eOverview\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cbr /\u003e\r\nThere are many methods to track the attendance of an individual. A few years ago, when Radio Frequency Identification (RFID) \u0026nbsp;Or fingerprint electronics were still in their adolescence stages, the time stamping technique was greatly followed. As software programming and technology progressed, especially in electronics, they gave way to a much more secure and reliable arrangement known as the fingerprint Attendance System.\u003cbr /\u003e\r\nThe fingerprint-based attendance system is developed using PHP, CSS, and Javascript working by WIFI. A fingerprint Attendance System Using NodeMCU is a modern attendance system. Hence, is a very interesting project. It can be useful in different places like schools, Colleges, industry, and private organizations to register the attendance of students, teachers, employees, etc. to tabulate monthly/daily working hours automatically. Us\u003c/p\u003e\r\n\r\n\u003cp\u003eThe fingerprint attendance system is developed with the IoT platform. We have used the NodeMCU ESP8266 development board with R307 and Oled display Module to send the card UID to the PHP Web app and store data in the website database. Basically, the admin plays an important role in the management of this system.\u003cbr /\u003e\r\nThe fingerprint attendance system is developed very easily setup on your server\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eSystem Specifications and Features\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003eUnlimited employees\u003cbr /\u003e\r\nAdmin Login/Logout System\u0026nbsp;\u003cbr /\u003e\r\nForgot the Password for the admin\u003cbr /\u003e\r\nEdit and Update the admin profile\u003cbr /\u003e\r\nView users\u003cbr /\u003e\r\nAdd New User\u003cbr /\u003e\r\nEdit and update the existing users\u003cbr /\u003e\r\nRemove Users\u003cbr /\u003e\r\nattendance records reports.\u003cbr /\u003e\r\nChange the device mode (Enrollment mode: to register new users to the system, Attendance Mode: To record attendance of registered users)\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cbr /\u003e\r\n\u003cstrong\u003eOLED Graphic Display\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"OLED Graphic Display \" src=\"https://blog.edafait.com/finger print/OLED-Graphic-Display.jpg\" style=\"height:500px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eOLED Graphic Display 128x64 Serial I2C 0.96 inch (Organic Light-Emitting Diode) have higher contrast than LCD display. Because the display makes its own light, no backlight is required (This reduces the power required to run the OLED and is why the display has such high contrast). \u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eThis OLED module is easy to use since it is connected to a microcontroller (Arduino) through I2C. It is covered by 128x64 pixels.\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003eOperating voltage: 3.3V-5V\u003cbr /\u003e\r\nResolution: 128x64\u003cbr /\u003e\r\nVisual Angle: \u0026gt;160\u0026deg;\u003cbr /\u003e\r\nInterface: I2C.\u003cbr /\u003e\r\nPixel Color: Blue\u003cbr /\u003e\r\nWorking temperature: -30\u0026deg;C ~ 70\u0026deg;C\u003cbr /\u003e\r\nModule size: 27.0 x 27.0 x 4.1mm\u003cbr /\u003e\r\nOLED driver IC: SSD1306\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eFingerprint Module R307\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"Fingerprint Module R307\" src=\"https://blog.edafait.com/finger print/Fingerprint-Module-R307.jpg\" style=\"height:281px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eR307 is an optical fingerprint verification module with a TTL interface. It consists of the optical fingerprint sensor, high-performance DSP processor, and Flash. It has many functions such as Fingerprint sensors, fingerprint verification, fingerprint upload, and download.\u003c/p\u003e\r\n\r\n\u003cp\u003eUsers can easily develop powerful fingerprint verification application systems based on the rich collection of controlling commands provided by the module. The R307 can be easily used with Arduino,esp8266, esp32, Tiva C, STM, and raspberry,.\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eSpecifications\u003c/p\u003e\r\n\r\n\u003cp\u003eOperating Voltage: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 4.2VDC\u0026nbsp; : 6VDC\u0026nbsp;\u003cbr /\u003e\r\nOperating Current: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026lt;50mA(Input voltage 5V)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;Search Time: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;1 second\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;Fingerprint image input time: \u0026lt;0.3 second\u0026nbsp;\u003cbr /\u003e\r\nWindow area: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 14 X 18 mm\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;User Storage Capacity: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 1000 image\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;Interface Protocol: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Standard serial interface (TTL level)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;Communication Baud Rate: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;57600 bps (Default Value)\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eCircuit Diagram: IOT Fingerprint Attendance System\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"Fingerprint Attendance System\" src=\"https://blog.edafait.com/finger print/R307.png\" style=\"height:412px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eNodeMCU ESP8266\u0026nbsp;/\u0026nbsp;OLED\u0026nbsp;Display\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch3\u003eD1 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; SDA\u003c/h3\u003e\r\n\r\n\u003ch3\u003eD2\u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; SCK\u003c/h3\u003e\r\n\r\n\u003ch3\u003eGND \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; GND\u003c/h3\u003e\r\n\r\n\u003ch3\u003e3V/3V3 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; 3.3V\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eNodeMCU ESP8266\u0026nbsp;/\u0026nbsp;Fingerprint Module R307\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch3\u003eD6 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; RX\u003c/h3\u003e\r\n\r\n\u003ch3\u003eD5\u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; TX\u003c/h3\u003e\r\n\r\n\u003ch3\u003eGND \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; GND\u003c/h3\u003e\r\n\r\n\u003ch3\u003e5V \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; 5V\u003c/h3\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eArduino IDE\u0026nbsp;libraries downloads\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/jfturcot/SimpleTimer\" target=\"_blank\"\u003e\u003cstrong\u003eSimpleTimer\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/adafruit/Adafruit-GFX-Library\" target=\"_blank\"\u003e\u003cstrong\u003eAdafruit_GFX\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/adafruit/Adafruit_SSD1306\" target=\"_blank\"\u003e\u003cstrong\u003eAdafruit_SSD1306\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library\" target=\"_blank\"\u003e\u003cstrong\u003eAdafruit_Fingerprint\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eArduino IDE Code\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e//NodeMCU--------------------------\u003cbr /\u003e\r\n#include \u0026lt;WiFiClient.h\u0026gt;\u0026nbsp;\u003cbr /\u003e\r\n#include \u0026lt;ESP8266WiFi.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;SoftwareSerial.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;ESP8266HTTPClient.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;SimpleTimer.h\u0026gt; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; //https://github.com/jfturcot/SimpleTimer\u003cbr /\u003e\r\n//OLED-----------------------------\u003cbr /\u003e\r\n#include \u0026lt;SPI.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Wire.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_GFX.h\u0026gt; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;//https://github.com/adafruit/Adafruit-GFX-Library\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_SSD1306.h\u0026gt; \u0026nbsp; \u0026nbsp; \u0026nbsp;//https://github.com/adafruit/Adafruit_SSD1306\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_Fingerprint.h\u0026gt; \u0026nbsp;//https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\n//Fingerprint scanner Pins\u003cbr /\u003e\r\n#define Finger_Rx 14 //D5\u003cbr /\u003e\r\n#define Finger_Tx 12 //D6\u003cbr /\u003e\r\n#define led_blue 13 //D8\u003cbr /\u003e\r\n#define led_green 15 //D7\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n// Declaration for SSD1306 display connected using software I2C pins are(22 SCL, 21 SDA)\u003cbr /\u003e\r\n#define SCREEN_WIDTH 128 // OLED display width, in pixels\u003cbr /\u003e\r\n#define SCREEN_HEIGHT 64 // OLED display height, in pixels\u003cbr /\u003e\r\n#define OLED_RESET \u0026nbsp; \u0026nbsp; 0 // Reset pin # (or -1 if sharing Arduino reset pin)\u003cbr /\u003e\r\nAdafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, \u0026amp;Wire, OLED_RESET);\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nSimpleTimer timer;\u003cbr /\u003e\r\nSoftwareSerial mySerial(Finger_Rx, Finger_Tx);\u003cbr /\u003e\r\nAdafruit_Fingerprint finger = Adafruit_Fingerprint(\u0026amp;mySerial);\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\n/* Set these to your desired credentials. */\u003cbr /\u003e\r\nconst char *ssid = \u0026quot;domy3\u0026quot;;\u003cbr /\u003e\r\nconst char *password = \u0026quot;egsmile010\u0026quot;;\u003cbr /\u003e\r\nconst char* device_token \u0026nbsp;= \u0026quot;edafait\u0026quot;;\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nString getData, Link;\u003cbr /\u003e\r\nString URL = \u0026quot;http://192.168.1.5:8081/biometricattendace/getdata.php\u0026quot;; //computer IP or the server domain\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nint FingerID = 0, t1, t2; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// The Fingerprint ID from the scanner\u0026nbsp;\u003cbr /\u003e\r\nbool device_Mode = false; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Default Mode Enrollment\u003cbr /\u003e\r\nbool firstConnect = false;\u003cbr /\u003e\r\n\u0026nbsp;int id;\u003cbr /\u003e\r\nunsigned long previousMillis = 0;\u003cbr /\u003e\r\n//*************************Biometric Icons*********************************\u003cbr /\u003e\r\n#define Wifi_start_width 54\u003cbr /\u003e\r\n#define Wifi_start_height 49\u003cbr /\u003e\r\nconst uint8_t PROGMEM Wifi_start_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xf0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xff,0xff,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xf0,0x1f,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x7e,0x00,0x00,0xfc,0x00,0x00\u003cbr /\u003e\r\n,0x01,0xf0,0x00,0x00,0x1f,0x00,0x00\u003cbr /\u003e\r\n,0x03,0xc0,0x00,0x00,0x07,0xc0,0x00\u003cbr /\u003e\r\n,0x0f,0x00,0x00,0x00,0x01,0xe0,0x00\u003cbr /\u003e\r\n,0x1c,0x00,0x00,0x00,0x00,0x70,0x00\u003cbr /\u003e\r\n,0x38,0x00,0x07,0xc0,0x00,0x38,0x00\u003cbr /\u003e\r\n,0x70,0x00,0xff,0xfe,0x00,0x1e,0x00\u003cbr /\u003e\r\n,0xe0,0x03,0xfc,0x7f,0xc0,0x0e,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0x80,0x03,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x00,0x00,0x78,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xf0,0x00,0x00,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x01,0xe0,0x00,0x00,0x0c,0x00,0x00\u003cbr /\u003e\r\n,0x03,0x80,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x03,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xf8,0x07,0x1e,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xff,0xfe,0x1f,0xbf,0x80\u003cbr /\u003e\r\n,0x00,0x03,0xe0,0x04,0x7f,0xff,0xc0\u003cbr /\u003e\r\n,0x00,0x07,0x80,0x00,0xff,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x0e,0x00,0x00,0xff,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x0c,0x00,0x00,0x7f,0xff,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0xfe,0x07,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x03,0xf8,0x03,0xf8\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xe7,0xf9,0xf1,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xe7,0xf1,0xf9,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xe7,0xf3,0xf9,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xe7,0xf3,0xf9,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xe7,0xf1,0xf1,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xe3,0xf8,0xe3,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xf3,0xfc,0x07,0xf8\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xf0,0x7f,0x0f,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0xe0,0x7f,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xc0,0xff,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x7f,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x3f,0xff,0x80\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x1f,0xbf,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x03,0x18,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n#define Wifi_connected_width 63\u003cbr /\u003e\r\n#define Wifi_connected_height 49\u003cbr /\u003e\r\nconst uint8_t PROGMEM Wifi_connected_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xff,0xff,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xff,0xff,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xff,0xff,0xff,0xff,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0xff,0xff,0xff,0xff,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x3f,0xff,0xc0,0x07,0xff,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0xff,0xf8,0x00,0x00,0x3f,0xfe,0x00\u003cbr /\u003e\r\n,0x03,0xff,0x80,0x00,0x00,0x03,0xff,0x80\u003cbr /\u003e\r\n,0x07,0xfe,0x00,0x00,0x00,0x00,0xff,0xc0\u003cbr /\u003e\r\n,0x1f,0xf8,0x00,0x00,0x00,0x00,0x3f,0xf0\u003cbr /\u003e\r\n,0x3f,0xe0,0x01,0xff,0xff,0x00,0x0f,0xf8\u003cbr /\u003e\r\n,0x7f,0x80,0x0f,0xff,0xff,0xe0,0x03,0xfc\u003cbr /\u003e\r\n,0xff,0x00,0x7f,0xff,0xff,0xfc,0x01,0xfe\u003cbr /\u003e\r\n,0xfc,0x01,0xff,0xff,0xff,0xff,0x00,0x7e\u003cbr /\u003e\r\n,0x78,0x07,0xff,0xc0,0x07,0xff,0xc0,0x3c\u003cbr /\u003e\r\n,0x00,0x0f,0xfc,0x00,0x00,0x7f,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xf0,0x00,0x00,0x1f,0xf0,0x00\u003cbr /\u003e\r\n,0x00,0x3f,0xc0,0x00,0x00,0x07,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0x7f,0x00,0x01,0x00,0x01,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x7e,0x00,0x7f,0xfc,0x00,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x03,0xff,0xff,0x80,0x78,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xff,0xff,0xc0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xff,0xff,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xf0,0x1f,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x80,0x03,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x00,0x01,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1c,0x00,0x00,0x70,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x0f,0xe0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x1f,0xf0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x3f,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x3f,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x3f,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x3f,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x1f,0xf0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x0f,0xe0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n#define FinPr_start_width 64\u003cbr /\u003e\r\n#define FinPr_start_height 64\u003cbr /\u003e\r\nconst uint8_t PROGMEM FinPr_start_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x00,0x1f,0xe0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xff,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xff,0xff,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0xc0,0x0f,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0x00,0x01,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3c,0x00,0x00,0x7c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x78,0x00,0x00,0x3e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf0,0x3f,0xf8,0x0f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xe0,0xff,0xfe,0x07,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xc3,0xff,0xff,0x03,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x03,0x87,0xc0,0x07,0xc3,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x07,0x0f,0x00,0x03,0xe1,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x0e,0x00,0x00,0xe0,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x0e,0x1c,0x00,0x00,0xf0,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x0c,0x3c,0x1f,0xe0,0x70,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x38,0x3f,0xf0,0x38,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x78,0x78,0xf8,0x38,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x70,0x70,0x3c,0x18,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xe0,0xe0,0x1e,0x1c,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xe1,0xe0,0x0e,0x1c,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0xc1,0xc3,0x0e,0x1c,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x3f,0x03,0xc3,0x8e,0x1c,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x3e,0x03,0x87,0x0e,0x1c,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x30,0x07,0x07,0x0e,0x18,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0e,0x0e,0x0e,0x38,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3e,0x1e,0x1e,0x38,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf8,0x1c,0x1c,0x38,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf0,0x38,0x3c,0x38,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x3f,0xc0,0xf8,0x78,0x38,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x7f,0x01,0xf0,0x70,0x38,0xf0,0x00\u003cbr /\u003e\r\n,0x00,0x78,0x03,0xe0,0xe0,0x38,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0x81,0xe0,0x38,0x7c,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x03,0xc0,0x38,0x3e,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x0f,0x80,0x38,0x1e,0x00\u003cbr /\u003e\r\n,0x00,0x07,0xf0,0x1f,0x1c,0x1c,0x04,0x00\u003cbr /\u003e\r\n,0x00,0x3f,0xc0,0x3e,0x3f,0x1e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x7f,0x00,0xf8,0x7f,0x0f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x38,0x01,0xf0,0xf7,0x07,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xe1,0xe3,0x83,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x87,0xc3,0xc0,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xfe,0x0f,0x81,0xe0,0x3c,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0xf8,0x1f,0x00,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xc0,0x7c,0x00,0x7c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1e,0x01,0xf8,0x00,0x3f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xe0,0x78,0x0f,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x81,0xfe,0x07,0xf0,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xfe,0x07,0xff,0x01,0xf0,0x00\u003cbr /\u003e\r\n,0x00,0x07,0xf8,0x0f,0x87,0x80,0x30,0x00\u003cbr /\u003e\r\n,0x00,0x07,0xc0,0x3f,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x06,0x00,0xfc,0x01,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xf0,0x00,0x7e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0xc0,0x00,0x3f,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x7f,0x00,0xf8,0x0f,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x03,0xfe,0x01,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf0,0x1f,0xff,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x7f,0x07,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0xfc,0x03,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xf0,0x00,0x78,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0xc0,0x00,0x18,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0x01,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x07,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x1f,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x1e,0x0e,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n//---------------------------------------------------------------\u003cbr /\u003e\r\n#define FinPr_valid_width 64\u003cbr /\u003e\r\n#define FinPr_valid_height 64\u003cbr /\u003e\r\nconst uint8_t PROGMEM FinPr_valid_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x03,0xfe,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xff,0xe0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x7f,0xff,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x00,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xe0,0x00,0x1f,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x07,0xc0,0x00,0x07,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x80,0x00,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0e,0x03,0xff,0x01,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1c,0x1f,0xff,0xe0,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x3f,0xff,0xf0,0x78,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x78,0x7c,0x00,0xf8,0x3c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x70,0xf0,0x00,0x3c,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xe1,0xe0,0x00,0x1e,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xe1,0xc0,0x00,0x0f,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xc3,0x81,0xfc,0x07,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0x83,0xff,0x07,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x07,0x07,0x8f,0x83,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x0f,0x03,0xc3,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1e,0x0e,0x01,0xc3,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x1c,0x00,0xe1,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xf8,0x1c,0x30,0xe1,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xf0,0x38,0x70,0xe1,0x86,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xc0,0x78,0x70,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x02,0x00,0xf0,0xf0,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xe0,0xe0,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xc1,0xe1,0xc3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x83,0xc3,0xc3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x7f,0x07,0x83,0x83,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xfc,0x0f,0x07,0x83,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xf0,0x1e,0x0f,0x03,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0x80,0x7c,0x1e,0x03,0x07,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf8,0x3c,0x03,0x87,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf0,0x78,0x03,0x83,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xc0,0xf0,0x02,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xff,0x01,0xe1,0xc0,0x0c,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xfc,0x03,0xc3,0xe1,0xff,0xc0,0x00\u003cbr /\u003e\r\n,0x07,0xe0,0x0f,0x87,0xc7,0xff,0xf0,0x00\u003cbr /\u003e\r\n,0x07,0x00,0x3f,0x0f,0x0f,0xff,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x7c,0x3e,0x3f,0xff,0xfe,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf8,0x7c,0x3f,0xff,0xff,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xe0,0xf0,0x7f,0xff,0xff,0x80\u003cbr /\u003e\r\n,0x00,0xff,0x83,0xe0,0xff,0xff,0xff,0x80\u003cbr /\u003e\r\n,0x01,0xfc,0x07,0xc1,0xff,0xff,0xe3,0xc0\u003cbr /\u003e\r\n,0x01,0xe0,0x1f,0x01,0xff,0xff,0xc3,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0xfe,0x01,0xff,0xff,0x87,0xe0\u003cbr /\u003e\r\n,0x00,0x03,0xf8,0x13,0xff,0xff,0x0f,0xe0\u003cbr /\u003e\r\n,0x00,0x1f,0xe0,0x73,0xff,0xfe,0x1f,0xe0\u003cbr /\u003e\r\n,0x00,0x7f,0x81,0xf3,0xff,0xfc,0x1f,0xe0\u003cbr /\u003e\r\n,0x00,0xfc,0x03,0xe3,0xef,0xf8,0x3f,0xe0\u003cbr /\u003e\r\n,0x00,0x60,0x0f,0xc3,0xc7,0xf0,0x7f,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x03,0xc3,0xe0,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x03,0xc1,0xc1,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x07,0xf0,0x13,0xe0,0x83,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x0f,0xc0,0x7b,0xf8,0x07,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x0f,0x01,0xf9,0xfc,0x0f,0xff,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xf1,0xfe,0x1f,0xff,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xc0,0xff,0x3f,0xff,0x80\u003cbr /\u003e\r\n,0x00,0x00,0x7e,0x00,0xff,0xff,0xff,0x80\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x00,0x7f,0xff,0xff,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf0,0x1f,0x3f,0xff,0xfe,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x7f,0x1f,0xff,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xff,0x8f,0xff,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xe0,0xe3,0xff,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0x80,0x00,0x7f,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n//---------------------------------------------------------------\u003cbr /\u003e\r\n#define FinPr_invalid_width 64\u003cbr /\u003e\r\n#define FinPr_invalid_height 64\u003cbr /\u003e\r\nconst uint8_t PROGMEM FinPr_invalid_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x03,0xfe,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xff,0xe0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x7f,0xff,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x00,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xe0,0x00,0x1f,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x07,0xc0,0x00,0x07,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x80,0x00,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0e,0x03,0xff,0x01,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1c,0x1f,0xff,0xe0,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x3f,0xff,0xf0,0x78,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x78,0x7c,0x00,0xf8,0x3c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x70,0xf0,0x00,0x3c,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xe1,0xe0,0x00,0x1e,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xe1,0xc0,0x00,0x0f,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xc3,0x81,0xfc,0x07,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0x83,0xff,0x07,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x07,0x07,0x8f,0x83,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x0f,0x03,0xc3,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1e,0x0e,0x01,0xc3,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x1c,0x00,0xe1,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xf8,0x1c,0x30,0xe1,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xf0,0x38,0x70,0xe1,0x86,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xc0,0x78,0x70,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x02,0x00,0xf0,0xf0,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xe0,0xe0,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xc1,0xe1,0xc3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x83,0xc3,0xc3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x7f,0x07,0x83,0x83,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xfc,0x0f,0x07,0x83,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xf0,0x1e,0x0f,0x03,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0x80,0x7c,0x1e,0x03,0x07,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf8,0x3c,0x03,0x87,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf0,0x78,0x03,0x83,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xc0,0xf0,0x02,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xff,0x01,0xe1,0xc0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xfc,0x03,0xc3,0xe1,0xff,0xc0,0x00\u003cbr /\u003e\r\n,0x07,0xe0,0x0f,0x87,0xc7,0xff,0xf0,0x00\u003cbr /\u003e\r\n,0x07,0x00,0x3f,0x0f,0x0f,0xff,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x7c,0x3e,0x1f,0xff,0xfe,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf8,0x7c,0x3f,0xff,0xff,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xe0,0xf0,0x7f,0xff,0xff,0x00\u003cbr /\u003e\r\n,0x00,0xff,0x83,0xe0,0xfe,0xff,0xbf,0x80\u003cbr /\u003e\r\n,0x01,0xfc,0x07,0xc0,0xfc,0x7f,0x1f,0xc0\u003cbr /\u003e\r\n,0x01,0xe0,0x1f,0x01,0xf8,0x3e,0x0f,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0xfe,0x01,0xf8,0x1c,0x07,0xe0\u003cbr /\u003e\r\n,0x00,0x03,0xf8,0x13,0xf8,0x00,0x0f,0xe0\u003cbr /\u003e\r\n,0x00,0x1f,0xe0,0x73,0xfc,0x00,0x1f,0xe0\u003cbr /\u003e\r\n,0x00,0x7f,0x81,0xf3,0xfe,0x00,0x3f,0xe0\u003cbr /\u003e\r\n,0x00,0xfc,0x03,0xe3,0xff,0x00,0x7f,0xe0\u003cbr /\u003e\r\n,0x00,0x60,0x0f,0xc3,0xff,0x80,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x03,0xff,0x00,0x7f,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x03,0xfe,0x00,0x3f,0xe0\u003cbr /\u003e\r\n,0x00,0x07,0xf0,0x13,0xfc,0x00,0x1f,0xe0\u003cbr /\u003e\r\n,0x00,0x0f,0xc0,0x79,0xf8,0x08,0x0f,0xe0\u003cbr /\u003e\r\n,0x00,0x0f,0x01,0xf9,0xf8,0x1c,0x0f,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xf1,0xfc,0x3e,0x1f,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xc0,0xfe,0x7f,0x3f,0x80\u003cbr /\u003e\r\n,0x00,0x00,0x7e,0x00,0xff,0xff,0xff,0x80\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x00,0x7f,0xff,0xff,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf0,0x1f,0x3f,0xff,0xfe,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x7f,0x1f,0xff,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xff,0x8f,0xff,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xe0,0xe3,0xff,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0x80,0x00,0x7f,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n//---------------------------------------------------------------\u003cbr /\u003e\r\n#define FinPr_failed_width 64\u003cbr /\u003e\r\n#define FinPr_failed_height 64\u003cbr /\u003e\r\nconst uint8_t PROGMEM FinPr_failed_bits = {\u003cbr /\u003e\r\n0x00,0x00,0x3f,0xe0,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xff,0xfe,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0xc0,0x1f,0x80,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1e,0x00,0x03,0xc0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x78,0x00,0x00,0xf0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xe0,0x00,0x00,0x38,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x01,0xc0,0x00,0x00,0x1c,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x03,0x80,0x00,0x00,0x0e,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x07,0x00,0x7f,0xe0,0x07,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x06,0x01,0xff,0xf8,0x03,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x0c,0x03,0xc0,0x3c,0x03,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x1c,0x0f,0x00,0x0e,0x01,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x18,0x0c,0x00,0x03,0x00,0xc0,0x00,0x00\u003cbr /\u003e\r\n,0x18,0x18,0x00,0x01,0x80,0xc0,0x00,0x00\u003cbr /\u003e\r\n,0x30,0x38,0x00,0x01,0xc0,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x30,0x30,0x0f,0x00,0xc0,0x60,0x00,0x00\u003cbr /\u003e\r\n,0x30,0x30,0x3f,0xc0,0xe0,0x60,0x00,0x00\u003cbr /\u003e\r\n,0x70,0x60,0x78,0xe0,0x60,0x60,0x00,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x60,0x60,0x70,0x00,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x60,0x60,0x30,0x00,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x60,0x30,0x30,0x00,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x30,0x20,0x00,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x30,0x01,0xe0,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x30,0x0f,0xfc,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x30,0x3f,0xff,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x18,0x78,0x03,0x80\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x1c,0x60,0x01,0x80\u003cbr /\u003e\r\n,0x60,0x60,0x30,0x38,0x0c,0xc0,0x00,0xc0\u003cbr /\u003e\r\n,0x00,0x60,0x30,0x18,0x00,0xc0,0x00,0xc0\u003cbr /\u003e\r\n,0x00,0x60,0x30,0x18,0x00,0xc0,0x00,0xc0\u003cbr /\u003e\r\n,0x00,0xe0,0x30,0x0c,0x01,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x00,0xc0,0x18,0x0e,0x01,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x60,0xc0,0x18,0x07,0x01,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x01,0xc0,0x1c,0x03,0x81,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x01,0x80,0x0c,0x01,0xc1,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x03,0x80,0x0e,0x00,0xf1,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x0f,0x00,0x06,0x00,0x01,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x3e,0x01,0x03,0x00,0x01,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x30,0x03,0x83,0x80,0x1f,0xff,0xff,0xfe\u003cbr /\u003e\r\n,0x00,0x03,0x81,0xc0,0x3f,0xff,0xff,0xff\u003cbr /\u003e\r\n,0x00,0x07,0xc0,0xe0,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x0e,0xc0,0x78,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x3c,0x60,0x1e,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x78,0x70,0x0f,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x03,0xe0,0x38,0x03,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x07,0x80,0x1c,0x00,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0xc0,0x00,0x0f,0x00,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0xc0,0x00,0x03,0x80,0x30,0x01,0xe0,0x03\u003cbr /\u003e\r\n,0x00,0x18,0x01,0xe0,0x30,0x03,0xf0,0x03\u003cbr /\u003e\r\n,0x00,0x18,0x00,0x7c,0x30,0x07,0x38,0x03\u003cbr /\u003e\r\n,0x00,0x0c,0x00,0x1f,0x30,0x06,0x18,0x03\u003cbr /\u003e\r\n,0x18,0x0e,0x00,0x07,0x30,0x06,0x18,0x03\u003cbr /\u003e\r\n,0x0c,0x07,0x80,0x00,0x30,0x07,0x38,0x03\u003cbr /\u003e\r\n,0x0e,0x03,0xc0,0x00,0x30,0x03,0x30,0x03\u003cbr /\u003e\r\n,0x07,0x00,0xf0,0x00,0x30,0x03,0x30,0x03\u003cbr /\u003e\r\n,0x03,0x00,0x7e,0x00,0x30,0x03,0x30,0x03\u003cbr /\u003e\r\n,0x01,0x80,0x1f,0xc0,0x30,0x03,0x30,0x03\u003cbr /\u003e\r\n,0x01,0xc0,0x03,0xe1,0x30,0x07,0xf8,0x03\u003cbr /\u003e\r\n,0x00,0xf0,0x00,0x01,0x30,0x03,0xf0,0x03\u003cbr /\u003e\r\n,0x00,0x38,0x00,0x00,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x1e,0x00,0x00,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x07,0xc0,0x00,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x01,0xff,0x80,0x3f,0xff,0xff,0xff\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x80,0x1f,0xff,0xff,0xfe\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n//---------------------------------------------------------------\u003cbr /\u003e\r\n#define FinPr_scan_width 64\u003cbr /\u003e\r\n#define FinPr_scan_height 64\u003cbr /\u003e\r\nconst uint8_t PROGMEM FinPr_scan_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x1f,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x7f,0xff,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xfc,0x7f,0xc0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xc0,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0x80,0x00,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0e,0x00,0x00,0x3c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1c,0x1f,0xfc,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x38,0x7f,0xfe,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x78,0xf8,0x0f,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x71,0xe0,0x03,0xc7,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xe3,0x80,0x01,0xc3,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xc3,0x83,0xc0,0xe3,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xc7,0x0f,0xf0,0x71,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x06,0x1f,0xf8,0x71,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0e,0x1c,0x3c,0x31,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1c,0x38,0x1c,0x31,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x38,0x70,0x0e,0x39,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xf0,0x71,0x8e,0x39,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xe0,0xe1,0x86,0x31,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x03,0x81,0xe3,0x8e,0x31,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xc3,0x8e,0x33,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0x87,0x0c,0x73,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0x0e,0x1c,0x73,0x80,0x00\u003cbr /\u003e\r\n,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe\u003cbr /\u003e\r\n,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff\u003cbr /\u003e\r\n,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff\u003cbr /\u003e\r\n,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf0,0x1e,0x3e,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0x80,0x7c,0x77,0x0f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xf0,0xe3,0x07,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xe3,0xc3,0x81,0xf0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x87,0x81,0xc0,0x60,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xfc,0x1f,0x00,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xe0,0x3c,0x00,0x7c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0xf8,0x78,0x1f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xe0,0xfc,0x0f,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x83,0xef,0x03,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x0f,0x87,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x70,0x1f,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x7c,0x00,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xf0,0x00,0x3e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0xc0,0xf8,0x0f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0x03,0xfe,0x02,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0c,0x0f,0x8f,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x3f,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0xf8,0x00,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xe0,0x00,0x30,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xc0,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x07,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x0f,0x8e,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;pinMode(led_blue, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(led_green, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; //-----------initiate OLED display-------------\u003cbr /\u003e\r\n\u0026nbsp; if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(F(\u0026quot;SSD1306 allocation failed\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; for(;;); // Don\u0026#39;t proceed, loop forever\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; // you can delet these three lines if you don\u0026#39;t want to get the Adfruit logo appear\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000); // Pause for 2 seconds\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; connectToWiFi();\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; // Set the data rate for the sensor serial port\u003cbr /\u003e\r\n\u0026nbsp; finger.begin(57600);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;\\n\\nAdafruit finger detect test\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; if (finger.verifyPassword()) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Found fingerprint sensor!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Did not find fingerprint sensor :(\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 32, 0, FinPr_failed_bits, FinPr_failed_width, FinPr_failed_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; while (1) { delay(1); }\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; finger.getTemplateCount();\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Sensor contains \u0026quot;); Serial.print(finger.templateCount); Serial.println(\u0026quot; templates\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Waiting for valid finger...\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; //Timers---------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; timer.setInterval(25000L, CheckMode);\u003cbr /\u003e\r\n\u0026nbsp; t1 = timer.setInterval(10000L, ChecktoAddID); \u0026nbsp; \u0026nbsp; \u0026nbsp;//Set an internal timer every 10sec to check if there a new fingerprint in the website to add it.\u003cbr /\u003e\r\n\u0026nbsp; t2 = timer.setInterval(15000L, ChecktoDeleteID); \u0026nbsp; //Set an internal timer every 15sec to check wheater there an ID to delete in the website.\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; CheckMode();\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; timer.run(); \u0026nbsp; \u0026nbsp; \u0026nbsp;//Keep the timer in the loop function in order to update the time as soon as possible\u003cbr /\u003e\r\n\u0026nbsp; //check if there\u0026#39;s a connection to Wi-Fi or not\u003cbr /\u003e\r\n\u0026nbsp; if(!WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (millis() - previousMillis \u0026gt;= 10000) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; previousMillis = millis();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; connectToWiFi(); \u0026nbsp; \u0026nbsp;//Retry to connect to Wi-Fi\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; CheckFingerprint(); \u0026nbsp; //Check the sensor if the there a finger.\u003cbr /\u003e\r\n\u0026nbsp; delay(10);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nvoid CheckFingerprint(){\u003cbr /\u003e\r\n// \u0026nbsp;unsigned long previousMillisM = millis();\u003cbr /\u003e\r\n// \u0026nbsp;Serial.println(previousMillisM);\u003cbr /\u003e\r\n\u0026nbsp; // If there no fingerprint has been scanned return -1 or -2 if there an error or 0 if there nothing, The ID start form 1 to 127\u003cbr /\u003e\r\n\u0026nbsp; // Get the Fingerprint ID from the Scanner\u003cbr /\u003e\r\n\u0026nbsp; FingerID = getFingerprintID();\u003cbr /\u003e\r\n\u0026nbsp; DisplayFingerprintID();\u003cbr /\u003e\r\n// \u0026nbsp;Serial.println(millis() - previousMillisM);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//************Display the fingerprint ID state on the OLED*************\u003cbr /\u003e\r\nvoid DisplayFingerprintID(){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.println(FingerID);\u003cbr /\u003e\r\n\u0026nbsp; //Fingerprint has been detected\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if (FingerID \u0026gt; 0){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; SendFingerprintID( FingerID ); // Send the Fingerprint ID to the website.\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(2000);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; //No finger detected\u003cbr /\u003e\r\n\u0026nbsp; else if (FingerID == 0){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 32, 0, FinPr_start_bits, FinPr_start_width, FinPr_start_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; //Didn\u0026#39;t find a match\u003cbr /\u003e\r\n\u0026nbsp; else if (FingerID == -1){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_invalid_bits, FinPr_invalid_width, FinPr_invalid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; //Didn\u0026#39;t find the scanner or there an error\u003cbr /\u003e\r\n\u0026nbsp; else if (FingerID == -2){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 32, 0, FinPr_failed_bits, FinPr_failed_width, FinPr_failed_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//************send the fingerprint ID to the website*************\u003cbr /\u003e\r\nvoid SendFingerprintID( int finger ){\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Sending the Fingerprint ID\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; if(WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; HTTPClient http; \u0026nbsp; \u0026nbsp;//Declare object of class HTTPClient\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET Data\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; getData = \u0026quot;?FingerID=\u0026quot; + String(finger) + \u0026quot;\u0026amp;device_token=\u0026quot; + device_token; // Add the Fingerprint ID to the Post array in order to send it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET methode\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Link = URL + getData;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.begin(Link); //initiate HTTP request \u0026nbsp; //Specify content-type header\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int httpCode = http.GET(); \u0026nbsp; //Send the request\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; String payload = http.getString(); \u0026nbsp; \u0026nbsp;//Get the response payload\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(httpCode); \u0026nbsp; //Print HTTP return code\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(payload); \u0026nbsp; \u0026nbsp;//Print request response payload\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(finger); \u0026nbsp; \u0026nbsp; //Print fingerprint ID\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (payload.substring(0, 5) == \u0026quot;login\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; String user_name = payload.substring(5);\u003cbr /\u003e\r\n\u0026nbsp; // \u0026nbsp;Serial.println(user_name);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(led_blue, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(led_green,HIGH );\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(15,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Welcome\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(0,20);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(user_name);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; else if (payload.substring(0, 6) == \u0026quot;logout\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; String user_name = payload.substring(6);\u003cbr /\u003e\r\n\u0026nbsp; // \u0026nbsp;Serial.println(user_name);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; pinMode(led_blue, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(led_green,HIGH );\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(10,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Good Bye\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(0,20);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(user_name);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(10);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//********************Get the Fingerprint ID******************\u003cbr /\u003e\r\nint \u0026nbsp;getFingerprintID() {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;int \u0026nbsp;p = finger.getImage();\u003cbr /\u003e\r\n\u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image taken\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_NOFINGER:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;No finger detected\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return 0;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Imaging error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; // OK success!\u003cbr /\u003e\r\n\u0026nbsp; p = finger.image2Tz();\u003cbr /\u003e\r\n\u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image converted\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEMESS:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image too messy\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -1;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_FEATUREFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_INVALIDIMAGE:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; // OK converted!\u003cbr /\u003e\r\n\u0026nbsp; p = finger.fingerFastSearch();\u003cbr /\u003e\r\n\u0026nbsp; if (p == FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Found a print match!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_PACKETRECIEVEERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_NOTFOUND) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Did not find a match\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return -1;\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; } \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // found a match!\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Found ID #\u0026quot;); Serial.print(finger.fingerID);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot; with confidence of \u0026quot;); Serial.println(finger.confidence);\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; return finger.fingerID;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Check if there a Fingerprint ID to delete******************\u003cbr /\u003e\r\nvoid ChecktoDeleteID(){\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Check to Delete ID\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; if(WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; HTTPClient http; \u0026nbsp; \u0026nbsp;//Declare object of class HTTPClient\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET Data\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; getData = \u0026quot;?DeleteID=check\u0026amp;device_token=\u0026quot; + String(device_token); // Add the Fingerprint ID to the Post array in order to send it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET methode\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Link = URL + getData;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.begin(Link); //initiate HTTP request,\u003cbr /\u003e\r\n// \u0026nbsp; \u0026nbsp;Serial.println(Link);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int httpCode = http.GET(); \u0026nbsp; //Send the request\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; String payload = http.getString(); \u0026nbsp; \u0026nbsp;//Get the response payload\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (payload.substring(0, 6) == \u0026quot;del-id\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; String del_id = payload.substring(6);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(del_id);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; deleteFingerprint( del_id.toInt() );\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Delete Finpgerprint ID*****************\u003cbr /\u003e\r\n\u0026nbsp;int deleteFingerprint( int id) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;int p = -1;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; p = finger.deleteModel(id);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; if (p == FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Deleted!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Deleted!\\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_PACKETRECIEVEERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Communication error!\\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_BADLOCATION) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Could not delete in that location\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Could not delete in that location!\\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_FLASHERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Error writing to flash\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Error writing to flash!\\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.print(\u0026quot;Unknown error: 0x\u0026quot;); Serial.println(p, HEX);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Unknown error:\\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Check if there a Fingerprint ID to add******************\u003cbr /\u003e\r\nvoid ChecktoAddID(){\u003cbr /\u003e\r\n// \u0026nbsp;Serial.println(\u0026quot;Check to Add ID\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; if(WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; HTTPClient http; \u0026nbsp; \u0026nbsp;//Declare object of class HTTPClient\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET Data\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; getData = \u0026quot;?Get_Fingerid=get_id\u0026amp;device_token=\u0026quot; + String(device_token); // Add the Fingerprint ID to the Post array in order to send it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET methode\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Link = URL + getData;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.begin(Link); //initiate HTTP request,\u003cbr /\u003e\r\n// \u0026nbsp; \u0026nbsp;Serial.println(Link);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int httpCode = http.GET(); \u0026nbsp; //Send the request\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; String payload = http.getString(); \u0026nbsp; \u0026nbsp;//Get the response payload\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (payload.substring(0, 6) == \u0026quot;add-id\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; String add_id = payload.substring(6);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(add_id);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; id = add_id.toInt();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; getFingerprintEnroll();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Check the Mode*****************\u003cbr /\u003e\r\nvoid CheckMode(){\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Check Mode\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; if(WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; HTTPClient http; \u0026nbsp; \u0026nbsp;//Declare object of class HTTPClient\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET Data\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; getData = \u0026quot;?Check_mode=get_mode\u0026amp;device_token=\u0026quot; + String(device_token); // Add the Fingerprint ID to the Post array in order to send it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET methode\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Link = URL + getData;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.begin(Link); //initiate HTTP request,\u003cbr /\u003e\r\n// \u0026nbsp; \u0026nbsp;Serial.println(Link);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int httpCode = http.GET(); \u0026nbsp; //Send the request\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; String payload = http.getString(); \u0026nbsp; \u0026nbsp;//Get the response payload\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (payload.substring(0, 4) == \u0026quot;mode\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; String dev_mode = payload.substring(4);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; int devMode = dev_mode.toInt();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if(!firstConnect){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; device_Mode = devMode;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; firstConnect = true;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n// \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.println(dev_mode);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if(device_Mode \u0026amp;\u0026amp; devMode){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; device_Mode = false;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; timer.disable(t1);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; timer.disable(t2);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Deivce Mode: Attandance\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if(!device_Mode \u0026amp;\u0026amp; !devMode){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; device_Mode = true;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; timer.enable(t1);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; timer.enable(t2);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Deivce Mode: Enrollment\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n// \u0026nbsp;Serial.print(\u0026quot;Number of Timers: \u0026quot;);\u003cbr /\u003e\r\n// \u0026nbsp;Serial.println(timer.getNumTimers());\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Enroll a Finpgerprint ID*****************\u003cbr /\u003e\r\n\u0026nbsp;int getFingerprintEnroll() {\u003cbr /\u003e\r\n\u0026nbsp; int p = -1;\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; display.drawBitmap( 34, 0, FinPr_scan_bits, FinPr_scan_width, FinPr_scan_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; while (p != FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; p = finger.getImage();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image taken\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_NOFINGER:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;.\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;scanning\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_invalid_bits, FinPr_invalid_width, FinPr_invalid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Imaging error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; // OK success!\u003cbr /\u003e\r\n\u0026nbsp; p = finger.image2Tz(1);\u003cbr /\u003e\r\n\u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEMESS:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_invalid_bits, FinPr_invalid_width, FinPr_invalid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_FEATUREFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_INVALIDIMAGE:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; display.print(F(\u0026quot;Remove\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(0,20);\u003cbr /\u003e\r\n\u0026nbsp; display.print(F(\u0026quot;finger\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; //Serial.println(\u0026quot;Remove finger\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\n\u0026nbsp; p = 0;\u003cbr /\u003e\r\n\u0026nbsp; while (p != FINGERPRINT_NOFINGER) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; p = finger.getImage();\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;ID \u0026quot;); Serial.println(id);\u003cbr /\u003e\r\n\u0026nbsp; p = -1;\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; display.drawBitmap( 34, 0, FinPr_scan_bits, FinPr_scan_width, FinPr_scan_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; while (p != FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; p = finger.getImage();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image taken\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_NOFINGER:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;.\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;scanning\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Imaging error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; // OK success!\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; p = finger.image2Tz(2);\u003cbr /\u003e\r\n\u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image converted\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEMESS:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image too messy\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_invalid_bits, FinPr_invalid_width, FinPr_invalid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_FEATUREFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_INVALIDIMAGE:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // OK converted!\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Creating model for #\u0026quot;); \u0026nbsp;Serial.println(id);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; p = finger.createModel();\u003cbr /\u003e\r\n\u0026nbsp; if (p == FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Prints matched!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_PACKETRECIEVEERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_ENROLLMISMATCH) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Fingerprints did not match\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_invalid_bits, FinPr_invalid_width, FinPr_invalid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;ID \u0026quot;); Serial.println(id);\u003cbr /\u003e\r\n\u0026nbsp; p = finger.storeModel(id);\u003cbr /\u003e\r\n\u0026nbsp; if (p == FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Stored!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; confirmAdding(id);\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_PACKETRECIEVEERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_BADLOCATION) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Could not store in that location\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_FLASHERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Error writing to flash\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Check if there a Fingerprint ID to add******************\u003cbr /\u003e\r\nvoid confirmAdding(int id){\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;confirm Adding\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; if(WiFi.status() == WL_CONNECTED){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; HTTPClient http; \u0026nbsp; \u0026nbsp;//Declare object of class HTTPClient\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET Data\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; getData = \u0026quot;?confirm_id=\u0026quot; + String(id) + \u0026quot;\u0026amp;device_token=\u0026quot; + String(device_token); // Add the Fingerprint ID to the Post array in order to send it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET methode\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Link = URL + getData;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.begin(Link); //initiate HTTP request,\u003cbr /\u003e\r\n// \u0026nbsp; \u0026nbsp;Serial.println(Link);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int httpCode = http.GET(); \u0026nbsp; //Send the request\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; String payload = http.getString(); \u0026nbsp; \u0026nbsp;//Get the response payload\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if(httpCode == 200){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(1.5); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(payload);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(payload);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delay(2000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; else{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Error Confirm!!\u0026quot;); \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//********************connect to the WiFi******************\u003cbr /\u003e\r\nvoid connectToWiFi(){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; WiFi.mode(WIFI_OFF); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;//Prevents reconnection issue (taking too long to connect)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; WiFi.mode(WIFI_STA);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.print(\u0026quot;Connecting to \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(ssid);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; WiFi.begin(ssid, password);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0, 0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Connecting to \\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0, 50); \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(ssid);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 73, 10, Wifi_start_bits, Wifi_start_width, Wifi_start_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; uint32_t periodToConnect = 30000L;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; for(uint32_t StartToConnect = millis(); (millis()-StartToConnect) \u0026lt; periodToConnect;){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if ( WiFi.status() != WL_CONNECTED ){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; delay(500);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.print(\u0026quot;.\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; } else{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if(WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Connected\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(8, 0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Connected \\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 33, 15, Wifi_connected_bits, Wifi_connected_width, Wifi_connected_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.print(\u0026quot;IP address: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(WiFi.localIP()); \u0026nbsp;//IP address assigned to your ESP\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; else{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Not Connected\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; WiFi.mode(WIFI_OFF);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//=======================================================================\u003c/div\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"biometric fingerprint attendance system\" src=\"https://blog.edafait.com/finger print/wemosd1.jpg\" style=\"height:281px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch1\u003e\u003cstrong\u003eSetting server Website:\u003c/strong\u003e\u003c/h1\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://www.apachefriends.org/download.html\" target=\"_blank\"\u003eDownload XAMPP server\u003c/a\u003e\u003cbr /\u003e\r\n\u003ca href=\"https://blog.edafait.com/finger print/biometricattendace.rar\"\u003eDownload Database files and website PHP pages\u0026nbsp;\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca id=\"Unlimited employees\" name=\"Unlimited employees\"\u003eUnlimited employee\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"Unlimited employee attendance system\" src=\"https://blog.edafait.com/finger print/EMPLOYEES.png\" style=\"height:281px; width:500px\" /\u003e\u003ca name=\"Unlimited employees\"\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u003ca id=\"Edit and Update the admin profile\" name=\"Edit and Update the admin profile\"\u003eEdit and Update the admin profile\u003c/a\u003e\u003ca name=\"Edit and Update the admin profile\"\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca name=\"Edit and Update the admin profile\"\u003e\u003c/a\u003e\u003cimg alt=\"Unlimited employee attendance system Admin profile\" src=\"https://blog.edafait.com/finger print/Admin.png\" style=\"height:281px; width:500px\" /\u003e\u003ca name=\"Edit and Update the admin profile\"\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u003ca id=\"View users\" name=\"View users\"\u003eView users\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"Unlimited employee attendance system \" src=\"https://blog.edafait.com/finger print/employers.png\" style=\"height:281px; width:500px\" /\u003e\u003ca name=\"View users\"\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u003ca id=\"attendance records reports.\" name=\"attendance records reports.\"\u003eattendance records reports.\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca name=\"attendance records reports.\"\u003e\u003c/a\u003e\u003cimg alt=\"Unlimited employee attendance system reports \" src=\"https://blog.edafait.com/finger print/filter.png\" style=\"height:281px; width:500px\" /\u003e\u003ca name=\"attendance records reports.\"\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u003ca id=\"Change the device mode\" name=\"Change the device mode\"\u003eChange the device mode\u003c/a\u003e\u003ca name=\"Change the device mode\"\u003e\u003c/a\u003e (Enrollment mode: to register new users to the system, Attendance Mode: To record attendance of registered users)\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"Unlimited employee attendance system reports \" src=\"https://blog.edafait.com/finger print/reports.png\" style=\"height:281px; width:500px\" /\u003e\u003c/p\u003e\r\n","Description_d":"\u003ch2\u003e\u003cstrong\u003eOverview\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cbr /\u003e\r\nThere are many methods to track the attendance of an individual. A few years ago, when Radio Frequency Identification (RFID) \u0026nbsp;Or fingerprint electronics were still in their adolescence stages, the time stamping technique was greatly followed. As software programming and technology progressed, especially in electronics, they gave way to a much more secure and reliable arrangement known as the fingerprint Attendance System.\u003cbr /\u003e\r\nThe fingerprint-based attendance system is developed using PHP, CSS, and Javascript working by WIFI. A fingerprint Attendance System Using NodeMCU is a modern attendance system. Hence, is a very interesting project. It can be useful in different places like schools, Colleges, industry, and private organizations to register the attendance of students, teachers, employees, etc. to tabulate monthly/daily working hours automatically. Us\u003c/p\u003e\r\n\r\n\u003cp\u003eThe fingerprint attendance system is developed with the IoT platform. We have used the NodeMCU ESP8266 development board with R307 and Oled display Module to send the card UID to the PHP Web app and store data in the website database. Basically, the admin plays an important role in the management of this system.\u003cbr /\u003e\r\nThe fingerprint attendance system is developed very easily setup on your server\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eSystem Specifications and Features\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003eUnlimited employees\u003cbr /\u003e\r\nAdmin Login/Logout System\u0026nbsp;\u003cbr /\u003e\r\nForgot the Password for the admin\u003cbr /\u003e\r\nEdit and Update the admin profile\u003cbr /\u003e\r\nView users\u003cbr /\u003e\r\nAdd New User\u003cbr /\u003e\r\nEdit and update the existing users\u003cbr /\u003e\r\nRemove Users\u003cbr /\u003e\r\nattendance records reports.\u003cbr /\u003e\r\nChange the device mode (Enrollment mode: to register new users to the system, Attendance Mode: To record attendance of registered users)\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cbr /\u003e\r\n\u003cstrong\u003eOLED Graphic Display\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"OLED Graphic Display \" src=\"https://blog.edafait.com/finger print/OLED-Graphic-Display.jpg\" style=\"height:500px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eOLED Graphic Display 128x64 Serial I2C 0.96 inch (Organic Light-Emitting Diode) have higher contrast than LCD display. Because the display makes its own light, no backlight is required (This reduces the power required to run the OLED and is why the display has such high contrast). \u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eThis OLED module is easy to use since it is connected to a microcontroller (Arduino) through I2C. It is covered by 128x64 pixels.\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003eOperating voltage: 3.3V-5V\u003cbr /\u003e\r\nResolution: 128x64\u003cbr /\u003e\r\nVisual Angle: \u0026gt;160\u0026deg;\u003cbr /\u003e\r\nInterface: I2C.\u003cbr /\u003e\r\nPixel Color: Blue\u003cbr /\u003e\r\nWorking temperature: -30\u0026deg;C ~ 70\u0026deg;C\u003cbr /\u003e\r\nModule size: 27.0 x 27.0 x 4.1mm\u003cbr /\u003e\r\nOLED driver IC: SSD1306\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eFingerprint Module R307\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"Fingerprint Module R307\" src=\"https://blog.edafait.com/finger print/Fingerprint-Module-R307.jpg\" style=\"height:281px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eR307 is an optical fingerprint verification module with a TTL interface. It consists of the optical fingerprint sensor, high-performance DSP processor, and Flash. It has many functions such as Fingerprint sensors, fingerprint verification, fingerprint upload, and download.\u003c/p\u003e\r\n\r\n\u003cp\u003eUsers can easily develop powerful fingerprint verification application systems based on the rich collection of controlling commands provided by the module. The R307 can be easily used with Arduino,esp8266, esp32, Tiva C, STM, and raspberry,.\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eSpecifications\u003c/p\u003e\r\n\r\n\u003cp\u003eOperating Voltage: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 4.2VDC\u0026nbsp; : 6VDC\u0026nbsp;\u003cbr /\u003e\r\nOperating Current: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026lt;50mA(Input voltage 5V)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;Search Time: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;1 second\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;Fingerprint image input time: \u0026lt;0.3 second\u0026nbsp;\u003cbr /\u003e\r\nWindow area: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 14 X 18 mm\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;User Storage Capacity: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; 1000 image\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;Interface Protocol: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Standard serial interface (TTL level)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;Communication Baud Rate: \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;57600 bps (Default Value)\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eCircuit Diagram: IOT Fingerprint Attendance System\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"Fingerprint Attendance System\" src=\"https://blog.edafait.com/finger print/R307.png\" style=\"height:412px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eNodeMCU ESP8266\u0026nbsp;/\u0026nbsp;OLED\u0026nbsp;Display\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch3\u003eD1 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; SDA\u003c/h3\u003e\r\n\r\n\u003ch3\u003eD2\u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; SCK\u003c/h3\u003e\r\n\r\n\u003ch3\u003eGND \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; GND\u003c/h3\u003e\r\n\r\n\u003ch3\u003e3V/3V3 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; 3.3V\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eNodeMCU ESP8266\u0026nbsp;/\u0026nbsp;Fingerprint Module R307\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch3\u003eD6 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; RX\u003c/h3\u003e\r\n\r\n\u003ch3\u003eD5\u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; TX\u003c/h3\u003e\r\n\r\n\u003ch3\u003eGND \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; GND\u003c/h3\u003e\r\n\r\n\u003ch3\u003e5V \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; 5V\u003c/h3\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eArduino IDE\u0026nbsp;libraries downloads\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/jfturcot/SimpleTimer\" target=\"_blank\"\u003e\u003cstrong\u003eSimpleTimer\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/adafruit/Adafruit-GFX-Library\" target=\"_blank\"\u003e\u003cstrong\u003eAdafruit_GFX\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/adafruit/Adafruit_SSD1306\" target=\"_blank\"\u003e\u003cstrong\u003eAdafruit_SSD1306\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library\" target=\"_blank\"\u003e\u003cstrong\u003eAdafruit_Fingerprint\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eArduino IDE Code\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e//NodeMCU--------------------------\u003cbr /\u003e\r\n#include \u0026lt;WiFiClient.h\u0026gt;\u0026nbsp;\u003cbr /\u003e\r\n#include \u0026lt;ESP8266WiFi.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;SoftwareSerial.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;ESP8266HTTPClient.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;SimpleTimer.h\u0026gt; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; //https://github.com/jfturcot/SimpleTimer\u003cbr /\u003e\r\n//OLED-----------------------------\u003cbr /\u003e\r\n#include \u0026lt;SPI.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Wire.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_GFX.h\u0026gt; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;//https://github.com/adafruit/Adafruit-GFX-Library\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_SSD1306.h\u0026gt; \u0026nbsp; \u0026nbsp; \u0026nbsp;//https://github.com/adafruit/Adafruit_SSD1306\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_Fingerprint.h\u0026gt; \u0026nbsp;//https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\n//Fingerprint scanner Pins\u003cbr /\u003e\r\n#define Finger_Rx 14 //D5\u003cbr /\u003e\r\n#define Finger_Tx 12 //D6\u003cbr /\u003e\r\n#define led_blue 13 //D8\u003cbr /\u003e\r\n#define led_green 15 //D7\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n// Declaration for SSD1306 display connected using software I2C pins are(22 SCL, 21 SDA)\u003cbr /\u003e\r\n#define SCREEN_WIDTH 128 // OLED display width, in pixels\u003cbr /\u003e\r\n#define SCREEN_HEIGHT 64 // OLED display height, in pixels\u003cbr /\u003e\r\n#define OLED_RESET \u0026nbsp; \u0026nbsp; 0 // Reset pin # (or -1 if sharing Arduino reset pin)\u003cbr /\u003e\r\nAdafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, \u0026amp;Wire, OLED_RESET);\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nSimpleTimer timer;\u003cbr /\u003e\r\nSoftwareSerial mySerial(Finger_Rx, Finger_Tx);\u003cbr /\u003e\r\nAdafruit_Fingerprint finger = Adafruit_Fingerprint(\u0026amp;mySerial);\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\n/* Set these to your desired credentials. */\u003cbr /\u003e\r\nconst char *ssid = \u0026quot;domy3\u0026quot;;\u003cbr /\u003e\r\nconst char *password = \u0026quot;egsmile010\u0026quot;;\u003cbr /\u003e\r\nconst char* device_token \u0026nbsp;= \u0026quot;edafait\u0026quot;;\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nString getData, Link;\u003cbr /\u003e\r\nString URL = \u0026quot;http://192.168.1.5:8081/biometricattendace/getdata.php\u0026quot;; //computer IP or the server domain\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nint FingerID = 0, t1, t2; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// The Fingerprint ID from the scanner\u0026nbsp;\u003cbr /\u003e\r\nbool device_Mode = false; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Default Mode Enrollment\u003cbr /\u003e\r\nbool firstConnect = false;\u003cbr /\u003e\r\n\u0026nbsp;int id;\u003cbr /\u003e\r\nunsigned long previousMillis = 0;\u003cbr /\u003e\r\n//*************************Biometric Icons*********************************\u003cbr /\u003e\r\n#define Wifi_start_width 54\u003cbr /\u003e\r\n#define Wifi_start_height 49\u003cbr /\u003e\r\nconst uint8_t PROGMEM Wifi_start_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xf0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xff,0xff,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xf0,0x1f,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x7e,0x00,0x00,0xfc,0x00,0x00\u003cbr /\u003e\r\n,0x01,0xf0,0x00,0x00,0x1f,0x00,0x00\u003cbr /\u003e\r\n,0x03,0xc0,0x00,0x00,0x07,0xc0,0x00\u003cbr /\u003e\r\n,0x0f,0x00,0x00,0x00,0x01,0xe0,0x00\u003cbr /\u003e\r\n,0x1c,0x00,0x00,0x00,0x00,0x70,0x00\u003cbr /\u003e\r\n,0x38,0x00,0x07,0xc0,0x00,0x38,0x00\u003cbr /\u003e\r\n,0x70,0x00,0xff,0xfe,0x00,0x1e,0x00\u003cbr /\u003e\r\n,0xe0,0x03,0xfc,0x7f,0xc0,0x0e,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0x80,0x03,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x00,0x00,0x78,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xf0,0x00,0x00,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x01,0xe0,0x00,0x00,0x0c,0x00,0x00\u003cbr /\u003e\r\n,0x03,0x80,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x03,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xf8,0x07,0x1e,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xff,0xfe,0x1f,0xbf,0x80\u003cbr /\u003e\r\n,0x00,0x03,0xe0,0x04,0x7f,0xff,0xc0\u003cbr /\u003e\r\n,0x00,0x07,0x80,0x00,0xff,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x0e,0x00,0x00,0xff,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x0c,0x00,0x00,0x7f,0xff,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0xfe,0x07,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x03,0xf8,0x03,0xf8\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xe7,0xf9,0xf1,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xe7,0xf1,0xf9,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xe7,0xf3,0xf9,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xe7,0xf3,0xf9,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xe7,0xf1,0xf1,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xe3,0xf8,0xe3,0xfc\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xf3,0xfc,0x07,0xf8\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xf0,0x7f,0x0f,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0xe0,0x7f,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xc0,0xff,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x7f,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x3f,0xff,0x80\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x1f,0xbf,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x03,0x18,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n#define Wifi_connected_width 63\u003cbr /\u003e\r\n#define Wifi_connected_height 49\u003cbr /\u003e\r\nconst uint8_t PROGMEM Wifi_connected_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xff,0xff,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xff,0xff,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xff,0xff,0xff,0xff,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0xff,0xff,0xff,0xff,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x3f,0xff,0xc0,0x07,0xff,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0xff,0xf8,0x00,0x00,0x3f,0xfe,0x00\u003cbr /\u003e\r\n,0x03,0xff,0x80,0x00,0x00,0x03,0xff,0x80\u003cbr /\u003e\r\n,0x07,0xfe,0x00,0x00,0x00,0x00,0xff,0xc0\u003cbr /\u003e\r\n,0x1f,0xf8,0x00,0x00,0x00,0x00,0x3f,0xf0\u003cbr /\u003e\r\n,0x3f,0xe0,0x01,0xff,0xff,0x00,0x0f,0xf8\u003cbr /\u003e\r\n,0x7f,0x80,0x0f,0xff,0xff,0xe0,0x03,0xfc\u003cbr /\u003e\r\n,0xff,0x00,0x7f,0xff,0xff,0xfc,0x01,0xfe\u003cbr /\u003e\r\n,0xfc,0x01,0xff,0xff,0xff,0xff,0x00,0x7e\u003cbr /\u003e\r\n,0x78,0x07,0xff,0xc0,0x07,0xff,0xc0,0x3c\u003cbr /\u003e\r\n,0x00,0x0f,0xfc,0x00,0x00,0x7f,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xf0,0x00,0x00,0x1f,0xf0,0x00\u003cbr /\u003e\r\n,0x00,0x3f,0xc0,0x00,0x00,0x07,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0x7f,0x00,0x01,0x00,0x01,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x7e,0x00,0x7f,0xfc,0x00,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x03,0xff,0xff,0x80,0x78,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xff,0xff,0xc0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xff,0xff,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0xf0,0x1f,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x80,0x03,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x00,0x01,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1c,0x00,0x00,0x70,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x0f,0xe0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x1f,0xf0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x3f,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x3f,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x3f,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x3f,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x1f,0xf0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x0f,0xe0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n#define FinPr_start_width 64\u003cbr /\u003e\r\n#define FinPr_start_height 64\u003cbr /\u003e\r\nconst uint8_t PROGMEM FinPr_start_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x00,0x1f,0xe0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xff,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xff,0xff,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0xc0,0x0f,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0x00,0x01,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3c,0x00,0x00,0x7c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x78,0x00,0x00,0x3e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf0,0x3f,0xf8,0x0f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xe0,0xff,0xfe,0x07,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xc3,0xff,0xff,0x03,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x03,0x87,0xc0,0x07,0xc3,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x07,0x0f,0x00,0x03,0xe1,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x0e,0x00,0x00,0xe0,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x0e,0x1c,0x00,0x00,0xf0,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x0c,0x3c,0x1f,0xe0,0x70,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x38,0x3f,0xf0,0x38,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x78,0x78,0xf8,0x38,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x70,0x70,0x3c,0x18,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xe0,0xe0,0x1e,0x1c,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xe1,0xe0,0x0e,0x1c,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0xc1,0xc3,0x0e,0x1c,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x3f,0x03,0xc3,0x8e,0x1c,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x3e,0x03,0x87,0x0e,0x1c,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x30,0x07,0x07,0x0e,0x18,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0e,0x0e,0x0e,0x38,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3e,0x1e,0x1e,0x38,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf8,0x1c,0x1c,0x38,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf0,0x38,0x3c,0x38,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x3f,0xc0,0xf8,0x78,0x38,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x7f,0x01,0xf0,0x70,0x38,0xf0,0x00\u003cbr /\u003e\r\n,0x00,0x78,0x03,0xe0,0xe0,0x38,0x70,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0x81,0xe0,0x38,0x7c,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x03,0xc0,0x38,0x3e,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x0f,0x80,0x38,0x1e,0x00\u003cbr /\u003e\r\n,0x00,0x07,0xf0,0x1f,0x1c,0x1c,0x04,0x00\u003cbr /\u003e\r\n,0x00,0x3f,0xc0,0x3e,0x3f,0x1e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x7f,0x00,0xf8,0x7f,0x0f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x38,0x01,0xf0,0xf7,0x07,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xe1,0xe3,0x83,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x87,0xc3,0xc0,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xfe,0x0f,0x81,0xe0,0x3c,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0xf8,0x1f,0x00,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xc0,0x7c,0x00,0x7c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1e,0x01,0xf8,0x00,0x3f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xe0,0x78,0x0f,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x81,0xfe,0x07,0xf0,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xfe,0x07,0xff,0x01,0xf0,0x00\u003cbr /\u003e\r\n,0x00,0x07,0xf8,0x0f,0x87,0x80,0x30,0x00\u003cbr /\u003e\r\n,0x00,0x07,0xc0,0x3f,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x06,0x00,0xfc,0x01,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xf0,0x00,0x7e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0xc0,0x00,0x3f,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x7f,0x00,0xf8,0x0f,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x03,0xfe,0x01,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf0,0x1f,0xff,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x7f,0x07,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0xfc,0x03,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xf0,0x00,0x78,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0xc0,0x00,0x18,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0x01,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x07,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x1f,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x1e,0x0e,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n//---------------------------------------------------------------\u003cbr /\u003e\r\n#define FinPr_valid_width 64\u003cbr /\u003e\r\n#define FinPr_valid_height 64\u003cbr /\u003e\r\nconst uint8_t PROGMEM FinPr_valid_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x03,0xfe,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xff,0xe0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x7f,0xff,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x00,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xe0,0x00,0x1f,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x07,0xc0,0x00,0x07,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x80,0x00,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0e,0x03,0xff,0x01,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1c,0x1f,0xff,0xe0,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x3f,0xff,0xf0,0x78,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x78,0x7c,0x00,0xf8,0x3c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x70,0xf0,0x00,0x3c,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xe1,0xe0,0x00,0x1e,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xe1,0xc0,0x00,0x0f,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xc3,0x81,0xfc,0x07,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0x83,0xff,0x07,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x07,0x07,0x8f,0x83,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x0f,0x03,0xc3,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1e,0x0e,0x01,0xc3,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x1c,0x00,0xe1,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xf8,0x1c,0x30,0xe1,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xf0,0x38,0x70,0xe1,0x86,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xc0,0x78,0x70,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x02,0x00,0xf0,0xf0,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xe0,0xe0,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xc1,0xe1,0xc3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x83,0xc3,0xc3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x7f,0x07,0x83,0x83,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xfc,0x0f,0x07,0x83,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xf0,0x1e,0x0f,0x03,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0x80,0x7c,0x1e,0x03,0x07,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf8,0x3c,0x03,0x87,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf0,0x78,0x03,0x83,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xc0,0xf0,0x02,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xff,0x01,0xe1,0xc0,0x0c,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xfc,0x03,0xc3,0xe1,0xff,0xc0,0x00\u003cbr /\u003e\r\n,0x07,0xe0,0x0f,0x87,0xc7,0xff,0xf0,0x00\u003cbr /\u003e\r\n,0x07,0x00,0x3f,0x0f,0x0f,0xff,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x7c,0x3e,0x3f,0xff,0xfe,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf8,0x7c,0x3f,0xff,0xff,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xe0,0xf0,0x7f,0xff,0xff,0x80\u003cbr /\u003e\r\n,0x00,0xff,0x83,0xe0,0xff,0xff,0xff,0x80\u003cbr /\u003e\r\n,0x01,0xfc,0x07,0xc1,0xff,0xff,0xe3,0xc0\u003cbr /\u003e\r\n,0x01,0xe0,0x1f,0x01,0xff,0xff,0xc3,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0xfe,0x01,0xff,0xff,0x87,0xe0\u003cbr /\u003e\r\n,0x00,0x03,0xf8,0x13,0xff,0xff,0x0f,0xe0\u003cbr /\u003e\r\n,0x00,0x1f,0xe0,0x73,0xff,0xfe,0x1f,0xe0\u003cbr /\u003e\r\n,0x00,0x7f,0x81,0xf3,0xff,0xfc,0x1f,0xe0\u003cbr /\u003e\r\n,0x00,0xfc,0x03,0xe3,0xef,0xf8,0x3f,0xe0\u003cbr /\u003e\r\n,0x00,0x60,0x0f,0xc3,0xc7,0xf0,0x7f,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x03,0xc3,0xe0,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x03,0xc1,0xc1,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x07,0xf0,0x13,0xe0,0x83,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x0f,0xc0,0x7b,0xf8,0x07,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x0f,0x01,0xf9,0xfc,0x0f,0xff,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xf1,0xfe,0x1f,0xff,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xc0,0xff,0x3f,0xff,0x80\u003cbr /\u003e\r\n,0x00,0x00,0x7e,0x00,0xff,0xff,0xff,0x80\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x00,0x7f,0xff,0xff,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf0,0x1f,0x3f,0xff,0xfe,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x7f,0x1f,0xff,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xff,0x8f,0xff,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xe0,0xe3,0xff,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0x80,0x00,0x7f,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n//---------------------------------------------------------------\u003cbr /\u003e\r\n#define FinPr_invalid_width 64\u003cbr /\u003e\r\n#define FinPr_invalid_height 64\u003cbr /\u003e\r\nconst uint8_t PROGMEM FinPr_invalid_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x03,0xfe,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xff,0xe0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x7f,0xff,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x00,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xe0,0x00,0x1f,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x07,0xc0,0x00,0x07,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x80,0x00,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0e,0x03,0xff,0x01,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1c,0x1f,0xff,0xe0,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x3f,0xff,0xf0,0x78,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x78,0x7c,0x00,0xf8,0x3c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x70,0xf0,0x00,0x3c,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xe1,0xe0,0x00,0x1e,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xe1,0xc0,0x00,0x0f,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xc3,0x81,0xfc,0x07,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0x83,0xff,0x07,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x07,0x07,0x8f,0x83,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x0f,0x03,0xc3,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1e,0x0e,0x01,0xc3,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x3c,0x1c,0x00,0xe1,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xf8,0x1c,0x30,0xe1,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xf0,0x38,0x70,0xe1,0x86,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xc0,0x78,0x70,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x02,0x00,0xf0,0xf0,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xe0,0xe0,0xe3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xc1,0xe1,0xc3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0x83,0xc3,0xc3,0x8e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x7f,0x07,0x83,0x83,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xfc,0x0f,0x07,0x83,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xf0,0x1e,0x0f,0x03,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x07,0x80,0x7c,0x1e,0x03,0x07,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf8,0x3c,0x03,0x87,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf0,0x78,0x03,0x83,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xc0,0xf0,0x02,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xff,0x01,0xe1,0xc0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x07,0xfc,0x03,0xc3,0xe1,0xff,0xc0,0x00\u003cbr /\u003e\r\n,0x07,0xe0,0x0f,0x87,0xc7,0xff,0xf0,0x00\u003cbr /\u003e\r\n,0x07,0x00,0x3f,0x0f,0x0f,0xff,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x7c,0x3e,0x1f,0xff,0xfe,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf8,0x7c,0x3f,0xff,0xff,0x00\u003cbr /\u003e\r\n,0x00,0x1f,0xe0,0xf0,0x7f,0xff,0xff,0x00\u003cbr /\u003e\r\n,0x00,0xff,0x83,0xe0,0xfe,0xff,0xbf,0x80\u003cbr /\u003e\r\n,0x01,0xfc,0x07,0xc0,0xfc,0x7f,0x1f,0xc0\u003cbr /\u003e\r\n,0x01,0xe0,0x1f,0x01,0xf8,0x3e,0x0f,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0xfe,0x01,0xf8,0x1c,0x07,0xe0\u003cbr /\u003e\r\n,0x00,0x03,0xf8,0x13,0xf8,0x00,0x0f,0xe0\u003cbr /\u003e\r\n,0x00,0x1f,0xe0,0x73,0xfc,0x00,0x1f,0xe0\u003cbr /\u003e\r\n,0x00,0x7f,0x81,0xf3,0xfe,0x00,0x3f,0xe0\u003cbr /\u003e\r\n,0x00,0xfc,0x03,0xe3,0xff,0x00,0x7f,0xe0\u003cbr /\u003e\r\n,0x00,0x60,0x0f,0xc3,0xff,0x80,0xff,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x03,0xff,0x00,0x7f,0xe0\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x03,0xfe,0x00,0x3f,0xe0\u003cbr /\u003e\r\n,0x00,0x07,0xf0,0x13,0xfc,0x00,0x1f,0xe0\u003cbr /\u003e\r\n,0x00,0x0f,0xc0,0x79,0xf8,0x08,0x0f,0xe0\u003cbr /\u003e\r\n,0x00,0x0f,0x01,0xf9,0xf8,0x1c,0x0f,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xf1,0xfc,0x3e,0x1f,0xc0\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0xc0,0xfe,0x7f,0x3f,0x80\u003cbr /\u003e\r\n,0x00,0x00,0x7e,0x00,0xff,0xff,0xff,0x80\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x00,0x7f,0xff,0xff,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xf0,0x1f,0x3f,0xff,0xfe,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x7f,0x1f,0xff,0xfc,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xff,0x8f,0xff,0xf8,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xe0,0xe3,0xff,0xe0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0x80,0x00,0x7f,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n//---------------------------------------------------------------\u003cbr /\u003e\r\n#define FinPr_failed_width 64\u003cbr /\u003e\r\n#define FinPr_failed_height 64\u003cbr /\u003e\r\nconst uint8_t PROGMEM FinPr_failed_bits = {\u003cbr /\u003e\r\n0x00,0x00,0x3f,0xe0,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xff,0xfe,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x0f,0xc0,0x1f,0x80,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x1e,0x00,0x03,0xc0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x78,0x00,0x00,0xf0,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0xe0,0x00,0x00,0x38,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x01,0xc0,0x00,0x00,0x1c,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x03,0x80,0x00,0x00,0x0e,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x07,0x00,0x7f,0xe0,0x07,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x06,0x01,0xff,0xf8,0x03,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x0c,0x03,0xc0,0x3c,0x03,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x1c,0x0f,0x00,0x0e,0x01,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x18,0x0c,0x00,0x03,0x00,0xc0,0x00,0x00\u003cbr /\u003e\r\n,0x18,0x18,0x00,0x01,0x80,0xc0,0x00,0x00\u003cbr /\u003e\r\n,0x30,0x38,0x00,0x01,0xc0,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x30,0x30,0x0f,0x00,0xc0,0x60,0x00,0x00\u003cbr /\u003e\r\n,0x30,0x30,0x3f,0xc0,0xe0,0x60,0x00,0x00\u003cbr /\u003e\r\n,0x70,0x60,0x78,0xe0,0x60,0x60,0x00,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x60,0x60,0x70,0x00,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x60,0x60,0x30,0x00,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x60,0x30,0x30,0x00,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x30,0x20,0x00,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x30,0x01,0xe0,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x30,0x0f,0xfc,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x30,0x3f,0xff,0x00\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x18,0x78,0x03,0x80\u003cbr /\u003e\r\n,0x60,0x60,0x60,0x30,0x1c,0x60,0x01,0x80\u003cbr /\u003e\r\n,0x60,0x60,0x30,0x38,0x0c,0xc0,0x00,0xc0\u003cbr /\u003e\r\n,0x00,0x60,0x30,0x18,0x00,0xc0,0x00,0xc0\u003cbr /\u003e\r\n,0x00,0x60,0x30,0x18,0x00,0xc0,0x00,0xc0\u003cbr /\u003e\r\n,0x00,0xe0,0x30,0x0c,0x01,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x00,0xc0,0x18,0x0e,0x01,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x60,0xc0,0x18,0x07,0x01,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x01,0xc0,0x1c,0x03,0x81,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x01,0x80,0x0c,0x01,0xc1,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x03,0x80,0x0e,0x00,0xf1,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x0f,0x00,0x06,0x00,0x01,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x3e,0x01,0x03,0x00,0x01,0xc0,0x00,0xe0\u003cbr /\u003e\r\n,0x30,0x03,0x83,0x80,0x1f,0xff,0xff,0xfe\u003cbr /\u003e\r\n,0x00,0x03,0x81,0xc0,0x3f,0xff,0xff,0xff\u003cbr /\u003e\r\n,0x00,0x07,0xc0,0xe0,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x0e,0xc0,0x78,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x3c,0x60,0x1e,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x78,0x70,0x0f,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x03,0xe0,0x38,0x03,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x07,0x80,0x1c,0x00,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0xc0,0x00,0x0f,0x00,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0xc0,0x00,0x03,0x80,0x30,0x01,0xe0,0x03\u003cbr /\u003e\r\n,0x00,0x18,0x01,0xe0,0x30,0x03,0xf0,0x03\u003cbr /\u003e\r\n,0x00,0x18,0x00,0x7c,0x30,0x07,0x38,0x03\u003cbr /\u003e\r\n,0x00,0x0c,0x00,0x1f,0x30,0x06,0x18,0x03\u003cbr /\u003e\r\n,0x18,0x0e,0x00,0x07,0x30,0x06,0x18,0x03\u003cbr /\u003e\r\n,0x0c,0x07,0x80,0x00,0x30,0x07,0x38,0x03\u003cbr /\u003e\r\n,0x0e,0x03,0xc0,0x00,0x30,0x03,0x30,0x03\u003cbr /\u003e\r\n,0x07,0x00,0xf0,0x00,0x30,0x03,0x30,0x03\u003cbr /\u003e\r\n,0x03,0x00,0x7e,0x00,0x30,0x03,0x30,0x03\u003cbr /\u003e\r\n,0x01,0x80,0x1f,0xc0,0x30,0x03,0x30,0x03\u003cbr /\u003e\r\n,0x01,0xc0,0x03,0xe1,0x30,0x07,0xf8,0x03\u003cbr /\u003e\r\n,0x00,0xf0,0x00,0x01,0x30,0x03,0xf0,0x03\u003cbr /\u003e\r\n,0x00,0x38,0x00,0x00,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x1e,0x00,0x00,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x07,0xc0,0x00,0x30,0x00,0x00,0x03\u003cbr /\u003e\r\n,0x00,0x01,0xff,0x80,0x3f,0xff,0xff,0xff\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x80,0x1f,0xff,0xff,0xfe\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n//---------------------------------------------------------------\u003cbr /\u003e\r\n#define FinPr_scan_width 64\u003cbr /\u003e\r\n#define FinPr_scan_height 64\u003cbr /\u003e\r\nconst uint8_t PROGMEM FinPr_scan_bits = {\u003cbr /\u003e\r\n\u0026nbsp; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x1f,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x7f,0xff,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xfc,0x7f,0xc0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xc0,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0x80,0x00,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0e,0x00,0x00,0x3c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1c,0x1f,0xfc,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x38,0x7f,0xfe,0x0e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x78,0xf8,0x0f,0x87,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x71,0xe0,0x03,0xc7,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xe3,0x80,0x01,0xc3,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xc3,0x83,0xc0,0xe3,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xc7,0x0f,0xf0,0x71,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x06,0x1f,0xf8,0x71,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0e,0x1c,0x3c,0x31,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1c,0x38,0x1c,0x31,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x38,0x70,0x0e,0x39,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xf0,0x71,0x8e,0x39,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xe0,0xe1,0x86,0x31,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x03,0x81,0xe3,0x8e,0x31,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x03,0xc3,0x8e,0x33,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0x87,0x0c,0x73,0x80,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0x0e,0x1c,0x73,0x80,0x00\u003cbr /\u003e\r\n,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe\u003cbr /\u003e\r\n,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff\u003cbr /\u003e\r\n,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff\u003cbr /\u003e\r\n,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xfe\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0xf0,0x1e,0x3e,0x1c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x03,0x80,0x7c,0x77,0x0f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xf0,0xe3,0x07,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xe3,0xc3,0x81,0xf0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x87,0x81,0xc0,0x60,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xfc,0x1f,0x00,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x01,0xe0,0x3c,0x00,0x7c,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0xf8,0x78,0x1f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x07,0xe0,0xfc,0x0f,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x3f,0x83,0xef,0x03,0xc0,0x00\u003cbr /\u003e\r\n,0x00,0x00,0xfc,0x0f,0x87,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x70,0x1f,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x7c,0x00,0xf8,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xf0,0x00,0x3e,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0f,0xc0,0xf8,0x0f,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x1f,0x03,0xfe,0x02,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x0c,0x0f,0x8f,0x80,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x3f,0x03,0xe0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0xf8,0x00,0xf0,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xe0,0x00,0x30,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x01,0xc0,0xf8,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x07,0xfe,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x0f,0x8e,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\u003cbr /\u003e\r\n};\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;pinMode(led_blue, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(led_green, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; //-----------initiate OLED display-------------\u003cbr /\u003e\r\n\u0026nbsp; if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(F(\u0026quot;SSD1306 allocation failed\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; for(;;); // Don\u0026#39;t proceed, loop forever\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; // you can delet these three lines if you don\u0026#39;t want to get the Adfruit logo appear\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000); // Pause for 2 seconds\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; connectToWiFi();\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; // Set the data rate for the sensor serial port\u003cbr /\u003e\r\n\u0026nbsp; finger.begin(57600);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;\\n\\nAdafruit finger detect test\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; if (finger.verifyPassword()) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Found fingerprint sensor!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Did not find fingerprint sensor :(\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 32, 0, FinPr_failed_bits, FinPr_failed_width, FinPr_failed_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; while (1) { delay(1); }\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; finger.getTemplateCount();\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Sensor contains \u0026quot;); Serial.print(finger.templateCount); Serial.println(\u0026quot; templates\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Waiting for valid finger...\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; //Timers---------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; timer.setInterval(25000L, CheckMode);\u003cbr /\u003e\r\n\u0026nbsp; t1 = timer.setInterval(10000L, ChecktoAddID); \u0026nbsp; \u0026nbsp; \u0026nbsp;//Set an internal timer every 10sec to check if there a new fingerprint in the website to add it.\u003cbr /\u003e\r\n\u0026nbsp; t2 = timer.setInterval(15000L, ChecktoDeleteID); \u0026nbsp; //Set an internal timer every 15sec to check wheater there an ID to delete in the website.\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; CheckMode();\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; timer.run(); \u0026nbsp; \u0026nbsp; \u0026nbsp;//Keep the timer in the loop function in order to update the time as soon as possible\u003cbr /\u003e\r\n\u0026nbsp; //check if there\u0026#39;s a connection to Wi-Fi or not\u003cbr /\u003e\r\n\u0026nbsp; if(!WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (millis() - previousMillis \u0026gt;= 10000) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; previousMillis = millis();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; connectToWiFi(); \u0026nbsp; \u0026nbsp;//Retry to connect to Wi-Fi\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; CheckFingerprint(); \u0026nbsp; //Check the sensor if the there a finger.\u003cbr /\u003e\r\n\u0026nbsp; delay(10);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//************************************************************************\u003cbr /\u003e\r\nvoid CheckFingerprint(){\u003cbr /\u003e\r\n// \u0026nbsp;unsigned long previousMillisM = millis();\u003cbr /\u003e\r\n// \u0026nbsp;Serial.println(previousMillisM);\u003cbr /\u003e\r\n\u0026nbsp; // If there no fingerprint has been scanned return -1 or -2 if there an error or 0 if there nothing, The ID start form 1 to 127\u003cbr /\u003e\r\n\u0026nbsp; // Get the Fingerprint ID from the Scanner\u003cbr /\u003e\r\n\u0026nbsp; FingerID = getFingerprintID();\u003cbr /\u003e\r\n\u0026nbsp; DisplayFingerprintID();\u003cbr /\u003e\r\n// \u0026nbsp;Serial.println(millis() - previousMillisM);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//************Display the fingerprint ID state on the OLED*************\u003cbr /\u003e\r\nvoid DisplayFingerprintID(){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.println(FingerID);\u003cbr /\u003e\r\n\u0026nbsp; //Fingerprint has been detected\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if (FingerID \u0026gt; 0){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; SendFingerprintID( FingerID ); // Send the Fingerprint ID to the website.\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(2000);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; //No finger detected\u003cbr /\u003e\r\n\u0026nbsp; else if (FingerID == 0){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 32, 0, FinPr_start_bits, FinPr_start_width, FinPr_start_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; //Didn\u0026#39;t find a match\u003cbr /\u003e\r\n\u0026nbsp; else if (FingerID == -1){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_invalid_bits, FinPr_invalid_width, FinPr_invalid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; //---------------------------------------------\u003cbr /\u003e\r\n\u0026nbsp; //Didn\u0026#39;t find the scanner or there an error\u003cbr /\u003e\r\n\u0026nbsp; else if (FingerID == -2){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 32, 0, FinPr_failed_bits, FinPr_failed_width, FinPr_failed_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//************send the fingerprint ID to the website*************\u003cbr /\u003e\r\nvoid SendFingerprintID( int finger ){\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Sending the Fingerprint ID\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; if(WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; HTTPClient http; \u0026nbsp; \u0026nbsp;//Declare object of class HTTPClient\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET Data\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; getData = \u0026quot;?FingerID=\u0026quot; + String(finger) + \u0026quot;\u0026amp;device_token=\u0026quot; + device_token; // Add the Fingerprint ID to the Post array in order to send it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET methode\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Link = URL + getData;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.begin(Link); //initiate HTTP request \u0026nbsp; //Specify content-type header\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int httpCode = http.GET(); \u0026nbsp; //Send the request\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; String payload = http.getString(); \u0026nbsp; \u0026nbsp;//Get the response payload\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(httpCode); \u0026nbsp; //Print HTTP return code\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(payload); \u0026nbsp; \u0026nbsp;//Print request response payload\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(finger); \u0026nbsp; \u0026nbsp; //Print fingerprint ID\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (payload.substring(0, 5) == \u0026quot;login\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; String user_name = payload.substring(5);\u003cbr /\u003e\r\n\u0026nbsp; // \u0026nbsp;Serial.println(user_name);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(led_blue, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(led_green,HIGH );\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(15,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Welcome\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(0,20);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(user_name);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; else if (payload.substring(0, 6) == \u0026quot;logout\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; String user_name = payload.substring(6);\u003cbr /\u003e\r\n\u0026nbsp; // \u0026nbsp;Serial.println(user_name);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; pinMode(led_blue, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(led_green,HIGH );\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(10,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Good Bye\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(0,20);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(user_name);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(10);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//********************Get the Fingerprint ID******************\u003cbr /\u003e\r\nint \u0026nbsp;getFingerprintID() {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;int \u0026nbsp;p = finger.getImage();\u003cbr /\u003e\r\n\u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image taken\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_NOFINGER:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;No finger detected\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return 0;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Imaging error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; // OK success!\u003cbr /\u003e\r\n\u0026nbsp; p = finger.image2Tz();\u003cbr /\u003e\r\n\u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image converted\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEMESS:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image too messy\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -1;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_FEATUREFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_INVALIDIMAGE:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; // OK converted!\u003cbr /\u003e\r\n\u0026nbsp; p = finger.fingerFastSearch();\u003cbr /\u003e\r\n\u0026nbsp; if (p == FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Found a print match!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_PACKETRECIEVEERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_NOTFOUND) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Did not find a match\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return -1;\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return -2;\u003cbr /\u003e\r\n\u0026nbsp; } \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // found a match!\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Found ID #\u0026quot;); Serial.print(finger.fingerID);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot; with confidence of \u0026quot;); Serial.println(finger.confidence);\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; return finger.fingerID;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Check if there a Fingerprint ID to delete******************\u003cbr /\u003e\r\nvoid ChecktoDeleteID(){\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Check to Delete ID\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; if(WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; HTTPClient http; \u0026nbsp; \u0026nbsp;//Declare object of class HTTPClient\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET Data\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; getData = \u0026quot;?DeleteID=check\u0026amp;device_token=\u0026quot; + String(device_token); // Add the Fingerprint ID to the Post array in order to send it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET methode\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Link = URL + getData;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.begin(Link); //initiate HTTP request,\u003cbr /\u003e\r\n// \u0026nbsp; \u0026nbsp;Serial.println(Link);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int httpCode = http.GET(); \u0026nbsp; //Send the request\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; String payload = http.getString(); \u0026nbsp; \u0026nbsp;//Get the response payload\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (payload.substring(0, 6) == \u0026quot;del-id\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; String del_id = payload.substring(6);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(del_id);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; deleteFingerprint( del_id.toInt() );\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Delete Finpgerprint ID*****************\u003cbr /\u003e\r\n\u0026nbsp;int deleteFingerprint( int id) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;int p = -1;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; p = finger.deleteModel(id);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; if (p == FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Deleted!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Deleted!\\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_PACKETRECIEVEERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Communication error!\\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_BADLOCATION) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Could not delete in that location\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Could not delete in that location!\\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_FLASHERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Error writing to flash\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Error writing to flash!\\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //Serial.print(\u0026quot;Unknown error: 0x\u0026quot;); Serial.println(p, HEX);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Unknown error:\\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Check if there a Fingerprint ID to add******************\u003cbr /\u003e\r\nvoid ChecktoAddID(){\u003cbr /\u003e\r\n// \u0026nbsp;Serial.println(\u0026quot;Check to Add ID\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; if(WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; HTTPClient http; \u0026nbsp; \u0026nbsp;//Declare object of class HTTPClient\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET Data\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; getData = \u0026quot;?Get_Fingerid=get_id\u0026amp;device_token=\u0026quot; + String(device_token); // Add the Fingerprint ID to the Post array in order to send it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET methode\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Link = URL + getData;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.begin(Link); //initiate HTTP request,\u003cbr /\u003e\r\n// \u0026nbsp; \u0026nbsp;Serial.println(Link);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int httpCode = http.GET(); \u0026nbsp; //Send the request\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; String payload = http.getString(); \u0026nbsp; \u0026nbsp;//Get the response payload\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (payload.substring(0, 6) == \u0026quot;add-id\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; String add_id = payload.substring(6);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(add_id);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; id = add_id.toInt();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; getFingerprintEnroll();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Check the Mode*****************\u003cbr /\u003e\r\nvoid CheckMode(){\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Check Mode\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; if(WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; HTTPClient http; \u0026nbsp; \u0026nbsp;//Declare object of class HTTPClient\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET Data\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; getData = \u0026quot;?Check_mode=get_mode\u0026amp;device_token=\u0026quot; + String(device_token); // Add the Fingerprint ID to the Post array in order to send it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET methode\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Link = URL + getData;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.begin(Link); //initiate HTTP request,\u003cbr /\u003e\r\n// \u0026nbsp; \u0026nbsp;Serial.println(Link);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int httpCode = http.GET(); \u0026nbsp; //Send the request\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; String payload = http.getString(); \u0026nbsp; \u0026nbsp;//Get the response payload\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (payload.substring(0, 4) == \u0026quot;mode\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; String dev_mode = payload.substring(4);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; int devMode = dev_mode.toInt();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if(!firstConnect){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; device_Mode = devMode;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; firstConnect = true;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n// \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.println(dev_mode);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if(device_Mode \u0026amp;\u0026amp; devMode){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; device_Mode = false;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; timer.disable(t1);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; timer.disable(t2);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Deivce Mode: Attandance\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if(!device_Mode \u0026amp;\u0026amp; !devMode){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; device_Mode = true;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; timer.enable(t1);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; timer.enable(t2);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Deivce Mode: Enrollment\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n// \u0026nbsp;Serial.print(\u0026quot;Number of Timers: \u0026quot;);\u003cbr /\u003e\r\n// \u0026nbsp;Serial.println(timer.getNumTimers());\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Enroll a Finpgerprint ID*****************\u003cbr /\u003e\r\n\u0026nbsp;int getFingerprintEnroll() {\u003cbr /\u003e\r\n\u0026nbsp; int p = -1;\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; display.drawBitmap( 34, 0, FinPr_scan_bits, FinPr_scan_width, FinPr_scan_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; while (p != FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; p = finger.getImage();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image taken\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_NOFINGER:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;.\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;scanning\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_invalid_bits, FinPr_invalid_width, FinPr_invalid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Imaging error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; // OK success!\u003cbr /\u003e\r\n\u0026nbsp; p = finger.image2Tz(1);\u003cbr /\u003e\r\n\u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEMESS:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_invalid_bits, FinPr_invalid_width, FinPr_invalid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_FEATUREFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_INVALIDIMAGE:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; display.print(F(\u0026quot;Remove\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(0,20);\u003cbr /\u003e\r\n\u0026nbsp; display.print(F(\u0026quot;finger\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; //Serial.println(\u0026quot;Remove finger\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\n\u0026nbsp; p = 0;\u003cbr /\u003e\r\n\u0026nbsp; while (p != FINGERPRINT_NOFINGER) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; p = finger.getImage();\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;ID \u0026quot;); Serial.println(id);\u003cbr /\u003e\r\n\u0026nbsp; p = -1;\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; display.drawBitmap( 34, 0, FinPr_scan_bits, FinPr_scan_width, FinPr_scan_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; while (p != FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; p = finger.getImage();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image taken\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_NOFINGER:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;.\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 2:2 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;scanning\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Imaging error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; // OK success!\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; p = finger.image2Tz(2);\u003cbr /\u003e\r\n\u0026nbsp; switch (p) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_OK:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image converted\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_IMAGEMESS:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; //Serial.println(\u0026quot;Image too messy\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_invalid_bits, FinPr_invalid_width, FinPr_invalid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_PACKETRECIEVEERR:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_FEATUREFAIL:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; case FINGERPRINT_INVALIDIMAGE:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Could not find fingerprint features\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; default:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // OK converted!\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Creating model for #\u0026quot;); \u0026nbsp;Serial.println(id);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; p = finger.createModel();\u003cbr /\u003e\r\n\u0026nbsp; if (p == FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Prints matched!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_PACKETRECIEVEERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_ENROLLMISMATCH) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Fingerprints did not match\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_invalid_bits, FinPr_invalid_width, FinPr_invalid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;ID \u0026quot;); Serial.println(id);\u003cbr /\u003e\r\n\u0026nbsp; p = finger.storeModel(id);\u003cbr /\u003e\r\n\u0026nbsp; if (p == FINGERPRINT_OK) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Stored!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 34, 0, FinPr_valid_bits, FinPr_valid_width, FinPr_valid_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; confirmAdding(id);\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_PACKETRECIEVEERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Communication error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_BADLOCATION) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Could not store in that location\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else if (p == FINGERPRINT_FLASHERR) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Error writing to flash\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Unknown error\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; return p;\u003cbr /\u003e\r\n\u0026nbsp; } \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//******************Check if there a Fingerprint ID to add******************\u003cbr /\u003e\r\nvoid confirmAdding(int id){\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;confirm Adding\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; if(WiFi.status() == WL_CONNECTED){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; HTTPClient http; \u0026nbsp; \u0026nbsp;//Declare object of class HTTPClient\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET Data\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; getData = \u0026quot;?confirm_id=\u0026quot; + String(id) + \u0026quot;\u0026amp;device_token=\u0026quot; + String(device_token); // Add the Fingerprint ID to the Post array in order to send it\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; //GET methode\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Link = URL + getData;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.begin(Link); //initiate HTTP request,\u003cbr /\u003e\r\n// \u0026nbsp; \u0026nbsp;Serial.println(Link);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; int httpCode = http.GET(); \u0026nbsp; //Send the request\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; String payload = http.getString(); \u0026nbsp; \u0026nbsp;//Get the response payload\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if(httpCode == 200){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(1.5); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(0,0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(payload);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(payload);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delay(2000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; else{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Error Confirm!!\u0026quot;); \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; http.end(); \u0026nbsp;//Close connection\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//********************connect to the WiFi******************\u003cbr /\u003e\r\nvoid connectToWiFi(){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; WiFi.mode(WIFI_OFF); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;//Prevents reconnection issue (taking too long to connect)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; WiFi.mode(WIFI_STA);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.print(\u0026quot;Connecting to \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(ssid);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; WiFi.begin(ssid, password);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(1); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0, 0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Connecting to \\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setCursor(0, 50); \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.print(ssid);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.drawBitmap( 73, 10, Wifi_start_bits, Wifi_start_width, Wifi_start_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; uint32_t periodToConnect = 30000L;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; for(uint32_t StartToConnect = millis(); (millis()-StartToConnect) \u0026lt; periodToConnect;){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if ( WiFi.status() != WL_CONNECTED ){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; delay(500);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.print(\u0026quot;.\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; } else{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if(WiFi.isConnected()){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Connected\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextSize(2); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Normal 1:1 pixel scale\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setTextColor(WHITE); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Draw white text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.setCursor(8, 0); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Start at top-left corner\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.print(F(\u0026quot;Connected \\n\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap( 33, 15, Wifi_connected_bits, Wifi_connected_width, Wifi_connected_height, WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.print(\u0026quot;IP address: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(WiFi.localIP()); \u0026nbsp;//IP address assigned to your ESP\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; else{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Not Connected\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; WiFi.mode(WIFI_OFF);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n//=======================================================================\u003c/div\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"biometric fingerprint attendance system\" src=\"https://blog.edafait.com/finger print/wemosd1.jpg\" style=\"height:281px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch1\u003e\u003cstrong\u003eSetting server Website:\u003c/strong\u003e\u003c/h1\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://www.apachefriends.org/download.html\" target=\"_blank\"\u003eDownload XAMPP server\u003c/a\u003e\u003cbr /\u003e\r\n\u003ca href=\"https://blog.edafait.com/finger print/biometricattendace.rar\"\u003eDownload Database files and website PHP pages\u0026nbsp;\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca id=\"Unlimited employees\" name=\"Unlimited employees\"\u003eUnlimited employee\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"Unlimited employee attendance system\" src=\"https://blog.edafait.com/finger print/EMPLOYEES.png\" style=\"height:281px; width:500px\" /\u003e\u003ca name=\"Unlimited employees\"\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u003ca id=\"Edit and Update the admin profile\" name=\"Edit and Update the admin profile\"\u003eEdit and Update the admin profile\u003c/a\u003e\u003ca name=\"Edit and Update the admin profile\"\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca name=\"Edit and Update the admin profile\"\u003e\u003c/a\u003e\u003cimg alt=\"Unlimited employee attendance system Admin profile\" src=\"https://blog.edafait.com/finger print/Admin.png\" style=\"height:281px; width:500px\" /\u003e\u003ca name=\"Edit and Update the admin profile\"\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u003ca id=\"View users\" name=\"View users\"\u003eView users\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"Unlimited employee attendance system \" src=\"https://blog.edafait.com/finger print/employers.png\" style=\"height:281px; width:500px\" /\u003e\u003ca name=\"View users\"\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u003ca id=\"attendance records reports.\" name=\"attendance records reports.\"\u003eattendance records reports.\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca name=\"attendance records reports.\"\u003e\u003c/a\u003e\u003cimg alt=\"Unlimited employee attendance system reports \" src=\"https://blog.edafait.com/finger print/filter.png\" style=\"height:281px; width:500px\" /\u003e\u003ca name=\"attendance records reports.\"\u003e\u003c/a\u003e\u003cbr /\u003e\r\n\u003ca id=\"Change the device mode\" name=\"Change the device mode\"\u003eChange the device mode\u003c/a\u003e\u003ca name=\"Change the device mode\"\u003e\u003c/a\u003e (Enrollment mode: to register new users to the system, Attendance Mode: To record attendance of registered users)\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"Unlimited employee attendance system reports \" src=\"https://blog.edafait.com/finger print/reports.png\" style=\"height:281px; width:500px\" /\u003e\u003c/p\u003e\r\n","postDay":27,"PostMonth":"May","PostYear":2023,"Photo":"5_22_2023 7_17_20 PM_Attendance-System-b.png","Name":"Edafa","Views":761,"Liked":1,"Category_ID":14,"Category":"NodeMCU Esp8266 "},{"ID":132,"Title":"How to Make a Radar with WeMos D1 Mini ESP32 and Ultrasonic","Description":"\u003ch2\u003e\u003cstrong\u003eHow to Make a Radar \u0026nbsp;with WeMos D1 Mini ESP32 and Ultrasonic and Servo Motor\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch2\u003eIn this tutorial, we will learn about how to make a simple radar system using the Wemos esp32 board. For this purpose, we use HC-SR04 ultrasonic sensor and to display data, we use a processing environment. Let\u0026#39;s get started.\u003c/h2\u003e\r\n\r\n\u003ch2\u003eFirst, let\u0026#39;s discuss how does this work. The principle is very easy. First, we rotate our sensor around a vertical axis in a 180-degree range continuously. During that motion, we take the data about the distance to the nearest object from the ultrasonic sensor at every angle. For this process, we use Wemos esp32. After, we have to establish a connection with the processing environment for showing our data. Therefore we use serial communication protocol with a suitable baud rate. Then we design our radar system interface by using processing IDE. In that IDE we configure our serial communication to get real-time data via serial. So we do real-time communication with Wemos esp32 and show the data which send from Wemos esp32 to the processing IDE.\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003e\u003cimg alt=\"wemos esp32\" src=\"https://blog.edafait.com/sensorimages/wemos_esp32.webp\" style=\"height:344px; width:500px\" /\u003e\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWe used this board to can be a connection with Radar 3 wayes\u0026nbsp; ( USB Or Wifi Or \u003c/strong\u003e\u003cstrong\u003eBluetooth\u003c/strong\u003e\u003cstrong\u003e)\u0026nbsp;\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eRequired:\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e- Servo motor SG 90 Or MG 90s MG 90\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e-\u0026nbsp;Ultrasonic sensor\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e-\u0026nbsp; Wemos esp32 or\u0026nbsp; esp 32\u0026nbsp;\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eRequired software :\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e-\u0026nbsp;processing download \u003ca href=\"https://processing.org/download\" target=\"_blank\"\u003eclick here\u003c/a\u003e\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e- Arduino IDE 1.8 up to 2.1\u0026nbsp;download \u003ca href=\"https://www.arduino.cc/en/software\" target=\"_blank\"\u003eclick here\u0026nbsp;\u003c/a\u003e\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eif you need how can be used with Arduino \u003ca href=\"https://blog.edafait.com/Post?ID=124\" target=\"_blank\"\u003eclick here\u0026nbsp;\u003c/a\u003e\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch1\u003e\u0026nbsp;HC-SR04 HCSR04 Ultrasonic Wave Detector Ranging Module Distance Sensor\u003c/h1\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"\" src=\"https://blog.edafait.com/sensorimages/Ultrasonic.jpg\" style=\"height:300px; width:300px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eHC-SR04 Ultrasonic Range Sensor Features:\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eInput Voltage: 5V\u003c/li\u003e\r\n\t\u003cli\u003eCurrent Draw: 20mA (Max)\u003c/li\u003e\r\n\t\u003cli\u003eWorking Temperature:\u0026nbsp;\u0026nbsp;-15\u0026deg;C to 70\u0026deg;C\u003c/li\u003e\r\n\t\u003cli\u003eSensing Angle: 30\u0026deg; Cone\u003c/li\u003e\r\n\t\u003cli\u003eThe angle of Effect: 15\u0026deg; Cone\u003c/li\u003e\r\n\t\u003cli\u003eUltrasonic Frequency: 40kHz\u003c/li\u003e\r\n\t\u003cli\u003eRange: 2cm - 400cm\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eIntroducing the HC-SR04 Ultrasonic Sensor\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003eThe HC-SR04 ultrasonic sensor uses sonar to determine the distance to an object. This sensor reads from 2cm to 400cm (0.8inch to 157inch) with an accuracy of 0.3cm (0.1inches), which is good for most hobbyist projects. In addition, this particular module comes with ultrasonic transmitter and receiver modules.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eWemos ESp32\u003c/strong\u003e / \u003cstrong\u003eHC-SR04 \u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch3\u003eGPIO5\u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; Triq\u003c/h3\u003e\r\n\r\n\u003ch3\u003eGPIO18\u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; Echo\u003c/h3\u003e\r\n\r\n\u003ch3\u003eGND \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; GND\u003c/h3\u003e\r\n\r\n\u003ch3\u003e5V/ \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; VCC\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"servo motor\" src=\"https://blog.edafait.com/sensorimages/servomg90s.png\" style=\"height:300px; width:300px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eWemos ESp32\u003c/strong\u003e / \u003cstrong\u003eServo\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch2\u003e\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003ch3\u003eGPIO13\u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; PWM\u003c/h3\u003e\r\n\r\n\u003ch3\u003eGND \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; GND\u003c/h3\u003e\r\n\r\n\u003ch3\u003e3V/ \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; VCC\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"How to Make a Radar with arduino and Ultrasonic\" src=\"https://blog.edafait.com/sensorimages/Untitled Sketch 2_bb.png\" style=\"height:342px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eArduino code\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003ccode\u003e#include \u0026lt;ESP32Servo.h\u0026gt;\u003c/code\u003e\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003ccode\u003eServo myservo; \u0026nbsp;// create servo object to control a servo\u003cbr /\u003e\r\nconst int trigPin = 5;\u003cbr /\u003e\r\nconst int echoPin = 18;\u003cbr /\u003e\r\n// Variables for the duration and the distance\u003cbr /\u003e\r\nlong duration;\u003cbr /\u003e\r\nint distance;\u003cbr /\u003e\r\nint pos = 0; // variable to store the servo position\u003cbr /\u003e\r\nint incomingByte = 0; for incoming serial data\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(trigPin, OUTPUT); \u0026nbsp;// Sets the trigPin as an Output\u003cbr /\u003e\r\n\u0026nbsp;pinMode(echoPin, INPUT); \u0026nbsp; // Sets the echoPin as an Input\u003cbr /\u003e\r\n\u0026nbsp; //myservo.attach(13); \u0026nbsp;// attaches the servo on pin 13 to the servo object\u003cbr /\u003e\r\n\u0026nbsp; myservo.attach(13);\u003cbr /\u003e\r\n\u0026nbsp; myservo.write(90);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp;for(int i=15;i\u0026lt;=165;i++){ \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; myservo.write(i);\u003cbr /\u003e\r\n\u0026nbsp; delay(30);\u003cbr /\u003e\r\n\u0026nbsp; distance = calculateDistance();// Calls a function for calculating the distance measured by the Ultrasonic sensor for each degree\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(i); // Sends the current degree into the Serial Port\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(\u0026quot;,\u0026quot;); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(distance); // Sends the distance value into the Serial Port\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(\u0026quot;.\u0026quot;); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; // Repeats the previous lines from 165 to 15 degrees\u003cbr /\u003e\r\n\u0026nbsp; for(int i=165;i\u0026gt;15;i--){ \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; myservo.write(i);\u003cbr /\u003e\r\n\u0026nbsp; delay(30);\u003cbr /\u003e\r\n\u0026nbsp; distance = calculateDistance();\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(i);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;,\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(distance);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;.\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; }\u003c/code\u003e\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003e\u0026nbsp; int calculateDistance(){\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; digitalWrite(trigPin, LOW);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; delayMicroseconds(2);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; // Sets the trigPin on HIGH state for 10 micro seconds\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; digitalWrite(trigPin, HIGH);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; delayMicroseconds(10);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; digitalWrite(trigPin, LOW);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; duration = pulseIn(echoPin, HIGH); // Reads the echoPin, returns the sound wave travel time in microseconds\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; distance= duration*0.034/2;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; return distance;\u003c/p\u003e\r\n\r\n\u003cp\u003e}\u003c/p\u003e\r\n\u003c/div\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eprocessing code\u0026nbsp; :\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003eimport processing.serial.*; // imports library for serial communication\u003cbr /\u003e\r\nimport java.awt.event.KeyEvent; // imports library for reading the data from the serial port\u003cbr /\u003e\r\nimport java.io.IOException;\u003cbr /\u003e\r\nSerial myPort; // defines Object Serial\u003cbr /\u003e\r\n// defubes variables\u003cbr /\u003e\r\nString angle=\u0026quot;\u0026quot;;\u003cbr /\u003e\r\nString distance=\u0026quot;\u0026quot;;\u003cbr /\u003e\r\nString data=\u0026quot;\u0026quot;;\u003cbr /\u003e\r\nString noObject;\u003cbr /\u003e\r\nfloat pixsDistance;\u003cbr /\u003e\r\nint iAngle, iDistance;\u003cbr /\u003e\r\nint index1=0;\u003cbr /\u003e\r\nint index2=0;\u003cbr /\u003e\r\nPFont orcFont;\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;size (1200, 700); // ***CHANGE THIS TO YOUR SCREEN RESOLUTION***\u003cbr /\u003e\r\n\u0026nbsp;smooth();\u003cbr /\u003e\r\n\u0026nbsp;myPort = new Serial(this,\u0026quot;COM10\u0026quot;, 9600); // starts the serial communication\u003cbr /\u003e\r\n\u0026nbsp;myPort.bufferUntil(\u0026#39;.\u0026#39;); // reads the data from the serial port up to the character \u0026#39;.\u0026#39;. So actually it reads this: angle,distance.\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid draw() {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; fill(98,245,31);\u003cbr /\u003e\r\n\u0026nbsp; // simulating motion blur and slow fade of the moving line\u003cbr /\u003e\r\n\u0026nbsp; noStroke();\u003cbr /\u003e\r\n\u0026nbsp; fill(0,4);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; rect(0, 0, width, height-height*0.065);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; fill(98,245,31); // green color\u003cbr /\u003e\r\n\u0026nbsp; // calls the functions for drawing the radar\u003cbr /\u003e\r\n\u0026nbsp; drawRadar();\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; drawLine();\u003cbr /\u003e\r\n\u0026nbsp; drawObject();\u003cbr /\u003e\r\n\u0026nbsp; drawText();\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid serialEvent (Serial myPort) { // starts reading data from the Serial Port\u003cbr /\u003e\r\n\u0026nbsp; // reads the data from the Serial Port up to the character \u0026#39;.\u0026#39; and puts it into the String variable \u0026quot;data\u0026quot;.\u003cbr /\u003e\r\n\u0026nbsp; data = myPort.readStringUntil(\u0026#39;.\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; data = data.substring(0,data.length()-1);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; index1 = data.indexOf(\u0026quot;,\u0026quot;); // find the character \u0026#39;,\u0026#39; and puts it into the variable \u0026quot;index1\u0026quot;\u003cbr /\u003e\r\n\u0026nbsp; angle= data.substring(0, index1); // read the data from position \u0026quot;0\u0026quot; to position of the variable index1 or thats the value of the angle the Arduino Board sent into the Serial Port\u003cbr /\u003e\r\n\u0026nbsp; distance= data.substring(index1+1, data.length()); // read the data from position \u0026quot;index1\u0026quot; to the end of the data pr thats the value of the distance\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // converts the String variables into Integer\u003cbr /\u003e\r\n\u0026nbsp; iAngle = int(angle);\u003cbr /\u003e\r\n\u0026nbsp; iDistance = int(distance);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid drawRadar() {\u003cbr /\u003e\r\n\u0026nbsp; pushMatrix();\u003cbr /\u003e\r\n\u0026nbsp; translate(width/2,height-height*0.074); // moves the starting coordinats to new location\u003cbr /\u003e\r\n\u0026nbsp; noFill();\u003cbr /\u003e\r\n\u0026nbsp; strokeWeight(2);\u003cbr /\u003e\r\n\u0026nbsp; stroke(98,245,31);\u003cbr /\u003e\r\n\u0026nbsp; // draws the arc lines\u003cbr /\u003e\r\n\u0026nbsp; arc(0,0,(width-width*0.0625),(width-width*0.0625),PI,TWO_PI);\u003cbr /\u003e\r\n\u0026nbsp; arc(0,0,(width-width*0.27),(width-width*0.27),PI,TWO_PI);\u003cbr /\u003e\r\n\u0026nbsp; arc(0,0,(width-width*0.479),(width-width*0.479),PI,TWO_PI);\u003cbr /\u003e\r\n\u0026nbsp; arc(0,0,(width-width*0.687),(width-width*0.687),PI,TWO_PI);\u003cbr /\u003e\r\n\u0026nbsp; // draws the angle lines\u003cbr /\u003e\r\n\u0026nbsp; line(-width/2,0,width/2,0);\u003cbr /\u003e\r\n\u0026nbsp; line(0,0,(-width/2)*cos(radians(30)),(-width/2)*sin(radians(30)));\u003cbr /\u003e\r\n\u0026nbsp; line(0,0,(-width/2)*cos(radians(60)),(-width/2)*sin(radians(60)));\u003cbr /\u003e\r\n\u0026nbsp; line(0,0,(-width/2)*cos(radians(90)),(-width/2)*sin(radians(90)));\u003cbr /\u003e\r\n\u0026nbsp; line(0,0,(-width/2)*cos(radians(120)),(-width/2)*sin(radians(120)));\u003cbr /\u003e\r\n\u0026nbsp; line(0,0,(-width/2)*cos(radians(150)),(-width/2)*sin(radians(150)));\u003cbr /\u003e\r\n\u0026nbsp; line((-width/2)*cos(radians(30)),0,width/2,0);\u003cbr /\u003e\r\n\u0026nbsp; popMatrix();\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid drawObject() {\u003cbr /\u003e\r\n\u0026nbsp; pushMatrix();\u003cbr /\u003e\r\n\u0026nbsp; translate(width/2,height-height*0.074); // moves the starting coordinats to new location\u003cbr /\u003e\r\n\u0026nbsp; strokeWeight(9);\u003cbr /\u003e\r\n\u0026nbsp; stroke(255,10,10); // red color\u003cbr /\u003e\r\n\u0026nbsp; pixsDistance = iDistance*((height-height*0.1666)*0.025); // covers the distance from the sensor from cm to pixels\u003cbr /\u003e\r\n\u0026nbsp; // limiting the range to 40 cms\u003cbr /\u003e\r\n\u0026nbsp; if(iDistance\u0026lt;40){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; // draws the object according to the angle and the distance\u003cbr /\u003e\r\n\u0026nbsp; line(pixsDistance*cos(radians(iAngle)),-pixsDistance*sin(radians(iAngle)),(width-width*0.505)*cos(radians(iAngle)),-(width-width*0.505)*sin(radians(iAngle)));\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; popMatrix();\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid drawLine() {\u003cbr /\u003e\r\n\u0026nbsp; pushMatrix();\u003cbr /\u003e\r\n\u0026nbsp; strokeWeight(9);\u003cbr /\u003e\r\n\u0026nbsp; stroke(30,250,60);\u003cbr /\u003e\r\n\u0026nbsp; translate(width/2,height-height*0.074); // moves the starting coordinats to new location\u003cbr /\u003e\r\n\u0026nbsp; line(0,0,(height-height*0.12)*cos(radians(iAngle)),-(height-height*0.12)*sin(radians(iAngle))); // draws the line according to the angle\u003cbr /\u003e\r\n\u0026nbsp; popMatrix();\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid drawText() { // draws the texts on the screen\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; pushMatrix();\u003cbr /\u003e\r\n\u0026nbsp; if(iDistance\u0026gt;40) {\u003cbr /\u003e\r\n\u0026nbsp; noObject = \u0026quot;Out of Range\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else {\u003cbr /\u003e\r\n\u0026nbsp; noObject = \u0026quot;In Range\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; fill(0,0,0);\u003cbr /\u003e\r\n\u0026nbsp; noStroke();\u003cbr /\u003e\r\n\u0026nbsp; rect(0, height-height*0.0648, width, height);\u003cbr /\u003e\r\n\u0026nbsp; fill(98,245,31);\u003cbr /\u003e\r\n\u0026nbsp; textSize(25);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;10cm\u0026quot;,width-width*0.3854,height-height*0.0833);\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;20cm\u0026quot;,width-width*0.281,height-height*0.0833);\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;30cm\u0026quot;,width-width*0.177,height-height*0.0833);\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;40cm\u0026quot;,width-width*0.0729,height-height*0.0833);\u003cbr /\u003e\r\n\u0026nbsp; textSize(40);\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;StupidTechy\u0026quot;, width-width*0.875, height-height*0.0277);\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;Angle: \u0026quot; + iAngle +\u0026quot; \u0026deg;\u0026quot;, width-width*0.48, height-height*0.0277);\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;Distance: \u0026quot;, width-width*0.26, height-height*0.0277);\u003cbr /\u003e\r\n\u0026nbsp; if(iDistance\u0026lt;40) {\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026quot; + iDistance +\u0026quot; cm\u0026quot;, width-width*0.225, height-height*0.0277);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; textSize(25);\u003cbr /\u003e\r\n\u0026nbsp; fill(98,245,60);\u003cbr /\u003e\r\n\u0026nbsp; translate((width-width*0.4994)+width/2*cos(radians(30)),(height-height*0.0907)-width/2*sin(radians(30)));\u003cbr /\u003e\r\n\u0026nbsp; rotate(-radians(-60));\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;30\u0026deg;\u0026quot;,0,0);\u003cbr /\u003e\r\n\u0026nbsp; resetMatrix();\u003cbr /\u003e\r\n\u0026nbsp; translate((width-width*0.503)+width/2*cos(radians(60)),(height-height*0.0888)-width/2*sin(radians(60)));\u003cbr /\u003e\r\n\u0026nbsp; rotate(-radians(-30));\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;60\u0026deg;\u0026quot;,0,0);\u003cbr /\u003e\r\n\u0026nbsp; resetMatrix();\u003cbr /\u003e\r\n\u0026nbsp; translate((width-width*0.507)+width/2*cos(radians(90)),(height-height*0.0833)-width/2*sin(radians(90)));\u003cbr /\u003e\r\n\u0026nbsp; rotate(radians(0));\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;90\u0026deg;\u0026quot;,0,0);\u003cbr /\u003e\r\n\u0026nbsp; resetMatrix();\u003cbr /\u003e\r\n\u0026nbsp; translate(width-width*0.513+width/2*cos(radians(120)),(height-height*0.07129)-width/2*sin(radians(120)));\u003cbr /\u003e\r\n\u0026nbsp; rotate(radians(-30));\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;120\u0026deg;\u0026quot;,0,0);\u003cbr /\u003e\r\n\u0026nbsp; resetMatrix();\u003cbr /\u003e\r\n\u0026nbsp; translate((width-width*0.5104)+width/2*cos(radians(150)),(height-height*0.0574)-width/2*sin(radians(150)));\u003cbr /\u003e\r\n\u0026nbsp; rotate(radians(-60));\u003cbr /\u003e\r\n\u0026nbsp; text(\u0026quot;150\u0026deg;\u0026quot;,0,0);\u003cbr /\u003e\r\n\u0026nbsp; popMatrix();\u0026nbsp;\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n","Description_d":"\u003ch2\u003e\u003cstrong\u003eHow to Make a Radar \u0026nbsp;with WeMos D1 Mini ESP32 and Ultrasonic and Servo Motor\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003e\u003cimg alt=\"wemos esp32\" src=\"https://blog.edafait.com/sensorimages/wemos_esp32.webp\" style=\"height:344px; width:500px\" /\u003e\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWe used this board to can be a connection with Radar 3 wayes\u0026nbsp; ( USB Or Wifi Or \u003c/strong\u003e\u003cstrong\u003eBluetooth\u003c/strong\u003e\u003cstrong\u003e)\u0026nbsp;\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eRequired:\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e- Servo motor SG 90 Or MG 90s MG 90\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e-\u0026nbsp;Ultrasonic sensor\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e-\u0026nbsp; Wemos esp32 or\u0026nbsp; esp 32\u0026nbsp;\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eRequired software :\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e-\u0026nbsp;processing download \u003ca href=\"https://processing.org/download\" target=\"_blank\"\u003eclick here\u003c/a\u003e\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e- Arduino IDE 1.8 up to 2.1\u0026nbsp;download \u003ca href=\"https://www.arduino.cc/en/software\" target=\"_blank\"\u003eclick here\u0026nbsp;\u003c/a\u003e\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eif you need how can be used with Arduino \u003ca href=\"https://blog.edafait.com/Post?ID=124\" target=\"_blank\"\u003eclick here\u0026nbsp;\u003c/a\u003e\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch1\u003e\u0026nbsp;HC-SR04 HCSR04 Ultrasonic Wave Detector Ranging Module Distance Sensor\u003c/h1\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"\" src=\"https://blog.edafait.com/sensorimages/Ultrasonic.jpg\" style=\"height:300px; width:300px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eHC-SR04 Ultrasonic Range Sensor Features:\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eInput Voltage: 5V\u003c/li\u003e\r\n\t\u003cli\u003eCurrent Draw: 20mA (Max)\u003c/li\u003e\r\n\t\u003cli\u003eWorking Temperature:\u0026nbsp;\u0026nbsp;-15\u0026deg;C to 70\u0026deg;C\u003c/li\u003e\r\n\t\u003cli\u003eSensing Angle: 30\u0026deg; Cone\u003c/li\u003e\r\n\t\u003cli\u003eThe angle of Effect: 15\u0026deg; Cone\u003c/li\u003e\r\n\t\u003cli\u003eUltrasonic Frequency: 40kHz\u003c/li\u003e\r\n\t\u003cli\u003eRange: 2cm - 400cm\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eWemos ESp32\u003c/strong\u003e / \u003cstrong\u003eHC-SR04 \u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch3\u003eGPIO5\u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; Triq\u003c/h3\u003e\r\n\r\n\u003ch3\u003eGPIO18\u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; Echo\u003c/h3\u003e\r\n\r\n\u003ch3\u003eGND \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; GND\u003c/h3\u003e\r\n\r\n\u003ch3\u003e5V/ \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; VCC\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"servo motor\" src=\"https://blog.edafait.com/sensorimages/servomg90s.png\" style=\"height:300px; width:300px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eWemos ESp32\u003c/strong\u003e / \u003cstrong\u003eServo\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch2\u003e\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003ch3\u003eGPIO13\u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; PWM\u003c/h3\u003e\r\n\r\n\u003ch3\u003eGND \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; GND\u003c/h3\u003e\r\n\r\n\u003ch3\u003e3V/ \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; VCC\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eArduino code\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003ccode\u003e#include \u0026lt;ESP32Servo.h\u0026gt; Servo myservo; \u0026nbsp;// create servo object to control a servo\u003cbr /\u003e\r\nconst int trigPin = 5;\u003cbr /\u003e\r\nconst int echoPin = 18;\u003cbr /\u003e\r\n// Variables for the duration and the distance\u003cbr /\u003e\r\nlong duration;\u003cbr /\u003e\r\nint distance;\u003cbr /\u003e\r\nint pos = 0; // variable to store the servo position\u003cbr /\u003e\r\nint incomingByte = 0; for incoming serial data\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(trigPin, OUTPUT); \u0026nbsp;// Sets the trigPin as an Output\u003cbr /\u003e\r\n\u0026nbsp;pinMode(echoPin, INPUT); \u0026nbsp; // Sets the echoPin as an Input\u003cbr /\u003e\r\n\u0026nbsp; //myservo.attach(13); \u0026nbsp;// attaches the servo on pin 13 to the servo object\u003cbr /\u003e\r\n\u0026nbsp; myservo.attach(13);\u003cbr /\u003e\r\n\u0026nbsp; myservo.write(90);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp;for(int i=15;i\u0026lt;=165;i++){ \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; myservo.write(i);\u003cbr /\u003e\r\n\u0026nbsp; delay(30);\u003cbr /\u003e\r\n\u0026nbsp; distance = calculateDistance();// Calls a function for calculating the distance measured by the Ultrasonic sensor for each degree\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(i); // Sends the current degree into the Serial Port\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(\u0026quot;,\u0026quot;); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(distance); // Sends the distance value into the Serial Port\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(\u0026quot;.\u0026quot;); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; // Repeats the previous lines from 165 to 15 degrees\u003cbr /\u003e\r\n\u0026nbsp; for(int i=165;i\u0026gt;15;i--){ \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; myservo.write(i);\u003cbr /\u003e\r\n\u0026nbsp; delay(30);\u003cbr /\u003e\r\n\u0026nbsp; distance = calculateDistance();\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(i);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;,\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(distance);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;.\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; }\u003c/code\u003e\u003c/div\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eprocessing code\u0026nbsp; :\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003ccode\u003eimport processing.serial.*; // imports library for serial communication import java.awt.event.KeyEvent; // imports library for reading the data from the serial port\u003cbr /\u003e\r\nimport java.io.IOException;\u003cbr /\u003e\r\nSerial myPort; // defines Object Serial\u003cbr /\u003e\r\n// defubes variables\u003cbr /\u003e\r\nString angle=\u0026quot;\u0026quot;;\u003cbr /\u003e\r\nString distance=\u0026quot;\u0026quot;;\u003cbr /\u003e\r\nString data=\u0026quot;\u0026quot;;\u003cbr /\u003e\r\nString noObject;\u003cbr /\u003e\r\nfloat pixsDistance;\u003cbr /\u003e\r\nint iAngle, iDistance;\u003cbr /\u003e\r\nint index1=0;\u003cbr /\u003e\r\nint index2=0;\u003cbr /\u003e\r\nPFont orcFont;\u003cbr /\u003e\r\nvoid setup() { size (1200, 700);\u003cbr /\u003e\r\n// ***CHANGE THIS TO YOUR SCREEN RESOLUTION*** smooth();\u003cbr /\u003e\r\nmyPort = new Serial(this,\u0026quot;COM10\u0026quot;, 9600);\u003cbr /\u003e\r\n// starts the serial communication myPort.bufferUntil(\u0026#39;.\u0026#39;);\u003cbr /\u003e\r\n// reads the data from the serial port up to the character \u0026#39;.\u0026#39;. So actually it reads this: angle,distance. }\u003cbr /\u003e\r\nvoid draw() {\u003cbr /\u003e\r\nfill(98,245,31);\u003cbr /\u003e\r\n// simulating motion blur and slow fade of the moving line noStroke();\u003cbr /\u003e\r\nfill(0,4);\u003cbr /\u003e\r\nrect(0, 0, width, height-height*0.065);\u003cbr /\u003e\r\nfill(98,245,31);\u003cbr /\u003e\r\n// green color // calls the functions for drawing the radar drawRadar();\u003cbr /\u003e\r\ndrawLine();\u003cbr /\u003e\r\ndrawObject();\u003cbr /\u003e\r\ndrawText();\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid serialEvent (Serial myPort) { // starts reading data from the Serial Port\u003cbr /\u003e\r\n// reads the data from the Serial Port up to the character \u0026#39;.\u0026#39; and puts it into the String variable \u0026quot;data\u0026quot;.\u003cbr /\u003e\r\ndata = myPort.readStringUntil(\u0026#39;.\u0026#39;);\u003cbr /\u003e\r\ndata = data.substring(0,data.length()-1);\u003cbr /\u003e\r\nindex1 = data.indexOf(\u0026quot;,\u0026quot;);\u003cbr /\u003e\r\n// find the character \u0026#39;,\u0026#39; and puts it into the variable \u0026quot;index1\u0026quot; angle= data.substring(0, index1);\u003cbr /\u003e\r\n// read the data from position \u0026quot;0\u0026quot; to position of the variable index1 or thats the value of the angle the Arduino Board sent into the Serial Port distance= data.substring(index1+1, data.length());\u003cbr /\u003e\r\n// read the data from position \u0026quot;index1\u0026quot; to the end of the data pr thats the value of the distance // converts the String variables into Integer iAngle = int(angle);\u003cbr /\u003e\r\niDistance = int(distance);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid drawRadar() {\u003cbr /\u003e\r\npushMatrix();\u003cbr /\u003e\r\ntranslate(width/2,height-height*0.074);\u003cbr /\u003e\r\n// moves the starting coordinats to new location noFill();\u003cbr /\u003e\r\nstrokeWeight(2);\u003cbr /\u003e\r\nstroke(98,245,31);\u003cbr /\u003e\r\n// draws the arc lines arc(0,0,(width-width*0.0625),(width-width*0.0625),PI,TWO_PI);\u003cbr /\u003e\r\narc(0,0,(width-width*0.27),(width-width*0.27),PI,TWO_PI);\u003cbr /\u003e\r\narc(0,0,(width-width*0.479),(width-width*0.479),PI,TWO_PI);\u003cbr /\u003e\r\narc(0,0,(width-width*0.687),(width-width*0.687),PI,TWO_PI);\u003cbr /\u003e\r\n// draws the angle lines\u003cbr /\u003e\r\nline(-width/2,0,width/2,0);\u003cbr /\u003e\r\nline(0,0,(-width/2)*cos(radians(30)),(-width/2)*sin(radians(30)));\u003cbr /\u003e\r\nline(0,0,(-width/2)*cos(radians(60)),(-width/2)*sin(radians(60)));\u003cbr /\u003e\r\nline(0,0,(-width/2)*cos(radians(90)),(-width/2)*sin(radians(90)));\u003cbr /\u003e\r\nline(0,0,(-width/2)*cos(radians(120)),(-width/2)*sin(radians(120)));\u003cbr /\u003e\r\nline(0,0,(-width/2)*cos(radians(150)),(-width/2)*sin(radians(150)));\u003cbr /\u003e\r\nline((-width/2)*cos(radians(30)),0,width/2,0);\u003cbr /\u003e\r\npopMatrix();\u003cbr /\u003e\r\n} void drawObject() {\u003cbr /\u003e\r\npushMatrix();\u003cbr /\u003e\r\ntranslate(width/2,height-height*0.074);\u003cbr /\u003e\r\n// moves the starting coordinats to new location strokeWeight(9);\u003cbr /\u003e\r\nstroke(255,10,10);\u003cbr /\u003e\r\n// red color pixsDistance = iDistance*((height-height*0.1666)*0.025);\u003cbr /\u003e\r\n// covers the distance from the sensor from cm to pixels // limiting the range to 40 cms\u003cbr /\u003e\r\nif(iDistance\u0026lt;40){\u003cbr /\u003e\r\n// draws the object according to the angle and the distance\u003cbr /\u003e\r\nline(pixsDistance*cos(radians(iAngle)),-pixsDistance*sin(radians(iAngle)),(width-width*0.505)*cos(radians(iAngle)),-(width-width*0.505)*sin(radians(iAngle)));\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\npopMatrix();\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid drawLine() {\u003cbr /\u003e\r\npushMatrix();\u003cbr /\u003e\r\nstrokeWeight(9);\u003cbr /\u003e\r\nstroke(30,250,60);\u003cbr /\u003e\r\ntranslate(width/2,height-height*0.074);\u003cbr /\u003e\r\n// moves the starting coordinats to new location line(0,0,(height-height*0.12)*cos(radians(iAngle)),-(height-height*0.12)*sin(radians(iAngle)));\u003cbr /\u003e\r\n// draws the line according to the angle popMatrix();\u003cbr /\u003e\r\n} void drawText() { // draws the texts on the screen\u003cbr /\u003e\r\npushMatrix();\u003cbr /\u003e\r\nif(iDistance\u0026gt;40) {\u003cbr /\u003e\r\nnoObject = \u0026quot;Out of Range\u0026quot;;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nelse {\u003cbr /\u003e\r\nnoObject = \u0026quot;In Range\u0026quot;;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nfill(0,0,0);\u003cbr /\u003e\r\nnoStroke();\u003cbr /\u003e\r\nrect(0, height-height*0.0648, width, height);\u003cbr /\u003e\r\nfill(98,245,31);\u003cbr /\u003e\r\ntextSize(25);\u003cbr /\u003e\r\ntext(\u0026quot;10cm\u0026quot;,width-width*0.3854,height-height*0.0833);\u003cbr /\u003e\r\ntext(\u0026quot;20cm\u0026quot;,width-width*0.281,height-height*0.0833);\u003cbr /\u003e\r\ntext(\u0026quot;30cm\u0026quot;,width-width*0.177,height-height*0.0833);\u003cbr /\u003e\r\ntext(\u0026quot;40cm\u0026quot;,width-width*0.0729,height-height*0.0833);\u003cbr /\u003e\r\ntextSize(40);\u003cbr /\u003e\r\ntext(\u0026quot;StupidTechy\u0026quot;, width-width*0.875, height-height*0.0277);\u003cbr /\u003e\r\ntext(\u0026quot;Angle: \u0026quot; + iAngle +\u0026quot; \u0026deg;\u0026quot;, width-width*0.48, height-height*0.0277);\u003cbr /\u003e\r\ntext(\u0026quot;Distance: \u0026quot;, width-width*0.26, height-height*0.0277);\u003cbr /\u003e\r\nif(iDistance\u0026lt;40) { text(\u0026quot; \u0026quot; + iDistance +\u0026quot; cm\u0026quot;, width-width*0.225, height-height*0.0277);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\ntextSize(25);\u003cbr /\u003e\r\nfill(98,245,60);\u003cbr /\u003e\r\ntranslate((width-width*0.4994)+width/2*cos(radians(30)),(height-height*0.0907)-width/2*sin(radians(30)));\u003cbr /\u003e\r\nrotate(-radians(-60));\u003cbr /\u003e\r\ntext(\u0026quot;30\u0026deg;\u0026quot;,0,0);\u003cbr /\u003e\r\nresetMatrix();\u003cbr /\u003e\r\ntranslate((width-width*0.503)+width/2*cos(radians(60)),(height-height*0.0888)-width/2*sin(radians(60)));\u003cbr /\u003e\r\nrotate(-radians(-30));\u003cbr /\u003e\r\ntext(\u0026quot;60\u0026deg;\u0026quot;,0,0);\u003cbr /\u003e\r\nresetMatrix();\u003cbr /\u003e\r\ntranslate((width-width*0.507)+width/2*cos(radians(90)),(height-height*0.0833)-width/2*sin(radians(90)));\u003cbr /\u003e\r\nrotate(radians(0));\u003cbr /\u003e\r\ntext(\u0026quot;90\u0026deg;\u0026quot;,0,0);\u003cbr /\u003e\r\nresetMatrix();\u003cbr /\u003e\r\ntranslate(width-width*0.513+width/2*cos(radians(120)),(height-height*0.07129)-width/2*sin(radians(120)));\u003cbr /\u003e\r\nrotate(radians(-30));\u003cbr /\u003e\r\ntext(\u0026quot;120\u0026deg;\u0026quot;,0,0);\u003cbr /\u003e\r\nresetMatrix();\u003cbr /\u003e\r\ntranslate((width-width*0.5104)+width/2*cos(radians(150)),(height-height*0.0574)-width/2*sin(radians(150)));\u003cbr /\u003e\r\nrotate(radians(-60));\u003cbr /\u003e\r\ntext(\u0026quot;150\u0026deg;\u0026quot;,0,0);\u003cbr /\u003e\r\npopMatrix();\u003cbr /\u003e\r\n} \u003c/code\u003e\u003c/div\u003e\r\n","postDay":10,"PostMonth":"May","PostYear":2023,"Photo":"5_10_2023 12_43_53 AM_radar_system2.png","Name":"Edafa","Views":1087,"Liked":3,"Category_ID":15,"Category":"ESP32"},{"ID":131,"Title":"ESP32 CAM Video Recorder (save video)","Description":"\u003ch2\u003e\u003cstrong\u003eESP32 CAM Video Streaming Web Server\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"\" src=\"https://core-electronics.com.au/media/wysiwyg/tutorials/Tim/ESP32-CAM/AI-thinker-ESP32-components-core.jpg\" style=\"height:265px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"esp32 cam save videos and photos \" src=\"https://blog.edafait.com/sensorimages/esp32camvideo/6.jpg\" style=\"height:499px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003ewithout Arduino\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch2\u003e\u003cimg alt=\"TTL esp32 cam\" src=\"https://i.pinimg.com/originals/12/e9/38/12e938e1f5becf35dde5d7b682b5ad46.png\" style=\"height:260px; width:500px\" /\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003cstrong\u003eESP32 CAM Video Recorder\u0026nbsp;\u003c/strong\u003eThis program records photos and avi videos to the sd card of an ESP32-CAM\u003c/p\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003eSSID and password, and timezone into the config.txt file on the sd card\u0026nbsp;recording length, frame size, and internet on/off\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"esp32 cam save videos and photos \" src=\"https://blog.edafait.com/sensorimages/esp32camvideo/1.jpg\" style=\"height:394px; width:700px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003eParameters for\u0026nbsp;save video\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003ch2\u003eframesize 10,9,7,6,5:\u003c/h2\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e10 - UXGA (1600x1200 @ 6 fps), \r\n9 - SXGA (1280x1024 @ 6 fps), \r\n7 - SVGA(800x600 @ 24 fps), \r\n6 - VGA(640x480 @ 24 fps), \r\n5 - CIF(400x296 @ 50 fps)\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003eThe settings were framesize HD (11), quality 14, max fps or zero interval, 30 seconds long, speedup 1 times. It came out at about 12.4 fps. Lowering the quality slightly -- higher quality number\u003c/p\u003e\r\n\r\n\u003ch2\u003eMust be Used Arduino ide 2.0.2 and Wifimanager\u003c/h2\u003e\r\n\r\n\u003ch2\u003eweb server setting\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003ecan be stream video with 2 ports\u0026nbsp; and full information about video record-setting (time for each video - video quality - video name and size - total space sd card and free space sd card - set time zone - take photos\u0026nbsp;\u0026nbsp;)\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u0026nbsp;\u003cimg alt=\"esp32 cam save videos and photos \" src=\"https://blog.edafait.com/sensorimages/esp32camvideo/2.jpg\" style=\"height:394px; width:700px\" /\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eFile Manager\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003ch2\u003e\u003cimg alt=\"esp32 cam save videos and photos \" src=\"https://blog.edafait.com/sensorimages/esp32camvideo/3.jpg\" style=\"height:394px; width:700px\" /\u003e\u003c/h2\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003eSD space and used space\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003eGOTO ROOT DIR - takes you to the root\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003eFolders are white - click on it to enter that folder\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003eFiles are blue/orange - click on the file to download it to your browser/computer\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u0026quot;D\u0026quot; \u0026quot;R\u0026quot; and \u0026quot;E\u0026quot; to delete, rename, or edit the files - only edit text files\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003eDownload all files to get the entire folder shown (not the subfolders)\u003cbr /\u003e\r\n\t\u0026nbsp;\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"esp32 cam save videos and photos \" src=\"https://blog.edafait.com/sensorimages/esp32camvideo/4.jpg\" style=\"height:394px; width:700px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003e\u003ca href=\"https://blog.edafait.com/sensorimages/ESP32-CAM-Video-Recorder-junior-60x.4.7.zip\" target=\"_blank\"\u003eDownload code\u003c/a\u003e\u003c/strong\u003e\u003c/h2\u003e\r\n","Description_d":"\u003ch2\u003e\u003cstrong\u003eESP32 CAM Video Streaming Web Server\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"\" src=\"https://core-electronics.com.au/media/wysiwyg/tutorials/Tim/ESP32-CAM/AI-thinker-ESP32-components-core.jpg\" style=\"height:265px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"esp32 cam save videos and photos \" src=\"https://blog.edafait.com/sensorimages/esp32camvideo/6.jpg\" style=\"height:499px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003ewithout Arduino\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch2\u003e\u003cimg alt=\"TTL esp32 cam\" src=\"https://i.pinimg.com/originals/12/e9/38/12e938e1f5becf35dde5d7b682b5ad46.png\" style=\"height:260px; width:500px\" /\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003cstrong\u003eESP32 CAM Video Recorder\u0026nbsp;\u003c/strong\u003eThis program records photos and avi videos to the sd card of an ESP32-CAM\u003c/p\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003eSSID and password, and timezone into the config.txt file on the sd card\u0026nbsp;recording length, frame size, and internet on/off\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"esp32 cam save videos and photos \" src=\"https://blog.edafait.com/sensorimages/esp32camvideo/1.jpg\" style=\"height:394px; width:700px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003eParameters for\u0026nbsp;save video\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003ch2\u003eframesize 10,9,7,6,5:\u003c/h2\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e10 - UXGA (1600x1200 @ 6 fps), \r\n9 - SXGA (1280x1024 @ 6 fps), \r\n7 - SVGA(800x600 @ 24 fps), \r\n6 - VGA(640x480 @ 24 fps), \r\n5 - CIF(400x296 @ 50 fps)\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003eThe settings were framesize HD (11), quality 14, max fps or zero interval, 30 seconds long, speedup 1 times. It came out at about 12.4 fps. Lowering the quality slightly -- higher quality number\u003c/p\u003e\r\n\r\n\u003ch2\u003eMust be Used Arduino ide 2.0.2 and Wifimanager\u003c/h2\u003e\r\n\r\n\u003ch2\u003eweb server setting\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003ecan be stream video with 2 ports\u0026nbsp; and full information about video record-setting (time for each video - video quality - video name and size - total space sd card and free space sd card - set time zone - take photos\u0026nbsp;\u0026nbsp;)\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u0026nbsp;\u003cimg alt=\"esp32 cam save videos and photos \" src=\"https://blog.edafait.com/sensorimages/esp32camvideo/2.jpg\" style=\"height:394px; width:700px\" /\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eFile Manager\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003ch2\u003e\u003cimg alt=\"esp32 cam save videos and photos \" src=\"https://blog.edafait.com/sensorimages/esp32camvideo/3.jpg\" style=\"height:394px; width:700px\" /\u003e\u003c/h2\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003eSD space and used space\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003eGOTO ROOT DIR - takes you to the root\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003eFolders are white - click on it to enter that folder\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003eFiles are blue/orange - click on the file to download it to your browser/computer\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u0026quot;D\u0026quot; \u0026quot;R\u0026quot; and \u0026quot;E\u0026quot; to delete, rename, or edit the files - only edit text files\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003eDownload all files to get the entire folder shown (not the subfolders)\u003cbr /\u003e\r\n\t\u0026nbsp;\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"esp32 cam save videos and photos \" src=\"https://blog.edafait.com/sensorimages/esp32camvideo/4.jpg\" style=\"height:394px; width:700px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003e\u003ca href=\"https://blog.edafait.com/sensorimages/ESP32-CAM-Video-Recorder-junior-60x.4.7.zip\" target=\"_blank\"\u003eDownload code\u003c/a\u003e\u003c/strong\u003e\u003c/h2\u003e\r\n","postDay":4,"PostMonth":"May","PostYear":2023,"Photo":"5_4_2023 4_20_47 AM_espcam.png","Name":"Edafa","Views":2605,"Liked":1,"Category_ID":15,"Category":"ESP32"},{"ID":130,"Title":"RFID Based Attendance System","Description":"\u003ch3\u003e\u003cstrong\u003eThe smart card attendance system\u0026#39;s function is based on a microcontroller.\u0026nbsp;\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003eRFID-Based Attendance System Using NodeMCU with PHP Web App\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"#Downloads\"\u003eDownloads \u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cimg alt=\"RFID Based Attendance System\" src=\"https://blog.edafait.com/imagespost/RFID/RFID Based Attendance System.jpg\" style=\"height:233px; width:500px\" /\u003e\u003c/h2\u003e\r\n\r\n\u003ch2\u003e\u003cbr /\u003e\r\n\u003cstrong\u003eOverview\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch3\u003eThere are many methods to track the attendance of an individual. A few years ago, when Radio Frequency Identification (RFID) electronics were still in their adolescence stages, the time stamping technique was greatly followed. As software programming and technology progressed, especially in electronics, they gave way to a much more secure and reliable arrangement known as RFID Attendance System.\u003c/h3\u003e\r\n\r\n\u003ch3\u003eThe RFID-based attendance system is developed using PHP, CSS, and Javascript working by WIFI. An RFID Based Attendance System Using NodeMCU is a modern attendance system. Hence, is a very interesting project. It can be useful in different places like schools, Colleges, industry, and private organizations to register the attendance of students, teachers, employees, etc. to tabulate monthly/daily working hours automatically. When the person with the correct RFID card swipes his/her RFID tag, His/Her arrival time will be stored in the system Log. Usually, when the same person swipes his/her RFID tag again, the system will save it as his/her leaving time.\u0026nbsp;\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cbr /\u003e\r\nThe RFID attendance system is developed with the IoT platform. We have used the NodeMCU ESP8266 development board with MF-RC522 Module to send the card UID to the PHP Web app and store data in the website database. Basically, the admin plays an important role in the management of this system.\u003c/h3\u003e\r\n\r\n\u003ch3\u003eThe RFID-based attendance system is developed very easily setup on your server\u0026nbsp;\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eSystem Specifications and Features\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003ca href=\"#Add New User\"\u003e\u003cstrong\u003eUnlimited employees\u003c/strong\u003e\u003c/a\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003cstrong\u003eAdmin Login/Logout System\u0026nbsp;\u003c/strong\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003cstrong\u003eForgot the Password for the admin\u003c/strong\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003cstrong\u003eEdit and Update the admin profile\u003c/strong\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003cstrong\u003eView users\u003c/strong\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003ca href=\"#manage\"\u003e\u003cstrong\u003eAdd New User\u003c/strong\u003e\u003c/a\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003ca href=\"#manage\"\u003e\u003cstrong\u003eEdit and update the existing users\u003c/strong\u003e\u003c/a\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003ca href=\"#manage\"\u003e\u003cstrong\u003eRemove Users\u003c/strong\u003e\u003c/a\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003ca href=\"#Reports\"\u003e\u003cstrong\u003eattendance records reports.\u003c/strong\u003e\u003c/a\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003ca href=\"#Add New User\"\u003e\u003cstrong\u003eChange the device mode (Enrollment mode: to register new users to the system, Attendance Mode: To record attendance of registered users)\u003c/strong\u003e\u003c/a\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eWhat is RFID RC522 ??\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch3\u003eRC522 is the highly integrated RFID card reader which works on non-contact 13.56mhz communication, is designed by NXP as low power consumption, low cost, and compact size read and write chip, and is the best choice in the development of smart meters and portable hand-held devices. RFID is the short form of Radio Frequency Identification. RFID modules use electromagnetic fields for transferring data between the card and the reader. Different RFID tags are attached to objects like keychains, cards, etc. and whenever we place that object in front of the RFID reader, the reader reads that tag. The next benefit of RFID is that it doesn\u0026rsquo;t require to be in a straight line to get detected. Unlike a barcode, in RFID there\u0026rsquo;s no such restriction. So, here are some features of RFID RC522.\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"RFID\" src=\"https://blog.edafait.com/imagespost/RFID_RC522.jpg\" style=\"height:500px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca id=\"Downloads\" name=\"Downloads\"\u003e\u003cstrong\u003eDownloads\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003ca id=\"library\" name=\"library\"\u003e\u003cstrong\u003eDownload Arduino ide library?\u003c/strong\u003e\u003c/a\u003e\u003c/h2\u003e\r\n\r\n\u003col\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/miguelbalboa/rfid\" target=\"_blank\"\u003eRFID-RC522 Library\u003c/a\u003e\u003c/strong\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/esp8266/Arduino#installing-with-boards-manager\" target=\"_blank\"\u003eNodeMcu ESP8266 Library and Board Manager\u003c/a\u003e\u003c/strong\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003cstrong\u003e\u003ca href=\"https://blog.edafait.com/imagespost/RFID/ESP8266LittleFS-2.6.0.zip\"\u003eESP8266 LittleFS 2.6.0\u003c/a\u003e\u003c/strong\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003cstrong\u003e\u003ca href=\"https://blog.edafait.com/imagespost/RFID/ESPAsyncTCP-master.zip\"\u003eESP Async TCP\u003c/a\u003e\u003c/strong\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\u003c/ol\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eDownload to start?\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003col\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003ca href=\"https://www.apachefriends.org/download.html\" target=\"_blank\"\u003eXAMPP server\u003c/a\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003ca href=\"https://blog.edafait.com/imagespost/RFID/ESP8266_WiFi_Manager.rar\" target=\"_blank\"\u003eCode\u0026nbsp;Arduino IDE Program code.\u003c/a\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003ca href=\"https://blog.edafait.com/imagespost/RFID/rfidattendance_database.rar\" target=\"_blank\"\u003eDatabase file\u003c/a\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003ca href=\"https://blog.edafait.com/imagespost/RFID/rfidattendance.rar\" target=\"_blank\"\u003eweb PHP pages\u0026nbsp;\u003c/a\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e\r\n\t\u003ch3\u003e\u003ca href=\"https://www.thingiverse.com/thing:3239497\" target=\"_blank\"\u003e3d Print box\u0026nbsp;\u003c/a\u003e\u003c/h3\u003e\r\n\t\u003c/li\u003e\r\n\u003c/ol\u003e\r\n\r\n\u003ch1\u003e\u003cstrong\u003eNodeMCU esp8266\u0026nbsp;\u003c/strong\u003e\u003c/h1\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"NodeMcu-ESP8266\" src=\"https://blog.edafait.com/imagespost/RFID/Connect-RFID-to-PHP-MySQL-Database-with-NodeMcu-ESP8266.jpg\" style=\"height:421px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch1\u003e\u003cstrong\u003eNodeMCU with RFID\u003c/strong\u003e\u003c/h1\u003e\r\n\r\n\u003ch1\u003e\u003cimg alt=\"RFID Based Attendance System\" src=\"https://blog.edafait.com/imagespost/RFID/RFID Based Attendance System.png\" style=\"height:317px; width:500px\" /\u003e\u003c/h1\u003e\r\n\r\n\u003ch2\u003eNodeMCU ESP8266\u0026nbsp;/ RC522\u003c/h2\u003e\r\n\r\n\u003ch3\u003eD2 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; SDA/SS\u003c/h3\u003e\r\n\r\n\u003ch3\u003eD5 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; SCK\u003c/h3\u003e\r\n\r\n\u003ch3\u003eD7 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; MOSI\u003c/h3\u003e\r\n\r\n\u003ch3\u003eD6 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; MISO\u003c/h3\u003e\r\n\r\n\u003ch3\u003eGND \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; GND\u003c/h3\u003e\r\n\r\n\u003ch3\u003eD1 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; RST\u003c/h3\u003e\r\n\r\n\u003ch3\u003e3V/3V3 \u0026lt;\u0026mdash;\u0026mdash;\u0026mdash;-\u0026gt; 3.3V\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u0026nbsp;\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e1- download\u0026nbsp;\u003ca href=\"https://blog.edafait.com/imagespost/RFID/ESP8266LittleFS-2.6.0.zip\"\u003eESP8266 LittleFS 2.6.0\u003c/a\u003e\u0026nbsp;and copy\u0026nbsp;\u0026nbsp;esp8266littlefs.jar to\u0026nbsp;C:\\Users\\(name)\\Documents\\Arduino\\tools\\ESP8266LittleFS\\tool\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e2- download\u0026nbsp;\u003ca href=\"https://blog.edafait.com/imagespost/RFID/ESPAsyncTCP-master.zip\"\u003eESP Async TCP\u003c/a\u003e\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e3- download\u0026nbsp;\u003ca href=\"https://github.com/miguelbalboa/rfid\" target=\"_blank\"\u003eRFID-RC522 Library\u003c/a\u003e\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e4- download code for Arduino ide\u0026nbsp;\u003c/strong\u003e\u003ca href=\"https://blog.edafait.com/imagespost/RFID/ESP8266_WiFi_Manager.rar\" target=\"_blank\"\u003eCode\u0026nbsp;Arduino IDE Program code.\u003c/a\u003e\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e5 - open Arduino ide Nodemcu board manager 2.6.3\u0026nbsp;\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"RFID\" src=\"https://blog.edafait.com/imagespost/RFID/rfid3.jpg\" style=\"height:281px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"RFID\" src=\"https://blog.edafait.com/imagespost/RFID/rfid4.jpg\" style=\"height:281px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e6 - Download\u0026nbsp;\u003ca href=\"https://www.apachefriends.org/download.html\" target=\"_blank\"\u003eXAMPP server\u003c/a\u003e\u0026nbsp;and\u0026nbsp;\u003ca href=\"https://blog.edafait.com/imagespost/RFID/rfidattendance_database.rar\" target=\"_blank\"\u003eDatabase file\u003c/a\u003e\u0026nbsp;and\u0026nbsp;\u003ca href=\"https://blog.edafait.com/imagespost/RFID/rfidattendance.rar\" target=\"_blank\"\u003ewebsite PHP pages\u0026nbsp;\u003c/a\u003e\u0026nbsp;and run it\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e7- login network nodemcu\u0026nbsp;\u003c/strong\u003e\u003cbr /\u003e\r\nNodeMCU default IP Address 192.168.4.1\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"wifi manager nodemcu\" src=\"https://blog.edafait.com/imagespost/RFID/wifiesp.jpg\" style=\"height:281px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"netwok manager wifi nodemcu\" src=\"https://blog.edafait.com/imagespost/RFID/wifi.jpg\" style=\"height:281px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003eenter your network name (SSID) and password if you need RFID static IP address and your server URL after that\u0026nbsp; restart your nodemcu\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003ca id=\"Add New User\" name=\"Add New User\"\u003e\u003cstrong\u003eAdd New User\u003c/strong\u003e\u003c/a\u003e\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003e7- login into your server and open the status link\u0026nbsp;\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"RFID system \" src=\"https://blog.edafait.com/imagespost/RFID/status.jpg\" style=\"height:281px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003eIf you need to add a card select Add new staff\u0026nbsp;\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003ch3\u003e\u003cstrong\u003eto work Attendance\u0026nbsp;must be selected\u0026nbsp;\u003c/strong\u003e\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca id=\"manage\" name=\"manage\"\u003e\u003cstrong\u003eManagement users\u003c/strong\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"RFID System\" src=\"https://blog.edafait.com/imagespost/RFID/manage.jpg\" style=\"height:281px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca id=\"Reports\" name=\"Reports\"\u003eReports\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"RFID System\" src=\"https://blog.edafait.com/imagespost/RFID/reports.jpg\" style=\"height:281px; width:500px\" /\u003e\u003c/p\u003e\r\n","Description_d":"\u003cp\u003e\u003cstrong\u003eThe smart card attendance system\u0026#39;s function is based on a microcontroller.\u0026nbsp;\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eRFID-Based Attendance System Using NodeMCU with PHP Web App\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cbr /\u003e\r\n\u003cstrong\u003eOverview\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe RFID-based attendance system is developed using PHP, CSS, and Javascript working by WIFI . An RFID Based Attendance System Using NodeMCU is a modern attendance system. Hence, is a very interesting project. It can be useful in different places like schools, Colleges, industry, and private organizations to register the attendance of students, teachers, employees, etc. to tabulate monthly/daily working hours automatically. When the person with the correct RFID card swipes his/her RFID tag, His/Her arrival time will be stored in the system Log. Usually, when the same person swipes his/her RFID tag again, the system will save it as his/her leaving time.\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cbr /\u003e\r\nThe RFID attendance system is developed with the IoT platform. We have used the NodeMCU ESP8266 development board with MF-RC522 Module to send the card UID to the PHP Web app and store data in the website database. Basically, the admin plays an important role in the management of this system.\u003c/p\u003e\r\n\r\n\u003cp\u003eThe RFID-based attendance system is developed very easily setup on your server\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eSystem Specifications and Features\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eUnlimited employees\u003c/li\u003e\r\n\t\u003cli\u003eAdmin Login/Logout System\u0026nbsp;\u003c/li\u003e\r\n\t\u003cli\u003eForgot the Password for the admin\u003c/li\u003e\r\n\t\u003cli\u003eEdit and Update the admin profile\u003c/li\u003e\r\n\t\u003cli\u003eView users\u003c/li\u003e\r\n\t\u003cli\u003eAdd New User\u003c/li\u003e\r\n\t\u003cli\u003eEdit and update the existing users\u003c/li\u003e\r\n\t\u003cli\u003eRemove Users\u003c/li\u003e\r\n\t\u003cli\u003eattendance records reports.\u003c/li\u003e\r\n\t\u003cli\u003eChange the device mode (Enrollment mode: to register new users to the system, Attendance Mode: To record attendance of registered users)\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWhat is RFID RC522 ??\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eRC522 is the highly integrated RFID card reader which works on non-contact 13.56mhz communication, is designed by NXP as low power consumption, low cost, and compact size read and write chip, and is the best choice in the development of smart meters and portable hand-held devices. RFID is the short form of Radio Frequency Identification. RFID modules use electromagnetic fields for transferring data between the card and the reader. Different RFID tags are attached to objects like keychains, cards, etc. and whenever we place that object in front of the RFID reader, the reader reads that tag. The next benefit of RFID is that it doesn\u0026rsquo;t require to be in a straight line to get detected. Unlike a barcode, in RFID there\u0026rsquo;s no such restriction. So, here are some features of RFID RC522.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003cimg alt=\"RFID\" src=\"https://blog.edafait.com/imagespost/RFID_RC522.jpg\" style=\"height:500px; width:500px\" /\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eDownload Arduino ide library?\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003col\u003e\r\n\t\u003cli\u003e\u003ca href=\"https://github.com/miguelbalboa/rfid\" target=\"_blank\"\u003eRFID-RC522 Library\u003c/a\u003e\u003c/li\u003e\r\n\t\u003cli\u003e\u003ca href=\"https://github.com/esp8266/Arduino#installing-with-boards-manager\" target=\"_blank\"\u003eNodeMcu ESP8266 Library and Board Manager\u003c/a\u003e\u003c/li\u003e\r\n\t\u003cli\u003e\u003ca href=\"https://blog.edafait.com/imagespost/RFID/ESP8266LittleFS-2.6.0.zip\"\u003eESP8266 LittleFS 2.6.0\u003c/a\u003e\u003c/li\u003e\r\n\t\u003cli\u003e\u003ca href=\"https://blog.edafait.com/imagespost/RFID/ESPAsyncTCP-master.zip\"\u003eESP Async TCP\u003c/a\u003e\u003c/li\u003e\r\n\u003c/ol\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eDownload to start?\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003col\u003e\r\n\t\u003cli\u003e\u003ca href=\"https://www.apachefriends.org/download.html\" target=\"_blank\"\u003eXAMPP server\u003c/a\u003e\u003c/li\u003e\r\n\t\u003cli\u003e\u003ca href=\"https://blog.edafait.com/imagespost/RFID/ESP8266_WiFi_Manager.rar\" target=\"_blank\"\u003eCode\u0026nbsp;Arduino IDE Program code.\u003c/a\u003e\u003c/li\u003e\r\n\t\u003cli\u003e\u003ca href=\"https://blog.edafait.com/imagespost/RFID/rfidattendance.sql\" target=\"_blank\"\u003eDatabase file\u003c/a\u003e\u003c/li\u003e\r\n\t\u003cli\u003e\u003ca href=\"http://rfidattendance.rar\" target=\"_blank\"\u003eweb PHP pages\u0026nbsp;\u003c/a\u003e\u003c/li\u003e\r\n\t\u003cli\u003e\u003ca href=\"https://www.thingiverse.com/thing:3239497\" target=\"_blank\"\u003e3d Print box\u0026nbsp;\u003c/a\u003e\u003c/li\u003e\r\n\u003c/ol\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eHow to run a server?\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003col\u003e\r\n\t\u003cli\u003eDownload\u0026nbsp;\u003c/li\u003e\r\n\u003c/ol\u003e\r\n","postDay":22,"PostMonth":"April","PostYear":2023,"Photo":"4_24_2023 12_44_19 AM_rfid.jpg","Name":"Edafa","Views":1662,"Liked":1,"Category_ID":14,"Category":"NodeMCU Esp8266 "},{"ID":129,"Title":"how to create searchlight (Flashlight ) led - Rechargeable","Description":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003ehow to create a searchlight led\u003c/p\u003e\r\n\r\n\u003cp\u003eRechargeable Led Flashlight\u003c/p\u003e\r\n\r\n\u003cp\u003eTP4056 1A Lipo Battery Charging Board Micro USB with Current Protection MT3608 Boost Step-up Converter DC-DC 2A led 10w\u003c/p\u003e\r\n","Description_d":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003ehow to create a searchlight led\u003c/p\u003e\r\n\r\n\u003cp\u003eRechargeable Led Flashlight\u003c/p\u003e\r\n\r\n\u003cp\u003eTP4056 1A Lipo Battery Charging Board Micro USB with Current Protection MT3608 Boost Step-up Converter DC-DC 2A led 10w\u003c/p\u003e\r\n","postDay":30,"PostMonth":"January","PostYear":2023,"Photo":"1_30_2023 6_53_21 PM_Untitled.png","Name":"Edafa","Views":195,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":128,"Title":"Robot car is controlled by a smartphone through wi-fi","Description":"\u003cp\u003eThis robot car is controlled by a smartphone through wi-fi, and 18650 battery charging I have attached everything with this instructable with an explanation\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cins\u003e\u003cstrong\u003eHardware components for Battery \u0026nbsp;charging \u0026nbsp;:\u003c/strong\u003e\u003c/ins\u003e\u003cbr /\u003e\r\n1 X 3S 18650 Li-po Lithium Battery Capacity Indicator Module\u003cbr /\u003e\r\n3 X Battery 18650\u003cbr /\u003e\r\n3 X Battery Holder\u003cbr /\u003e\r\n1 X Female DC Power (2.1mm) Plastic Connector for Box DC-022\u003cbr /\u003e\r\n1 X BMS 3S 18650 Lithium Battery Protection Board (10A)\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cins\u003e\u003cstrong\u003eOther Hardware components :\u003c/strong\u003e\u003c/ins\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e1 X NodeMCU 8266\u003cbr /\u003e\r\n1 X L298 Motor Driver Module\u003cbr /\u003e\r\n2 X LED Red (1W)\u003cbr /\u003e\r\n2 X LED White (1W)\u003cbr /\u003e\r\n1 X Breadboard Solderless 170\u003cbr /\u003e\r\n1 X DC Brushless Fan\u003cbr /\u003e\r\n4 X Robot Car Wheel Tyre (65mm)\u003cbr /\u003e\r\n4 X Robot Smart Car DC Motor\u003c/p\u003e\r\n\r\n\u003cp\u003e1 X\u0026nbsp;Plastic Project Box NFN.183 (190 (L) x 120 (W) x 60 (H) mm)\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch1\u003eCode\u003c/h1\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#define ENA \u0026nbsp; 14 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Enable/speed motors Right \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;GPIO14(D5)\u003cbr /\u003e\r\n#define ENB \u0026nbsp; 12 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Enable/speed motors Left\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; GPIO12(D6)\u003cbr /\u003e\r\n#define IN_1 \u0026nbsp;4\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // L298N in1 motors Right\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; GPIO15(D2)\u003cbr /\u003e\r\n#define IN_2 \u0026nbsp;13 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// L298N in2 motors Right\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; GPIO13(D7)\u003cbr /\u003e\r\n#define IN_3 \u0026nbsp;2 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // L298N in3 motors Left\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;GPIO2(D4)\u003cbr /\u003e\r\n#define IN_4 \u0026nbsp;0 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // L298N in4 motors Left\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;GPIO0(D3)\u003cbr /\u003e\r\n#define front_light \u0026nbsp;15 \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n#define red_light \u0026nbsp;5 \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; //back\u003cbr /\u003e\r\n#include \u0026lt;ESP8266WiFi.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;WiFiClient.h\u0026gt;\u0026nbsp;\u003cbr /\u003e\r\n#include \u0026lt;ESP8266WebServer.h\u0026gt;\u003cbr /\u003e\r\nString command; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; //String to store app command state.\u003cbr /\u003e\r\nint speedCar = 800; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // 400 - 1023.\u003cbr /\u003e\r\nint speed_Coeff = 3;\u003cbr /\u003e\r\nconst char* ssid = \u0026quot;ABbkareno Wifi\u0026quot;; //wifi name\u003cbr /\u003e\r\nESP8266WebServer server(80);\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;pinMode(ENA, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp;pinMode(ENB, OUTPUT); \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;pinMode(IN_1, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp;pinMode(IN_2, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp;pinMode(IN_3, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp;pinMode(IN_4, OUTPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; pinMode(IN_4, OUTPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;pinMode(red_light, OUTPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(front_light, OUTPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n// Connecting WiFi \u0026nbsp; WiFi.mode(WIFI_AP);\u003cbr /\u003e\r\n\u0026nbsp; WiFi.softAP(ssid);\u003cbr /\u003e\r\nIPAddress myIP = WiFi.softAPIP();\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;AP IP address: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(myIP);\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;// Starting WEB-server\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;server.on ( \u0026quot;/\u0026quot;, HTTP_handleRoot );\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;server.onNotFound ( HTTP_handleRoot );\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;server.begin(); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n\u003cbr /\u003e\r\nvoid goAhead(){\u0026nbsp;\u003cbr /\u003e\r\ndigitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003cbr /\u003e\r\ndigitalWrite(red_light, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;digitalWrite(front_light, HIGH); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\nvoid goBack(){\u0026nbsp;\u003cbr /\u003e\r\ndigitalWrite(red_light, HIGH);\u003cbr /\u003e\r\ndigitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003cbr /\u003e\r\ndigitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\nvoid goRight(){\u0026nbsp;\u003cbr /\u003e\r\ndigitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\ndigitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\nvoid goLeft(){\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\ndigitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\nvoid goAheadRight(){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar/speed_Coeff);\u003cbr /\u003e\r\n\u0026nbsp;digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\nvoid goAheadLeft(){\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar/speed_Coeff);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\nvoid goBackRight(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\ndigitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar/speed_Coeff);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\nvoid goBackLeft(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\ndigitalWrite(red_light, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar/speed_Coeff);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\nvoid stopRobot(){ \u0026nbsp;\u003cbr /\u003e\r\ndigitalWrite(red_light, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_1, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENA, speedCar);\u003cbr /\u003e\r\ndigitalWrite(front_light,LOW ); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_3, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(IN_4, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; analogWrite(ENB, speedCar);\u003cbr /\u003e\r\n\u0026nbsp;}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; server.handleClient();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; command = server.arg(\u0026quot;State\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if (command == \u0026quot;F\u0026quot;) goAhead();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;B\u0026quot;) goBack();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;L\u0026quot;) goLeft();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;R\u0026quot;) goRight();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;I\u0026quot;) goAheadRight();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;G\u0026quot;) goAheadLeft();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;J\u0026quot;) goBackRight();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;H\u0026quot;) goBackLeft();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;0\u0026quot;) speedCar = 400;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;1\u0026quot;) speedCar = 470;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;2\u0026quot;) speedCar = 540;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;3\u0026quot;) speedCar = 610;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;4\u0026quot;) speedCar = 680;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;5\u0026quot;) speedCar = 750;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;6\u0026quot;) speedCar = 820;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;7\u0026quot;) speedCar = 890;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;8\u0026quot;) speedCar = 960;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;9\u0026quot;) speedCar = 1023;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;S\u0026quot;) stopRobot();\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid HTTP_handleRoot(void) {\u003cbr /\u003e\r\nif( server.hasArg(\u0026quot;State\u0026quot;) ){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.println(server.arg(\u0026quot;State\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; server.send ( 200, \u0026quot;text/html\u0026quot;, \u0026quot;\u0026quot; );\u003cbr /\u003e\r\n\u0026nbsp; delay(1);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n\u0026nbsp;\u003c/div\u003e\r\n","Description_d":"","postDay":18,"PostMonth":"January","PostYear":2023,"Photo":"1_18_2023 6_40_31 AM_blog.jpg","Name":"Edafa","Views":264,"Liked":0,"Category_ID":14,"Category":"NodeMCU Esp8266 "},{"ID":127,"Title":"How PIR Sensor Works and How To Use It with nodemcu","Description":"\u003ch3\u003e\u003cbig\u003e\u003cstrong\u003eWhat is a\u0026nbsp;PIR\u0026nbsp;sensor?\u003c/strong\u003e\u003c/big\u003e\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"\" src=\"https://blog.edafait.com/sensorimages/images/HC-SR501.jpg\" style=\"width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cbig\u003ePIR sensors allow you to sense motion, generally used to detect whether a human has moved in or out of the sensors range. They are small, inexpensive, low-power, easy to use and don\u0026#39;t wear out.\u003c/big\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cbig\u003eFor that reason they are commonly found in appliances and gadgets used in homes or businesses. They are often referred to as PIR, \u0026quot;Passive Infrared\u0026quot;, \u0026quot;Pyroelectric\u0026quot;, or \u0026quot;IR motion\u0026quot; sensors.\u003c/big\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cbig\u003e\u003cstrong\u003eOutput :\u003c/strong\u003e\u003c/big\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eDigital pulse high (3V) when triggered (motion detected) and digital low when idle (no motion detected). Pulse lengths are determined by resistors and capacitors on the PCB and differ from sensor to sensor. Sensitivity range: up to 20 feet (6 meters) 110 degrees x 70 degrees detection range.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"\" src=\"https://blog.edafait.com/sensorimages/images/pir-pcb.jpg\" style=\"width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eDescription\u0026nbsp;\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe PIR sensor that we use in this project is of small size and range of 6 meters If the PIR sensor detects some movement in its range will send to relay to open the light\u003cbr /\u003e\r\n\u0026nbsp;Make the connections as per the diagram given below and then upload the code.\u003cbr /\u003e\r\n\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"\" src=\"https://blog.edafait.com/sensorimages/images/ripdigram.png\" style=\"width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003eint Status = 12; \u0026nbsp;// Digital pin D6\u003cbr /\u003e\r\nint sensor = 13; \u0026nbsp;// Digital pin D7\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// initialize serial\u003cbr /\u003e\r\n\u0026nbsp; pinMode(sensor, INPUT); \u0026nbsp; // declare sensor as input\u003cbr /\u003e\r\n\u0026nbsp; pinMode(Status, OUTPUT); \u0026nbsp;// declare LED as output\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite (Status, LOW);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\nlong state = digitalRead(sensor);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if(state == HIGH) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite (Status, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Motion detected!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite (Status, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Motion absent!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n} \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003eint Status = 12; \u0026nbsp;// Digital pin D6\u003cbr /\u003e\r\nint sensor = 13; \u0026nbsp;// Digital pin D7\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// initialize serial\u003cbr /\u003e\r\n\u0026nbsp; pinMode(sensor, INPUT); \u0026nbsp; // declare sensor as input\u003cbr /\u003e\r\n\u0026nbsp; pinMode(Status, OUTPUT); \u0026nbsp;// declare LED as output\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite (Status, LOW);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\nlong state = digitalRead(sensor);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if(state == HIGH) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite (Status, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Motion detected!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite (Status, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Motion absent!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n} \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","postDay":18,"PostMonth":"September","PostYear":2022,"Photo":"9_18_2022 4_42_25 AM_PIR-Sensor.jpg","Name":"Edafa","Views":319,"Liked":0,"Category_ID":14,"Category":"NodeMCU Esp8266 "},{"ID":125,"Title":"NodeMCU and TEMPERATURE AND HUMIDITY SENSOR with Oled display ( ESP8266 or ESP32 )","Description":"\u003cp\u003eLearn how to display temperature and humidity readings from a DHT11/DHT22 sensor model in an SSD1306 OLED display 128*64 using an ESP32 or an ESP8266 with Arduino IDE\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eProject description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eReal-time temperature and humidity display readings work by USB Cable 5V,\u0026nbsp;It can be used for both indoor and outdoor measurements.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eConnection :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003cstrong\u003eTEMPERATURE AND HUMIDITY SENSOR MODULE\u003c/strong\u003e working 5 V\u0026nbsp; and signal On D3\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003cstrong\u003eOLED display\u003c/strong\u003e working 3.3V and SCK on 1D and SDA On\u0026nbsp; 1D\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"\" src=\"https://blog.edafait.com/sensorimages/nodemcu_oled_temp.png\" style=\"height:385px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#include \u0026lt;SPI.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Wire.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_GFX.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_SSD1306.h\u0026gt;\r\n\u003cp\u003e#define SCREEN_WIDTH 128\u003cbr /\u003e\r\n#define SCREEN_HEIGHT 64\u003cbr /\u003e\r\nAdafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, \u0026amp;Wire, -1);\u003cbr /\u003e\r\nint DHpin = D3; // input/output pin\u003cbr /\u003e\r\nbyte dat5; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\nbyte read_data()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; byte i = 0;\u003cbr /\u003e\r\n\u0026nbsp; byte result = 0;\u003cbr /\u003e\r\n\u0026nbsp; for (i = 0; i \u0026lt; 8; i++) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; while (digitalRead(DHpin) == LOW); // wait 50us\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delayMicroseconds(30); //The duration of the high level is judged to determine whether the data is \u0026#39;0\u0026#39; or \u0026#39;1\u0026#39;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if (digitalRead(DHpin) == HIGH)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; result |= (1 \u0026lt;\u0026lt; (8 - i)); //High in the former, low in the post\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; while (digitalRead(DHpin) == HIGH); //Data \u0026#39;1\u0026#39;, waiting for the next bit of reception\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; return result;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid start_test()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, LOW); //Pull down the bus to send the start signal\u003cbr /\u003e\r\n\u0026nbsp; delay(30); //The delay is greater than 18 ms so that DHT 11 can detect the start signal\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(40); //Wait for DHT11 to respond\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; while(digitalRead(DHpin) == HIGH);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(80); //The DHT11 responds by pulling the bus low for 80us;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if(digitalRead(DHpin) == LOW)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delayMicroseconds(80); //DHT11 pulled up after the bus 80us to start sending data;\u003cbr /\u003e\r\n\u0026nbsp; for(int i = 0; i \u0026lt; 5; i++) //Receiving temperature and humidity data, check bits are not considered;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; dati = read_data();\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, HIGH); //After the completion of a release of data bus, waiting for the host to start the next signal\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{ \u0026nbsp; display.begin(SSD1306_SWITCHCAPVCC, 0x3C); \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n// Display Text\u003cbr /\u003e\r\n\u0026nbsp; display.setTextSize(1);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(5,0);\u003cbr /\u003e\r\n\u0026nbsp; display.println(\u0026quot; TEMPERATURE \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;display.setTextSize(1);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(5,28);\u003cbr /\u003e\r\n\u0026nbsp; display.println(\u0026quot; \u0026amp; HUMIDITY \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\nSerial.begin(9600);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, OUTPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp;start_test();\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Humdity = \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat0, DEC); //Displays the integer bits of humidity;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026#39;.\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat1, DEC); //Displays the decimal places of the humidity;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026#39;%\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Temperature = \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat2, DEC); //Displays the integer bits of temperature;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026#39;.\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat3, DEC); //Displays the decimal places of the temperature;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026#39;C\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; byte checksum = dat0 + dat1 + dat2 + dat3;\u003cbr /\u003e\r\n\u0026nbsp; if (dat4 != checksum)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;-- Checksum Error!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;-- OK\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; delay(1000);\u003cbr /\u003e\r\n// Clear the buffer.\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay(); // Display Text\u003cbr /\u003e\r\n\u0026nbsp; display.setTextSize(1.5);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(10,3);\u003cbr /\u003e\r\n\u0026nbsp;display.println( \u0026quot;Humdity = \u0026quot;+ String(dat0, DEC) +\u0026quot;.\u0026quot;+ String(dat1, DEC) +\u0026quot;%\u0026quot;); display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;display.setTextSize(1.9);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(10,28); display.println( \u0026quot;Temp. = \u0026quot;+ String(dat2, DEC) +\u0026quot;.\u0026quot;+ String(dat3, DEC) +\u0026quot;C\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eCan be added:\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eReal-time clock and alarm system it`s very easy and can be read by smartphones with wifi.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\u003cp\u003eLearn how to display temperature and humidity readings from a DHT11/DHT22 sensor model in an SSD1306 OLED display 128*64 using an ESP32 or an ESP8266 with Arduino IDE\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eProject description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eReal-time temperature and humidity display readings work by USB Cable 5V,\u0026nbsp;It can be used for both indoor and outdoor measurements.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eConnection :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003cstrong\u003eTEMPERATURE AND HUMIDITY SENSOR MODULE\u003c/strong\u003e working 5 V\u0026nbsp; and signal On D3\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003cstrong\u003eOLED display\u003c/strong\u003e working 3.3V and SCK on 1D and SDA On\u0026nbsp; 1D\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"\" src=\"https://blog.edafait.com/sensorimages/nodemcu_oled_temp.png\" style=\"height:385px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#include \u0026lt;SPI.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Wire.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_GFX.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_SSD1306.h\u0026gt;\r\n\u003cp\u003e#define SCREEN_WIDTH 128\u003cbr /\u003e\r\n#define SCREEN_HEIGHT 64\u003cbr /\u003e\r\nAdafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, \u0026amp;Wire, -1);\u003cbr /\u003e\r\nint DHpin = D3; // input/output pin\u003cbr /\u003e\r\nbyte dat5; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\nbyte read_data()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; byte i = 0;\u003cbr /\u003e\r\n\u0026nbsp; byte result = 0;\u003cbr /\u003e\r\n\u0026nbsp; for (i = 0; i \u0026lt; 8; i++) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; while (digitalRead(DHpin) == LOW); // wait 50us\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delayMicroseconds(30); //The duration of the high level is judged to determine whether the data is \u0026#39;0\u0026#39; or \u0026#39;1\u0026#39;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if (digitalRead(DHpin) == HIGH)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; result |= (1 \u0026lt;\u0026lt; (8 - i)); //High in the former, low in the post\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; while (digitalRead(DHpin) == HIGH); //Data \u0026#39;1\u0026#39;, waiting for the next bit of reception\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; return result;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid start_test()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, LOW); //Pull down the bus to send the start signal\u003cbr /\u003e\r\n\u0026nbsp; delay(30); //The delay is greater than 18 ms so that DHT 11 can detect the start signal\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(40); //Wait for DHT11 to respond\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; while(digitalRead(DHpin) == HIGH);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(80); //The DHT11 responds by pulling the bus low for 80us;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if(digitalRead(DHpin) == LOW)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delayMicroseconds(80); //DHT11 pulled up after the bus 80us to start sending data;\u003cbr /\u003e\r\n\u0026nbsp; for(int i = 0; i \u0026lt; 5; i++) //Receiving temperature and humidity data, check bits are not considered;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; dati = read_data();\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, HIGH); //After the completion of a release of data bus, waiting for the host to start the next signal\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{ \u0026nbsp; display.begin(SSD1306_SWITCHCAPVCC, 0x3C); \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n// Display Text\u003cbr /\u003e\r\n\u0026nbsp; display.setTextSize(1);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(5,0);\u003cbr /\u003e\r\n\u0026nbsp; display.println(\u0026quot; TEMPERATURE \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;display.setTextSize(1);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(5,28);\u003cbr /\u003e\r\n\u0026nbsp; display.println(\u0026quot; \u0026amp; HUMIDITY \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\nSerial.begin(9600);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, OUTPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp;start_test();\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Humdity = \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat0, DEC); //Displays the integer bits of humidity;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026#39;.\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat1, DEC); //Displays the decimal places of the humidity;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026#39;%\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Temperature = \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat2, DEC); //Displays the integer bits of temperature;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026#39;.\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat3, DEC); //Displays the decimal places of the temperature;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026#39;C\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; byte checksum = dat0 + dat1 + dat2 + dat3;\u003cbr /\u003e\r\n\u0026nbsp; if (dat4 != checksum)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;-- Checksum Error!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;-- OK\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; delay(1000);\u003cbr /\u003e\r\n// Clear the buffer.\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay(); // Display Text\u003cbr /\u003e\r\n\u0026nbsp; display.setTextSize(1.5);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(10,3);\u003cbr /\u003e\r\n\u0026nbsp;display.println( \u0026quot;Humdity = \u0026quot;+ String(dat0, DEC) +\u0026quot;.\u0026quot;+ String(dat1, DEC) +\u0026quot;%\u0026quot;); display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;display.setTextSize(1.9);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(10,28); display.println( \u0026quot;Temp. = \u0026quot;+ String(dat2, DEC) +\u0026quot;.\u0026quot;+ String(dat3, DEC) +\u0026quot;C\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eCan be added:\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eReal-time clock and alarm system it`s very easy and can be read by smartphones with wifi.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","postDay":9,"PostMonth":"September","PostYear":2022,"Photo":"9_9_2022 8_39_43 PM_DHT11-Temperature-and-humidity2.jpg","Name":"Edafa","Views":323,"Liked":0,"Category_ID":14,"Category":"NodeMCU Esp8266 "},{"ID":124,"Title":" Ultrasonic Distance Sensor - HC-SR04","Description":"\u003cp\u003eUltrasonic Sensor Ultrasonic Sensors measure the distance to the target by measuring the time between the emission and reception. An optical sensor has a transmitter and receiver, whereas an ultrasonic sensor uses a single ultrasonic element for both emission and reception.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"15569-Ultrasonic_Distance_Sensor_-_HC-SR04-04a\" src=\"HTTPS://blog.edafait.com/sensorimages/15569-Ultrasonic_Distance_Sensor_-_HC-SR04-04a.jpg\" style=\"height:250px; width:250px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003eOperating Voltage: 5V DC\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003eOperating Current: 15mA\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003eMeasure Angle: 15\u0026deg; \u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003eRanging Distance: 2cm - 4m\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"15569-Ultrasonic_Distance_Sensor_-_HC-SR04-04a\" src=\"HTTPS://blog.edafait.com/sensorimages/utrasonic.png\" style=\"height:365px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#define echoPin 2 // attach pin D2 Arduino to pin Echo of HC-SR04\u003cbr /\u003e\r\n#define trigPin 3 //attach pin D3 Arduino to pin Trig of HC-SR04\u003cbr /\u003e\r\nint led_green = 13;\u003cbr /\u003e\r\nint led_yello = 12;\u003cbr /\u003e\r\nint led_red = 11;\u003cbr /\u003e\r\n// defines variables\u003cbr /\u003e\r\nlong duration; // variable for the duration of sound wave travel\u003cbr /\u003e\r\nint distance; // variable for the distance measurement\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003evoid setup()\u0026nbsp;\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT\u003cbr /\u003e\r\n\u0026nbsp; pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600); // // Serial Communication is starting with 9600 of baudrate speed\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Ultrasonic Sensor HC-SR04 Test\u0026quot;); // print some text in Serial Monitor\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;with Arduino UNO R3\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(led_green, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(led_yello, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(led_red, OUTPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u0026nbsp;\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; // Clears the trigPin condition\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(trigPin, LOW);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(2);\u003cbr /\u003e\r\n\u0026nbsp; // Sets the trigPin HIGH (ACTIVE) for 10 microseconds\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(trigPin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(10);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(trigPin, LOW);\u003cbr /\u003e\r\n\u0026nbsp; // Reads the echoPin, returns the sound wave travel time in microseconds\u003cbr /\u003e\r\n\u0026nbsp; duration = pulseIn(echoPin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; // Calculating the distance\u003cbr /\u003e\r\n\u0026nbsp; distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back)\u003cbr /\u003e\r\n\u0026nbsp; // Displays the distance on the Serial Monitor\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Distance: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(distance);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp;if(distance \u0026gt; 8)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_green, HIGH); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_yello, LOW); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_red, LOW); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;else \u0026nbsp;if(distance \u0026lt; 8)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_green, LOW); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_yello, HIGH); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_red, LOW); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if(distance \u0026lt; 4)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_green, LOW); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_yello,LOW ); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_red, HIGH); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot; cm\u0026quot;);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n","Description_d":"\u003cp\u003eUltrasonic Sensor Ultrasonic Sensors measure the distance to the target by measuring the time between the emission and reception. An optical sensor has a transmitter and receiver, whereas an ultrasonic sensor uses a single ultrasonic element for both emission and reception.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003eOperating Voltage: 5V DC\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003eOperating Current: 15mA\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003eMeasure Angle: 15\u0026deg; \u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ccode\u003eRanging Distance: 2cm - 4m\u003c/code\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#define echoPin 2 // attach pin D2 Arduino to pin Echo of HC-SR04\u003cbr /\u003e\r\n#define trigPin 3 //attach pin D3 Arduino to pin Trig of HC-SR04\u003cbr /\u003e\r\nint led_green = 13;\u003cbr /\u003e\r\nint led_yello = 12;\u003cbr /\u003e\r\nint led_red = 11;\u003cbr /\u003e\r\n// defines variables\u003cbr /\u003e\r\nlong duration; // variable for the duration of sound wave travel\u003cbr /\u003e\r\nint distance; // variable for the distance measurement\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003evoid setup()\u0026nbsp;\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT\u003cbr /\u003e\r\n\u0026nbsp; pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600); // // Serial Communication is starting with 9600 of baudrate speed\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Ultrasonic Sensor HC-SR04 Test\u0026quot;); // print some text in Serial Monitor\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;with Arduino UNO R3\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(led_green, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(led_yello, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(led_red, OUTPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u0026nbsp;\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; // Clears the trigPin condition\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(trigPin, LOW);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(2);\u003cbr /\u003e\r\n\u0026nbsp; // Sets the trigPin HIGH (ACTIVE) for 10 microseconds\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(trigPin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(10);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(trigPin, LOW);\u003cbr /\u003e\r\n\u0026nbsp; // Reads the echoPin, returns the sound wave travel time in microseconds\u003cbr /\u003e\r\n\u0026nbsp; duration = pulseIn(echoPin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; // Calculating the distance\u003cbr /\u003e\r\n\u0026nbsp; distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back)\u003cbr /\u003e\r\n\u0026nbsp; // Displays the distance on the Serial Monitor\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Distance: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(distance);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp;if(distance \u0026gt; 8)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_green, HIGH); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_yello, LOW); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_red, LOW); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;else \u0026nbsp;if(distance \u0026lt; 8)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_green, LOW); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_yello, HIGH); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_red, LOW); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if(distance \u0026lt; 4)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_green, LOW); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_yello,LOW ); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(led_red, HIGH); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot; cm\u0026quot;);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n","postDay":21,"PostMonth":"August","PostYear":2022,"Photo":"8_21_2022 4_45_18 AM_Ultrasonic-Sensors.jpg","Name":"Edafa","Views":287,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":123,"Title":"mpu9250 - mpu9265 calibration arduino","Description":"\u003cp\u003eIn this tutorial, we will learn to interface MPU9250 \u0026amp;\u0026nbsp;MPU9265\u0026nbsp;9-DOF Gyro Accelerator Magnetometer Module with Arduino on unity3d.\u003c/p\u003e\r\n\r\n\u003cp\u003ewe will see an example to measure 3-axis values of Gyro, Accelerator Magnetometer Arduino ide and unity3d\u003c/p\u003e\r\n\r\n\u003cp\u003esamples the gyros, accelerometers, and magnetometers\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"MPU9250-9-DOF-MPU9265-9-DOF\" src=\"HTTPS://blog.edafait.com/sensorimages/MPU9250-9-DOF-MEMS-Sensor-Module-pinout-diagram.jpg\" style=\"height:265px; width:300px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003ecalibrate\u0026nbsp;an\u0026nbsp;MPU9250\u0026nbsp;DMP (accelerometer and gyroscope and magnetometers\u0026nbsp;)\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eThe\u0026nbsp;MPU-9250\u0026nbsp;is a\u0026nbsp;9-axis motion tracking device that combines a 3-axis gyroscope, 3-axis accelerometer, 3-axis magnetometer, and a Digital Motion Processor\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"MPU9250-9-DOF-MPU9265-9-DOF\" src=\"HTTPS://blog.edafait.com/sensorimages/Interfacing-MPU9250-9-Axis-Gyro-Accelerator-Magnetometer-Module-with-Arduino (1).jpg\" style=\"height:367px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#include \u0026quot;MPU9250.h\u0026quot;\u003cbr /\u003e\r\n// an MPU9250 object with the MPU-9250 sensor on I2C bus 0 with address 0x68\u003cbr /\u003e\r\n\u003cbr /\u003e\r\n\u003cbr /\u003e\r\nMPU9250 IMU(Wire,0x68);\u003cbr /\u003e\r\n\u003cbr /\u003e\r\n\u003cbr /\u003e\r\nint status; void setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u003cbr /\u003e\r\n\u0026nbsp; // serial to display data\u003cbr /\u003e\r\n\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp; while(!Serial) {} \u0026nbsp; // start communication with IMU\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; status = IMU.begin();\u003cbr /\u003e\r\n\u0026nbsp; if (status \u0026lt; 0) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;IMU initialization unsuccessful\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Check IMU wiring or try cycling power\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.print(\u0026quot;Status: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(status);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; while(1) {}\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; // read the sensor\u003cbr /\u003e\r\n\u0026nbsp; IMU.readSensor();\u003cbr /\u003e\r\n\u0026nbsp; // display the data\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(IMU.getAccelX_mss(),0);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(IMU.getAccelY_mss(),0);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(IMU.getAccelZ_mss(),0);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(IMU.getGyroX_rads(),1);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(IMU.getGyroY_rads(),1);\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(IMU.getGyroZ_rads(),1);\u003cbr /\u003e\r\nSerial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(IMU.getMagX_uT(),0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(IMU.getMagY_uT(),0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(IMU.getMagZ_uT(),0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(IMU.getTemperature_C(),2);\u003cbr /\u003e\r\n\u0026nbsp; delay(100);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eDownload unitypackage\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?mpu9250_9265_earth.unitypackage\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?mpu9250_9265_earth.unitypackage\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\u003cp\u003esamples the gyros, accelerometers, and magnetometers\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003ecalibrate\u0026nbsp;an\u0026nbsp;MPU9250\u0026nbsp;DMP (accelerometer and gyroscope and magnetometers\u0026nbsp;)\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eThe\u0026nbsp;MPU-9250\u0026nbsp;is a\u0026nbsp;9-axis motion tracking device that combines a 3-axis gyroscope, 3-axis accelerometer, 3-axis magnetometer, and a Digital Motion Processor\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#include \u0026quot;MPU9250.h\u0026quot;\u003cbr /\u003e\r\n// an MPU9250 object with the MPU-9250 sensor on I2C bus 0 with address 0x68\u003cbr /\u003e\r\n\u003cbr /\u003e\r\n\u003cbr /\u003e\r\nMPU9250 IMU(Wire,0x68);\u003cbr /\u003e\r\n\u003cbr /\u003e\r\n\u003cbr /\u003e\r\nint status; void setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u003cbr /\u003e\r\n\u0026nbsp; // serial to display data\u003cbr /\u003e\r\n\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp; while(!Serial) {} \u0026nbsp; // start communication with IMU\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; status = IMU.begin();\u003cbr /\u003e\r\n\u0026nbsp; if (status \u0026lt; 0) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;IMU initialization unsuccessful\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Check IMU wiring or try cycling power\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.print(\u0026quot;Status: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(status);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; while(1) {}\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; // read the sensor\u003cbr /\u003e\r\n\u0026nbsp; IMU.readSensor();\u003cbr /\u003e\r\n\u0026nbsp; // display the data\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(IMU.getAccelX_mss(),0);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(IMU.getAccelY_mss(),0);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(IMU.getAccelZ_mss(),0);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(IMU.getGyroX_rads(),1);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(IMU.getGyroY_rads(),1);\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(IMU.getGyroZ_rads(),1);\u003cbr /\u003e\r\nSerial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(IMU.getMagX_uT(),0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(IMU.getMagY_uT(),0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(IMU.getMagZ_uT(),0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(IMU.getTemperature_C(),2);\u003cbr /\u003e\r\n\u0026nbsp; delay(100);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n","postDay":19,"PostMonth":"August","PostYear":2022,"Photo":"8_19_2022 8_57_26 AM_mpu92502.jpg","Name":"Edafa","Views":925,"Liked":0,"Category_ID":13,"Category":"arduino with Unity3d"},{"ID":121,"Title":"Voice control switch","Description":"\u003cp\u003e\u003cstrong\u003eVoice Control Switch used\u0026nbsp; :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003e\u003cstrong\u003eNodeMCU ESP8266\u0026nbsp;\u003c/strong\u003e\u003c/li\u003e\r\n\t\u003cli\u003e\u003cstrong\u003eRelay\u0026nbsp;\u003c/strong\u003e\u003c/li\u003e\r\n\t\u003cli\u003e\u003cstrong\u003eany device on your network (Smartphone - PC)\u003c/strong\u003e\u003cstrong\u003e\u0026nbsp;\u003c/strong\u003e\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg src=\"https://blog.edafait.com/sensorimages/smart.jpg\" style=\"height:297px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eHTML Code\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003ePage 1 Voice recognize:\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026lt;!doctype html\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026lt;head\u0026gt;\u003cbr /\u003e\r\n\u0026lt;meta name=\u0026quot;viewport\u0026quot; content=\u0026quot;width=device-width, initial-scale=1\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026lt;style\u0026gt;\u003cbr /\u003e\r\nhtml {\u003cbr /\u003e\r\nwidth:100%;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003ebody {\u003cbr /\u003e\r\nbackground-color:#f2f2f2;\u003cbr /\u003e\r\nmargin:0;\u003cbr /\u003e\r\npadding:0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003efooter {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;position: fixed;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;left: 0;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;bottom: 0px;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;width: 100%;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp;text-align: left;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e}\u003cbr /\u003e\r\n.footer-dark {\u003cbr /\u003e\r\n\u0026nbsp;text-align:left;\u003cbr /\u003e\r\n\u0026nbsp; padding:50px 0;\u003cbr /\u003e\r\n\u0026nbsp; button:0px;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark h3 {\u003cbr /\u003e\r\n\u0026nbsp;text-align:left;\u003cbr /\u003e\r\n\u0026nbsp; margin-top:0;\u003cbr /\u003e\r\n\u0026nbsp; margin-bottom:12px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight:bold;\u003cbr /\u003e\r\n\u0026nbsp; font-size:16px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark ul {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; padding:0;\u003cbr /\u003e\r\n\u0026nbsp; list-style:none;\u003cbr /\u003e\r\n\u0026nbsp; line-height:1.6;\u003cbr /\u003e\r\n\u0026nbsp; font-size:14px;\u003cbr /\u003e\r\n\u0026nbsp; margin-bottom:0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark {\u003cbr /\u003e\r\n\u0026nbsp;text-align:left;\u003cbr /\u003e\r\n\u0026nbsp; color:inherit;\u003cbr /\u003e\r\n\u0026nbsp; text-decoration:none;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.6;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark a:hover {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.8;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e@media (max-width:767px) {\u003cbr /\u003e\r\n\u0026nbsp; .footer-dark .item:not(.social) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; padding-bottom:20px;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark .item.text {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; margin-bottom:36px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e@media (max-width:767px) {\u003cbr /\u003e\r\n\u0026nbsp; .footer-dark .item.text {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; margin-bottom:0;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark .item.text p {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.6;\u003cbr /\u003e\r\n\u0026nbsp; margin-bottom:0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark .item.social {\u003cbr /\u003e\r\n\u0026nbsp; text-align:center;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e@media (max-width:991px) {\u003cbr /\u003e\r\n\u0026nbsp; .footer-dark .item.social {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; margin-top:20px;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark .item.social \u0026gt; a {\u003cbr /\u003e\r\n\u0026nbsp; font-size:20px;\u003cbr /\u003e\r\n\u0026nbsp; width:36px;\u003cbr /\u003e\r\n\u0026nbsp; height:36px;\u003cbr /\u003e\r\n\u0026nbsp; line-height:36px;\u003cbr /\u003e\r\n\u0026nbsp; display:inline-block;\u003cbr /\u003e\r\n\u0026nbsp; text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; border-radius:50%;\u003cbr /\u003e\r\n\u0026nbsp; box-shadow:0 0 0 1px rgba(255,255,255,0.4);\u003cbr /\u003e\r\n\u0026nbsp; margin:0 8px;\u003cbr /\u003e\r\n\u0026nbsp; color:#fff;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.75;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n.footer-dark .item.social \u0026gt; a:hover {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.9;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark .copyright {\u003cbr /\u003e\r\n\u0026nbsp; text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; padding-top:24px;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.3;\u003cbr /\u003e\r\n\u0026nbsp; font-size:13px;\u003cbr /\u003e\r\n\u0026nbsp; margin-bottom:0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026lt;/style\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026lt;title\u0026gt;JavaScript Speech to Text\u0026lt;/title\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026lt;/head\u0026gt;\u003cbr /\u003e\r\n\u0026lt;body class=\u0026quot;d-flex flex-column\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026lt;div style=\u0026quot;padding:40px\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026lt;h2\u0026gt;JavaScript Speech to Text\u0026lt;/h2\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;p\u0026gt;Click on the below button and speak something...\u0026lt;/p\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;p\u0026gt;\u0026lt;button type=\u0026quot;button\u0026quot; onclick=\u0026quot;runSpeechRecognition()\u0026quot;\u0026gt;Speech to Text\u0026lt;/button\u0026gt; \u0026amp;nbsp; \u0026lt;span id=\u0026quot;action\u0026quot;\u0026gt;\u0026lt;/span\u0026gt;\u0026lt;/p\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div id=\u0026quot;output\u0026quot; class=\u0026quot;hide\u0026quot;\u0026gt;\u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026lt;script\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp;/* JS comes here */\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;function runSpeechRecognition() {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// get output div reference\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;var output = document.getElementById(\u0026quot;output\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// get action element reference\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;var action = document.getElementById(\u0026quot;action\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // new speech recognition object\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var SpeechRecognition = SpeechRecognition || webkitSpeechRecognition;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var recognition = new SpeechRecognition();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // This runs when the speech recognition service starts\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; recognition.onstart = function() {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; action.innerHTML = \u0026quot;\u0026lt;small\u0026gt;listening, please speak...\u0026lt;/small\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; };\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; recognition.onspeechend = function() {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; action.innerHTML = \u0026quot;\u0026lt;small\u0026gt;stopped listening, hope you are done...\u0026lt;/small\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; recognition.stop();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // This runs when the speech recognition service returns result\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; recognition.onresult = function(event) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var transcript = event.results00.transcript;\u003cbr /\u003e\r\n//var transcript =\u0026quot;open one\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var confidence = event.results00.confidence;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; output.innerHTML = \u0026quot;\u0026lt;b\u0026gt;Text:\u0026lt;/b\u0026gt; \u0026quot; + transcript + \u0026quot;\u0026lt;br/\u0026gt; \u0026lt;b\u0026gt;Confidence:\u0026lt;/b\u0026gt; \u0026quot; + confidence*100+\u0026quot;%\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; output.classList.remove(\u0026quot;hide\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003eif (transcript ==\u0026quot;open number one\u0026quot; || transcript ==\u0026quot;on number one\u0026quot;)\u003cbr /\u003e\r\n{\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003evar i = document.createElement(\u0026quot;img\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003ei.src = \u0026quot;http://192.168.1.7/?State=o_on\u0026quot;;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003eif (transcript ==\u0026quot;off number one\u0026quot;||transcript ==\u0026quot;number one\u0026quot;)\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\nvar i = document.createElement(\u0026quot;img\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003ei.src = \u0026quot;http://192.168.1.7/?State=o_off\u0026quot;;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nif (transcript ==\u0026quot;open one\u0026quot; ||transcript ==\u0026quot;on number two\u0026quot;||transcript ==\u0026quot;open number two\u0026quot;)\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\nvar i = document.createElement(\u0026quot;img\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003ei.src = \u0026quot;http://192.168.1.7/?State=t_on\u0026quot;;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003eif (transcript ==\u0026quot;off number 2\u0026quot; ||transcript ==\u0026quot;off number two\u0026quot; ||transcript ==\u0026quot;number two\u0026quot; )\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\nvar i = document.createElement(\u0026quot;img\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003ei.src = \u0026quot;http://192.168.1.7/?State=t_off\u0026quot;;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; };\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// start recognition\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;recognition.start();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026lt;/script\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026lt;!-- Footer --\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;footer\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;footer\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;container\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;row\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026lt;div class=\u0026quot;footer-dark\u0026quot;\u0026gt;\u0026lt;a href=\u0026quot;index.html\u0026quot;\u0026gt;\u0026lt;img width=\u0026quot;60\u0026quot; src=\u0026quot;img/voice.png\u0026quot;\u0026gt;\u0026lt;/a\u0026gt;\u0026amp;nbsp;\u0026amp;nbsp;\u0026lt;a href=\u0026quot;button.html\u0026quot;\u0026gt;\u0026lt;img \u0026nbsp;width=\u0026quot;60\u0026quot; src=\u0026quot;img/home.png\u0026quot;\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/footer\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026lt;/body\u0026gt;\u003cbr /\u003e\r\n\u0026lt;/html\u0026gt;\u003c/div\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003ePage 2 button switch :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026lt;!doctype html\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026lt;head\u0026gt;\u003cbr /\u003e\r\n\u0026lt;meta name=\u0026quot;viewport\u0026quot; content=\u0026quot;width=device-width, initial-scale=1.0\u0026quot;\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026lt;style\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\nhtml {\u003cbr /\u003e\r\nwidth:100%;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003ebody {\u003cbr /\u003e\r\nbackground-color:#f2f2f2;\u003cbr /\u003e\r\nmargin:0;\u003cbr /\u003e\r\npadding:0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003efooter {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;position: fixed;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;left: 0;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;bottom: 0px;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;width: 100%;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp;text-align: center;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#app-cover {\u003cbr /\u003e\r\n\u0026nbsp; display: table;\u003cbr /\u003e\r\n\u0026nbsp; width: 100%;\u003cbr /\u003e\r\n\u0026nbsp; margin: 80px auto;\u003cbr /\u003e\r\n\u0026nbsp; counter-reset: button-counter;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.row {\u003cbr /\u003e\r\n\u0026nbsp; display: table-row;\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n.title\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp;margin-left: 25px;}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.rowspace\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\nheight:100px;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n.toggle-button-cover {\u003cbr /\u003e\r\n\u0026nbsp; display: table-cell;\u003cbr /\u003e\r\n\u0026nbsp; position: relative;\u003cbr /\u003e\r\n\u0026nbsp; width: 200px;\u003cbr /\u003e\r\n\u0026nbsp; height: 140px;\u003cbr /\u003e\r\n\u0026nbsp; box-sizing: border-box;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.button-cover {\u003cbr /\u003e\r\n\u0026nbsp; height: 100px;\u003cbr /\u003e\r\n\u0026nbsp; margin: 20px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; box-shadow: 0 10px 20px -8px #c5d6d6;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.button-cover:before {\u003cbr /\u003e\r\n\u0026nbsp; counter-increment: button-counter;\u003cbr /\u003e\r\n\u0026nbsp; content: counter(button-counter);\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; right: 0;\u003cbr /\u003e\r\n\u0026nbsp; bottom: 0;\u003cbr /\u003e\r\n\u0026nbsp; color: #d7e3e3;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 12px;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 5px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.button-cover,\u003cbr /\u003e\r\n.knobs,\u003cbr /\u003e\r\n.layer {\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 0;\u003cbr /\u003e\r\n\u0026nbsp; right: 0;\u003cbr /\u003e\r\n\u0026nbsp; bottom: 0;\u003cbr /\u003e\r\n\u0026nbsp; left: 0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.button {\u003cbr /\u003e\r\n\u0026nbsp; position: relative;\u003cbr /\u003e\r\n\u0026nbsp; top: 50%;\u003cbr /\u003e\r\n\u0026nbsp; width: 74px;\u003cbr /\u003e\r\n\u0026nbsp; height: 36px;\u003cbr /\u003e\r\n\u0026nbsp; margin: -20px auto 0 auto;\u003cbr /\u003e\r\n\u0026nbsp; overflow: hidden;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.button.r,\u003cbr /\u003e\r\n.button.r .layer {\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 100px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.button.b2 {\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 2px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.checkbox {\u003cbr /\u003e\r\n\u0026nbsp; position: relative;\u003cbr /\u003e\r\n\u0026nbsp; width: 100%;\u003cbr /\u003e\r\n\u0026nbsp; height: 100%;\u003cbr /\u003e\r\n\u0026nbsp; padding: 0;\u003cbr /\u003e\r\n\u0026nbsp; margin: 0;\u003cbr /\u003e\r\n\u0026nbsp; opacity: 0;\u003cbr /\u003e\r\n\u0026nbsp; cursor: pointer;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 3;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.knobs {\u003cbr /\u003e\r\n\u0026nbsp; z-index: 2;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.layer {\u003cbr /\u003e\r\n\u0026nbsp; width: 100%;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #ebf7fc;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 1 */\u003cbr /\u003e\r\n#button-1 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 50%;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15) all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-1 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-1 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-1 .knobs,\u003cbr /\u003e\r\n#button-1 .knobs:before,\u003cbr /\u003e\r\n#button-1 .layer {\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 2 */\u003cbr /\u003e\r\n#button-2 .knobs:before,\u003cbr /\u003e\r\n#button-2 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 50%;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-2 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-2 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-2 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; right: -28px;\u003cbr /\u003e\r\n\u0026nbsp; left: auto;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-2 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; left: -28px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-2 .checkbox:checked + .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; right: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-2 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 3 */\u003cbr /\u003e\r\n#button-3 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;On\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 50%;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all, left 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-3 .checkbox:active + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; width: 46px;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 100px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-3 .checkbox:checked:active + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; margin-left: -26px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-3 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;Off\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-3 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 4 */\u003cbr /\u003e\r\n#button-4 .knobs:before,\u003cbr /\u003e\r\n#button-4 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 50%;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15) all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-4 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;ON\u0026quot;;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-4 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;Off\u0026quot;;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-4 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; top: -28px;\u003cbr /\u003e\r\n\u0026nbsp; right: 4px;\u003cbr /\u003e\r\n\u0026nbsp; left: auto;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-4 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; top: -28px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-4 .checkbox:checked + .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-4 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 5 */\u003cbr /\u003e\r\n#button-5 {\u003cbr /\u003e\r\n\u0026nbsp; perspective: 60px;\u003cbr /\u003e\r\n\u0026nbsp; overflow: visible;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-5 .knobs:before,\u003cbr /\u003e\r\n#button-5 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 50%;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15) all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-5 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-5 .knobs span:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;On\u0026quot;;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-5 .knobs:before,\u003cbr /\u003e\r\n#button-5 .layer {\u003cbr /\u003e\r\n\u0026nbsp; transform: rotateY(0);\u003cbr /\u003e\r\n\u0026nbsp; transform-origin: center;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-5 .checkbox:checked + .knobs:before,\u003cbr /\u003e\r\n#button-5 .checkbox:checked + .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-5 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; transform: rotateY(180deg);\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-5 .checkbox:checked + .knobs span:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;Off\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-5 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n\u0026nbsp; transform: rotateY(-180deg);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-5 .knobs,\u003cbr /\u003e\r\n#button-5 .knobs:before,\u003cbr /\u003e\r\n#button-5 .layer {\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 6 */\u003cbr /\u003e\r\n#button-6 {\u003cbr /\u003e\r\n\u0026nbsp; overflow: visible;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-6 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;On\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 50%;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-6 .layer,\u003cbr /\u003e\r\n#button-6 .knobs,\u003cbr /\u003e\r\n#button-6 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; transform: rotateZ(0);\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.4s cubic-bezier(0.18, 0.89, 0.35, 1.15) all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-6 .checkbox:checked + .knobs {\u003cbr /\u003e\r\n\u0026nbsp; transform: rotateZ(-180deg);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-6 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n\u0026nbsp; transform: rotateZ(180deg);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-6 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n\u0026nbsp; transform: rotateZ(180deg);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 7 */\u003cbr /\u003e\r\n#button-7 .knobs:before,\u003cbr /\u003e\r\n#button-7 .knobs:after,\u003cbr /\u003e\r\n#button-7 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 50%;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-7 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;On\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; opacity: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-7 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;Off\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; width: 14px;\u003cbr /\u003e\r\n\u0026nbsp; text-align: left;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 7px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n\u0026nbsp; opacity: 0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-7 .knobs:before,\u003cbr /\u003e\r\n#button-7 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 2;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-7 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.2s ease all;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-7 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; opacity: 0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-7 .checkbox:checked + .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; opacity: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-7 .checkbox:checked + .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; top: 14px;\u003cbr /\u003e\r\n\u0026nbsp; left: 56px;\u003cbr /\u003e\r\n\u0026nbsp; width: 2px;\u003cbr /\u003e\r\n\u0026nbsp; height: 2px;\u003cbr /\u003e\r\n\u0026nbsp; padding: 3px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 3;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-7 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 8 */\u003cbr /\u003e\r\n#button-8 .knobs:before,\u003cbr /\u003e\r\n#button-8 .knobs:after,\u003cbr /\u003e\r\n#button-8 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 50%;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-8 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-8 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n\u0026nbsp; opacity: 0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-8 .knobs:before,\u003cbr /\u003e\r\n#button-8 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; z-index: 2;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-8 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-8 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; opacity: 0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-8 .checkbox:checked + .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; opacity: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-8 .checkbox:checked + .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n\u0026nbsp; transform: scale(4);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 9 */\u003cbr /\u003e\r\n#button-9 .knobs:before,\u003cbr /\u003e\r\n#button-9 .knobs:after,\u003cbr /\u003e\r\n#button-9 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 50%;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.4s cubic-bezier(0.18, 0.89, 0.35, 1.15) all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-9 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-9 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; right: -24px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-9 .knobs:before,\u003cbr /\u003e\r\n#button-9 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 2;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-9 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-9 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; left: -24px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-9 .checkbox:checked + .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; right: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-9 .checkbox:checked + .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-9 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 10 */\u003cbr /\u003e\r\n#button-10 .knobs:before,\u003cbr /\u003e\r\n#button-10 .knobs:after,\u003cbr /\u003e\r\n#button-10 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 2px;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-10 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-10 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; right: 4px;\u003cbr /\u003e\r\n\u0026nbsp; color: #4e4e4e;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-10 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; display: inline-block;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-10 .checkbox:checked + .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; color: #4e4e4e;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-10 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-10 .checkbox:checked + .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-10 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 11 */\u003cbr /\u003e\r\n#button-11 {\u003cbr /\u003e\r\n\u0026nbsp; overflow: visible;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-11 .knobs {\u003cbr /\u003e\r\n\u0026nbsp; perspective: 70px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-11 .knobs:before,\u003cbr /\u003e\r\n#button-11 .knobs:after,\u003cbr /\u003e\r\n#button-11 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 2px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-11 .knobs:before,\u003cbr /\u003e\r\n#button-11 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; color: #4e4e4e;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-11 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-11 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; right: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-11 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; right: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 33px;\u003cbr /\u003e\r\n\u0026nbsp; height: 28px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; transform: rotateY(0);\u003cbr /\u003e\r\n\u0026nbsp; transform-origin: 0% 50%;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.6s ease all;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-11 .checkbox:checked + .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; transform: rotateY(-180deg);\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-11 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 12 */\u003cbr /\u003e\r\n#button-12 .knobs:before,\u003cbr /\u003e\r\n#button-12 .knobs:after,\u003cbr /\u003e\r\n#button-12 .knobs span,\u003cbr /\u003e\r\n#button-12 .knobs span:before,\u003cbr /\u003e\r\n#button-12 .knobs span:after {\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 2px;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-12 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-12 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; right: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-12 .knobs:before,\u003cbr /\u003e\r\n#button-12 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; width: 27px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; color: #4e4e4e;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 3px;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-12 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; display: inline-block;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 2;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-12 .knobs span,\u003cbr /\u003e\r\n#button-12 .knobs span:before,\u003cbr /\u003e\r\n#button-12 .knobs span:after {\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-12 .knobs span:before,\u003cbr /\u003e\r\n#button-12 .knobs span:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; top: 0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-12 .knobs span:before {\u003cbr /\u003e\r\n\u0026nbsp; left: -28px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-12 .knobs span:after {\u003cbr /\u003e\r\n\u0026nbsp; right: -42px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-12 .checkbox:checked + .knobs span:before {\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-12 .checkbox:checked + .knobs span:after {\u003cbr /\u003e\r\n\u0026nbsp; right: -74px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-12 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 13 */\u003cbr /\u003e\r\n#button-13 .knobs:before,\u003cbr /\u003e\r\n#button-13 .knobs:after,\u003cbr /\u003e\r\n#button-13 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 2px;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-13 .knobs:before,\u003cbr /\u003e\r\n#button-13 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; color: #4e4e4e;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-13 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-13 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; right: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-13 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; width: 25px;\u003cbr /\u003e\r\n\u0026nbsp; left: 37px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 2;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-13 .checkbox:checked + .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-13 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 14 */\u003cbr /\u003e\r\n#button-14 .knobs:before,\u003cbr /\u003e\r\n#button-14 .knobs:after,\u003cbr /\u003e\r\n#button-14 .knobs span:before,\u003cbr /\u003e\r\n#button-14 .knobs span:after {\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 2px;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-14 .knobs:before,\u003cbr /\u003e\r\n#button-14 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; color: #4e4e4e;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-14 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-14 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; right: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-14 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; top: 0;\u003cbr /\u003e\r\n\u0026nbsp; left: 0;\u003cbr /\u003e\r\n\u0026nbsp; display: block;\u003cbr /\u003e\r\n\u0026nbsp; width: 100%;\u003cbr /\u003e\r\n\u0026nbsp; height: 100%;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-14 .knobs span:before {\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; top: -28px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-14 .knobs span:after {\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; left: 39px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-14 .knobs span:before,\u003cbr /\u003e\r\n#button-14 .knobs span:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; width: 23px;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 2;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-14 .checkbox:checked + .knobs span:before {\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-14 .checkbox:checked + .knobs span:after {\u003cbr /\u003e\r\n\u0026nbsp; top: -28px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-14 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 15 */\u003cbr /\u003e\r\n#button-15 .knobs:before,\u003cbr /\u003e\r\n#button-15 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; opacity: 1;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 2px;\u003cbr /\u003e\r\n\u0026nbsp; transform: scale(1);\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15) all;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-15 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-15 .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; right: 4px;\u003cbr /\u003e\r\n\u0026nbsp; opacity: 0;\u003cbr /\u003e\r\n\u0026nbsp; transform: scale(4);\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-15 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; opacity: 0;\u003cbr /\u003e\r\n\u0026nbsp; transform: scale(4);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-15 .checkbox:checked + .knobs:after {\u003cbr /\u003e\r\n\u0026nbsp; opacity: 1;\u003cbr /\u003e\r\n\u0026nbsp; transform: scale(1);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-15 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 16 */\u003cbr /\u003e\r\n#button-16 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 2px;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all, left 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-16 .checkbox:active + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; width: 46px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-16 .checkbox:checked:active + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; margin-left: -26px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-16 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-16 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 17 */\u003cbr /\u003e\r\n#button-17 .knobs:before,\u003cbr /\u003e\r\n#button-17 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-17 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all, left 0.5s cubic-bezier(0.18, 0.89, 0.35, 1.15);\u003cbr /\u003e\r\n\u0026nbsp; z-index: 2;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-17 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 2px;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all, left 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15);\u003cbr /\u003e\r\n\u0026nbsp; z-index: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-17 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-17 .checkbox:checked + .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-17 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e/* Button 18 */\u003cbr /\u003e\r\n#button-18 .knobs:before,\u003cbr /\u003e\r\n#button-18 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;YES\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; position: absolute;\u003cbr /\u003e\r\n\u0026nbsp; top: 4px;\u003cbr /\u003e\r\n\u0026nbsp; left: 4px;\u003cbr /\u003e\r\n\u0026nbsp; color: #fff;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 10px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; text-align: center;\u003cbr /\u003e\r\n\u0026nbsp; line-height: 1;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #03a9f4;\u003cbr /\u003e\r\n\u0026nbsp; border-radius: 2px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-18 .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; top: 50%;\u003cbr /\u003e\r\n\u0026nbsp; left: 8px;\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; margin-top: -5px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: transparent;\u003cbr /\u003e\r\n\u0026nbsp; z-index: 2;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-18 .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; width: 20px;\u003cbr /\u003e\r\n\u0026nbsp; height: 10px;\u003cbr /\u003e\r\n\u0026nbsp; padding: 9px 4px;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all, left 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15);\u003cbr /\u003e\r\n\u0026nbsp; z-index: 1;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-18 .checkbox:active + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; left: 10px;\u003cbr /\u003e\r\n\u0026nbsp; width: 46px;\u003cbr /\u003e\r\n\u0026nbsp; height: 4px;\u003cbr /\u003e\r\n\u0026nbsp; color: transparent;\u003cbr /\u003e\r\n\u0026nbsp; margin-top: -2px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #0095d8;\u003cbr /\u003e\r\n\u0026nbsp; transition: 0.3s ease all;\u003cbr /\u003e\r\n\u0026nbsp; overflow: hidden;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-18 .checkbox:active + .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; width: 58px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-18 .checkbox:checked:active + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; left: auto;\u003cbr /\u003e\r\n\u0026nbsp; right: 10px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #d80000;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-18 .checkbox:checked:active + .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; margin-left: -38px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-18 .checkbox:checked + .knobs:before {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;NO\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; left: 47px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-18 .checkbox:checked + .knobs span {\u003cbr /\u003e\r\n\u0026nbsp; left: 42px;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f44336;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#button-18 .checkbox:checked ~ .layer {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #fcebeb;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003efooter {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;position: fixed;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;left: 0;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;bottom: 0px;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;width: 100%;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp;text-align: center;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e}\u003cbr /\u003e\r\n.footer-dark {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; padding:50px 0;\u003cbr /\u003e\r\n\u0026nbsp; button:0px;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark h3 {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; margin-top:0;\u003cbr /\u003e\r\n\u0026nbsp; margin-bottom:12px;\u003cbr /\u003e\r\n\u0026nbsp; font-weight:bold;\u003cbr /\u003e\r\n\u0026nbsp; font-size:16px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark ul {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; padding:0;\u003cbr /\u003e\r\n\u0026nbsp; list-style:none;\u003cbr /\u003e\r\n\u0026nbsp; line-height:1.6;\u003cbr /\u003e\r\n\u0026nbsp; font-size:14px;\u003cbr /\u003e\r\n\u0026nbsp; margin-bottom:0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; color:inherit;\u003cbr /\u003e\r\n\u0026nbsp; text-decoration:none;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.6;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark a:hover {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.8;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e@media (max-width:767px) {\u003cbr /\u003e\r\n\u0026nbsp; .footer-dark .item:not(.social) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; padding-bottom:20px;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark .item.text {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; margin-bottom:36px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e@media (max-width:767px) {\u003cbr /\u003e\r\n\u0026nbsp; .footer-dark .item.text {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; margin-bottom:0;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark .item.text p {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.6;\u003cbr /\u003e\r\n\u0026nbsp; margin-bottom:0;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark .item.social {\u003cbr /\u003e\r\n\u0026nbsp; text-align:center;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e@media (max-width:991px) {\u003cbr /\u003e\r\n\u0026nbsp; .footer-dark .item.social {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; margin-top:20px;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark .item.social \u0026gt; a {\u003cbr /\u003e\r\n\u0026nbsp; font-size:20px;\u003cbr /\u003e\r\n\u0026nbsp; width:36px;\u003cbr /\u003e\r\n\u0026nbsp; height:36px;\u003cbr /\u003e\r\n\u0026nbsp; line-height:36px;\u003cbr /\u003e\r\n\u0026nbsp; display:inline-block;\u003cbr /\u003e\r\n\u0026nbsp; text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; border-radius:50%;\u003cbr /\u003e\r\n\u0026nbsp; box-shadow:0 0 0 1px rgba(255,255,255,0.4);\u003cbr /\u003e\r\n\u0026nbsp; margin:0 8px;\u003cbr /\u003e\r\n\u0026nbsp; color:#fff;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.75;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n.footer-dark .item.social \u0026gt; a:hover {\u003cbr /\u003e\r\n\u0026nbsp;text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.9;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.footer-dark .copyright {\u003cbr /\u003e\r\n\u0026nbsp; text-align:center;\u003cbr /\u003e\r\n\u0026nbsp; padding-top:24px;\u003cbr /\u003e\r\n\u0026nbsp; opacity:0.3;\u003cbr /\u003e\r\n\u0026nbsp; font-size:13px;\u003cbr /\u003e\r\n\u0026nbsp; margin-bottom:0;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n\u0026lt;/style\u0026gt;\u003cbr /\u003e\r\n\u0026lt;/head\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026lt;body\u0026gt;\u003cbr /\u003e\r\n\u0026lt;div id=\u0026quot;app-cover\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026lt;div class=\u0026quot;row\u0026quot;\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026lt;div class=\u0026quot;title\u0026quot;\u0026gt;\u0026nbsp;\u003cbr /\u003e\r\nRelay 1\u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;button r\u0026quot; id=\u0026quot;button-3\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;input type=\u0026quot;checkbox\u0026quot; \u0026nbsp;id=\u0026quot;myCheck\u0026quot; onclick=\u0026quot;myFunction_relayone()\u0026quot; class=\u0026quot;checkbox\u0026quot; /\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;knobs\u0026quot;\u0026gt;\u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;layer\u0026quot;\u0026gt;\u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026lt;div class=\u0026quot;rowspace\u0026quot;\u0026gt; \u0026lt;/div\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026lt;div class=\u0026quot;row\u0026quot;\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026lt;div class=\u0026quot;title\u0026quot;\u0026gt;\u0026nbsp;\u003cbr /\u003e\r\nRelay 2\u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;button r\u0026quot; id=\u0026quot;button-3\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;input type=\u0026quot;checkbox\u0026quot; id=\u0026quot;myChecks\u0026quot; onclick=\u0026quot;myFunction_relaytwo()\u0026quot; class=\u0026quot;checkbox\u0026quot; /\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;knobs\u0026quot;\u0026gt;\u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;layer\u0026quot;\u0026gt;\u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026lt;script\u0026gt;\u003cbr /\u003e\r\nfunction myFunction_relayone()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; var checkBox = document.getElementById(\u0026quot;myCheck\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if (checkBox.checked == true){\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003evar i = document.createElement(\u0026quot;img\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003ei.src = \u0026quot;http://192.168.1.7/?State=o_off\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; var i = document.createElement(\u0026quot;img\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003ei.src = \u0026quot;http://192.168.1.7/?State=o_on\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003efunction myFunction_relaytwo()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; var checkBoxv = document.getElementById(\u0026quot;myChecks\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if (checkBoxv.checked == true){\u003cbr /\u003e\r\n\u0026nbsp; var i = document.createElement(\u0026quot;img\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003ei.src = \u0026quot;http://192.168.1.7/?State=t_off\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;var i = document.createElement(\u0026quot;img\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003ei.src = \u0026quot;http://192.168.1.7/?State=t_on\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n\u0026lt;/script\u0026gt;\u003cbr /\u003e\r\n\u0026lt;!-- Footer --\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;footer\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;footer\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;container\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;row\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026lt;div class=\u0026quot;footer-dark\u0026quot;\u0026gt;\u0026lt;a href=\u0026quot;index.html\u0026quot;\u0026gt;\u0026lt;img width=\u0026quot;60\u0026quot; src=\u0026quot;img/voice.png\u0026quot;\u0026gt;\u0026lt;/a\u0026gt;\u0026amp;nbsp;\u0026amp;nbsp;\u0026lt;a href=\u0026quot;button.html\u0026quot;\u0026gt;\u0026lt;img \u0026nbsp;width=\u0026quot;60\u0026quot; src=\u0026quot;img/home.png\u0026quot;\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/footer\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026lt;/body\u0026gt;\u003cbr /\u003e\r\n\u0026lt;/html\u0026gt;\u003c/div\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eDownload HTML Code :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?smarthome\" target=\"_blank\"\u003eSmarthome\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eArduino IDE Code :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n#include \u0026lt;ESP8266WiFi.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;WiFiClient.h\u0026gt;\u0026nbsp;\u003cbr /\u003e\r\n#include \u0026lt;ESP8266WebServer.h\u0026gt;\u003cbr /\u003e\r\n#define relay1 D1\u003cbr /\u003e\r\n#define relay2 D2\u003cbr /\u003e\r\nString command; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n//const char* ssid = \u0026quot;ABbkareno Wifi\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;// \u0026nbsp;const char* password = \u0026quot;youtubechannel\u0026quot;; \u0026nbsp;//Enter Password here\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;const char* ssid \u0026nbsp; \u0026nbsp; = \u0026quot;WE_B56061\u0026quot;; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // The SSID (name) of the Wi-Fi network you want to connect to\u003cbr /\u003e\r\n\u0026nbsp; const char* password = \u0026quot;j9t07065\u0026quot;; \u0026nbsp; \u0026nbsp; // The password of the Wi-Fi network\u003cbr /\u003e\r\nESP8266WebServer server(80);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;String relay1State = \u0026quot;off\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;String relay2State = \u0026quot;off\u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;#define relay1 D1\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;#define relay2 D2\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // Initialize the output variables as outputs\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(relay1, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;pinMode(relay2, OUTPUT);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Set outputs to HIGH. relay active LOW\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(relay1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(relay2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n// Connecting WiFi\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; WiFi.mode(WIFI_AP);\u003cbr /\u003e\r\n\u0026nbsp;// WiFi.softAP(ssid, password);\u003cbr /\u003e\r\n\u0026nbsp;WiFi.begin(ssid, password); \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; //IPAddress myIP = WiFi.softAPIP();\u003cbr /\u003e\r\n\u0026nbsp;// Serial.print(\u0026quot;AP IP address: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;// Serial.println(myIP);\u003cbr /\u003e\r\nSerial.print(\u0026quot;Connecting to \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.print(ssid); Serial.println(\u0026quot; ...\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; int i = 0;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;while (WiFi.status() != WL_CONNECTED)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{ // Wait for the Wi-Fi to connect\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;delay(1000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.print(++i); Serial.print(\u0026#39; \u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; Serial.println(\u0026#39;\\n\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;Connection established!\u0026quot;); \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.print(\u0026quot;IP address:\\t\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(WiFi.localIP()); \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;// Starting WEB-server\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;server.on ( \u0026quot;/\u0026quot;, HTTP_handleRoot );\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;server.onNotFound ( HTTP_handleRoot );\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;server.begin(); \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003evoid relay_one_open(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(relay1, LOW);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003evoid relay_two_open(){\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(relay2, LOW);\u003cbr /\u003e\r\n\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\nvoid relay_one_off(){\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;digitalWrite(relay1,HIGH );\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003evoid relay_two_off(){\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(relay2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; server.handleClient();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; command = server.arg(\u0026quot;State\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if (command == \u0026quot;o_on\u0026quot;)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(command);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; relay_one_open();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;o_off\u0026quot;) relay_one_off();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;t_on\u0026quot;) relay_two_open();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; else if (command == \u0026quot;t_off\u0026quot;) relay_two_off();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003evoid HTTP_handleRoot(void) {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003eif( server.hasArg(\u0026quot;State\u0026quot;) ){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.println(server.arg(\u0026quot;State\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; server.send ( 200, \u0026quot;text/html\u0026quot;, \u0026quot;\u0026quot; );\u003cbr /\u003e\r\n\u0026nbsp; delay(1);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":13,"PostMonth":"August","PostYear":2022,"Photo":"8_13_2022 12_42_16 AM_Untitled-1.jpg","Name":"Edafa","Views":218,"Liked":0,"Category_ID":14,"Category":"NodeMCU Esp8266 "},{"ID":120,"Title":"NodeMcu-and-GPS","Description":"\u003cp\u003eGPS-Tracking-System Ublox NEO-7M (GPS) and NodeMcu\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003ccode\u003e#include \u0026lt;TinyGPS++.h\u0026gt; // library for GPS module\u003cbr /\u003e\r\n#include \u0026lt;SoftwareSerial.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;ESP8266WiFi.h\u0026gt;\u003c/code\u003e\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;TinyGPSPlus gps;\u0026nbsp; // The TinyGPS++ object\u003cbr /\u003e\r\n#define rxGPS D5\u003cbr /\u003e\r\n#define txGPS D6\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e//SoftwareSerial ss(rxGPS, txGPS); // The serial connection to the GPS device\u003cbr /\u003e\r\nSoftwareSerial ss(rxGPS,txGPS);\u003cbr /\u003e\r\nconst char* ssid = \u0026quot;Wifi Name\u0026quot;; //ssid of your wifi\u003cbr /\u003e\r\nconst char* password = \u0026quot;Password\u0026quot;; //password of your wifi\u003cbr /\u003e\r\nfloat latitude , longitude;\u003cbr /\u003e\r\nint year , month , date, hour , minute , second;\u003cbr /\u003e\r\nString date_str , time_str , lat_str , lng_str;\u003cbr /\u003e\r\nint pm;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003eWiFiServer server(80);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003evoid setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp; ss.begin(9600);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println();\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Connecting to \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(ssid);\u003cbr /\u003e\r\n\u0026nbsp; WiFi.begin(ssid, password); //connecting to wifi\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003ewhile (WiFi.status() != WL_CONNECTED)// while wifi not connected\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; delay(500);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(\u0026quot;.\u0026quot;); //print \u0026quot;....\u0026quot;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; }\u003cbr /\u003e\r\nSerial.println(\u0026quot;\u0026quot;);\u003cbr /\u003e\r\nSerial.println(\u0026quot;WiFi connected\u0026quot;);\u003cbr /\u003e\r\nserver.begin();\u003cbr /\u003e\r\nSerial.println(\u0026quot;Server started\u0026quot;);\u003cbr /\u003e\r\nSerial.println(WiFi.localIP());\u0026nbsp; // Print the IP address\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003evoid loop()\u003cbr /\u003e\r\n{\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; while (ss.available() \u0026gt; 0) //while data is available\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; if (gps.encode(ss.read())) //read gps data\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; if (gps.location.isValid()) //check whether gps location is valid\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; latitude = gps.location.lat();\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; lat_str = String(latitude , 6); // latitude location is stored in a string\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; longitude = gps.location.lng();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; lng_str = String(longitude , 6); //longitude location is stored in a string\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; if (gps.date.isValid()) //check whether gps date is valid\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; date_str = \u0026quot;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; date = gps.date.day();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; month = gps.date.month();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; year = gps.date.year();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; if (date \u0026lt; 10)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; date_str = \u0026#39;0\u0026#39;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; date_str += String(date);// values of date,month and year are stored in a string\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; date_str += \u0026quot; / \u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; if (month \u0026lt; 10)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; date_str += \u0026#39;0\u0026#39;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; date_str += String(month); // values of date,month and year are stored in a string\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; date_str += \u0026quot; / \u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; if (year \u0026lt; 10)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; date_str += \u0026#39;0\u0026#39;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; date_str += String(year); // values of date,month and year are stored in a string\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; if (gps.time.isValid())\u0026nbsp; //check whether gps time is valid\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; time_str = \u0026quot;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; hour = gps.time.hour();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; minute = gps.time.minute();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; second = gps.time.second();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; minute = (minute + 30); // converting to IST\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; if (minute \u0026gt; 59)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; minute = minute - 60;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; hour = hour + 1;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; hour = (hour + 5) ;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; if (hour \u0026gt; 23)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; hour = hour - 24;\u0026nbsp;\u0026nbsp; // converting to IST\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; if (hour \u0026gt;= 12)\u0026nbsp; // checking whether AM or PM\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; pm = 1;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; pm = 0;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; hour = hour % 12;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; if (hour \u0026lt; 10)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; time_str = \u0026#39;0\u0026#39;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; time_str += String(hour); //values of hour,minute and time are stored in a string\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; time_str += \u0026quot; : \u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; if (minute \u0026lt; 10)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; time_str += \u0026#39;0\u0026#39;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; time_str += String(minute); //values of hour,minute and time are stored in a string\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; time_str += \u0026quot; : \u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; if (second \u0026lt; 10)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; time_str += \u0026#39;0\u0026#39;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; time_str += String(second); //values of hour,minute and time are stored in a string\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; if (pm == 1)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; time_str += \u0026quot; PM \u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; time_str += \u0026quot; AM \u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; WiFiClient client = server.available(); // Check if a client has connected\u003cbr /\u003e\r\n\u0026nbsp; if (!client)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; return;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; // Prepare the response\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; String s = \u0026quot;HTTP/1.1 200 OK\\r\\nContent-Type: text/html\\r\\n\\r\\n \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;GPS DATA\u0026lt;/title\u0026gt; \u0026lt;style\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; s += \u0026quot;a:link {background-color: YELLOW;text-decoration: none;}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; s += \u0026quot;table, th, td \u0026lt;/style\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026nbsp; style=\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;font-size:300%;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; s += \u0026quot; ALIGN=CENTER\u0026gt; GPS DATA\u0026lt;/h1\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026lt;p ALIGN=CENTER style=\u0026quot;\u0026quot;font-size:150%;\u0026quot;\u0026quot;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; s += \u0026quot;\u0026gt; \u0026lt;b\u0026gt;Location Details\u0026lt;/b\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;table ALIGN=CENTER style=\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; s += \u0026quot;width:50%\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; s += \u0026quot;\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;th\u0026gt;Latitude\u0026lt;/th\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; s += \u0026quot;\u0026lt;td ALIGN=CENTER \u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; s += lat_str;\u003cbr /\u003e\r\n\u0026nbsp; s += \u0026quot;\u0026lt;/td\u0026gt; \u0026lt;/tr\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;th\u0026gt;Longitude\u0026lt;/th\u0026gt; \u0026lt;td ALIGN=CENTER \u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; s += lng_str;\u003cbr /\u003e\r\n\u0026nbsp; s += \u0026quot;\u0026lt;/td\u0026gt; \u0026lt;/tr\u0026gt; \u0026lt;tr\u0026gt;\u0026nbsp; \u0026lt;th\u0026gt;Date\u0026lt;/th\u0026gt; \u0026lt;td ALIGN=CENTER \u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; s += date_str;\u003cbr /\u003e\r\n\u0026nbsp; s += \u0026quot;\u0026lt;/td\u0026gt;\u0026lt;/tr\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;th\u0026gt;Time\u0026lt;/th\u0026gt; \u0026lt;td ALIGN=CENTER \u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; s += time_str;\u003cbr /\u003e\r\n\u0026nbsp; s += \u0026quot;\u0026lt;/td\u0026gt;\u0026nbsp; \u0026lt;/tr\u0026gt; \u0026lt;/table\u0026gt; \u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt;\u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; client.print(s); // all the values are send to the webpage\u003cbr /\u003e\r\n\u0026nbsp; delay(100);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":12,"PostMonth":"August","PostYear":2022,"Photo":"8_13_2022 8_45_06 PM_111.jpg","Name":"Edafa","Views":180,"Liked":0,"Category_ID":14,"Category":"NodeMCU Esp8266 "},{"ID":119,"Title":"NodeMCU-ESP8266","Description":"\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cspan class=\"marker\"\u003e\u003ccode\u003e#include \u0026lt;ESP8266WiFi.h\u0026gt;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Include the Wi-Fi library\u003c/code\u003e\u003c/span\u003e\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; const char* ssid\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; = \u0026quot;SSID\u0026quot;;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // The SSID (name) of the Wi-Fi network you want to connect to\u003cbr /\u003e\r\n\u0026nbsp; const char* password = \u0026quot;PASSWORD\u0026quot;;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // The password of the Wi-Fi network\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; void setup()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.begin(115200);\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Start the Serial communication to send messages to the computer\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; delay(10);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026#39;\\n\u0026#39;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; WiFi.begin(ssid, password);\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Connect to the network\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(\u0026quot;Connecting to \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(ssid); Serial.println(\u0026quot; ...\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; int i = 0;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; while (WiFi.status() != WL_CONNECTED)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; { // Wait for the Wi-Fi to connect\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; delay(1000);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(++i); Serial.print(\u0026#39; \u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026#39;\\n\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026quot;Connection established!\u0026quot;);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(\u0026quot;IP address:\\t\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(WiFi.localIP());\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Send the IP address of the ESP8266 to the computer\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; void loop()\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; { }\u003c/div\u003e\r\n\r\n\u003ch2\u003e- Access Point mode\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; #include \u0026lt;ESP8266WiFi.h\u0026gt;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Include the Wi-Fi library\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; const char *ssid = \u0026quot;ESP8266 Access Point\u0026quot;; // The name of the Wi-Fi network that will be created\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; const char *password = \u0026quot;thereisnospoon\u0026quot;;\u0026nbsp;\u0026nbsp; // The password required to connect to it, leave blank for an open network\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; void setup()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; delay(10);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026#39;\\n\u0026#39;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; WiFi.softAP(ssid, password);\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Start the access point\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(\u0026quot;Access Point \\\u0026quot;\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(ssid);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026quot;\\\u0026quot; started\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(\u0026quot;IP address:\\t\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(WiFi.softAPIP());\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Send the IP address of the ESP8266 to the computer\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; void loop()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003ch2\u003e- Establishing a web Server\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; #include \u0026lt;ESP8266WiFi.h\u0026gt;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Include the Wi-Fi library\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; #include \u0026lt;ESP8266WebServer.h\u0026gt;\u003c/code\u003e\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; const char* ssid = \u0026quot;ABbkareno Wifi\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; const char* password = \u0026quot;12345678\u0026quot;;\u0026nbsp; //Enter Password here\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ESP8266WebServer server(80);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; void setup()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.begin(115200);\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Start the Serial communication to send messages to the computer\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; WiFi.mode(WIFI_AP);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; WiFi.softAP(ssid, password);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; IPAddress myIP = WiFi.softAPIP();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(\u0026quot;AP IP address: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(myIP);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Starting WEB-server\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; server.begin();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026quot;HTTP server started\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; void loop()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003ch2\u003e- Establishing a web Server Create HTML\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003ccode\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; #include \u0026lt;SoftwareSerial.h\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; #include \u0026lt;ESP8266WiFi.h\u0026gt;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; #include \u0026lt;ESP8266WebServer.h\u0026gt;\u003c/code\u003e\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; //Server name and password\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; const char* ssid = \u0026quot;ABbkareno Wifi\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; const char* password = \u0026quot;12345678\u0026quot;;\u0026nbsp; //Enter Password here\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ESP8266WebServer server(80);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; String header;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; void setup()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.begin(115200); \u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Server Start code\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; WiFi.mode(WIFI_AP);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; WiFi.softAP(ssid, password);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; IPAddress myIP = WiFi.softAPIP();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(\u0026quot;AP IP address: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(myIP);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Starting WEB-server\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; server.begin();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026quot;HTTP server started\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; void loop()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; String SendHTML() {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; String value = server.arg(\u0026quot;value\u0026quot;); //this lets you access a query param (http://x.x.x.x/action1?value=1)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; int number = value.toInt();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; String s = \u0026quot; \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026lt;head\u0026gt;\u0026lt;meta name=\u0026#39;viewport\u0026#39; content=\u0026#39;width=device-width, initial-scale=1\u0026#39;\u0026gt; \u0026lt;title\u0026gt;GPS DATA\u0026lt;/title\u0026gt; \u0026lt;style\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026lt;style\u0026gt;html, body { font-family: Helvetica; display: block; margin: 0px auto; text-align: center;}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;.button { background-color: #209e48; border: none; color: white; padding: 12px 24px;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;text-decoration: none; font-size: 20px; margin: 2px; cursor: pointer;}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;.button2 {background-color: #c20a0a;}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;.textbox {width: 80px; border: 1px solid #333; padding: 16px 20px 0px 24px; background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc);}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;.mytext {font-size: 16px; font-weight:bold; font-family:Arial ; text-align: justify;}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;#container {width: 100%; height: 50px; margin-left: 5px; margin-top: 20px; padding: 10px; display: -webkit-flex; -webkit-justify-content: center; display: flex; justify-content: center;} \u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;a:link {background-color: YELLOW;text-decoration: none;}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;table, th, td \u0026lt;/style\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026nbsp; style=\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;font-size:300%;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot; ALIGN=CENTER\u0026gt; GPS DATA\u0026lt;/h1\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026lt;p ALIGN=CENTER style=\u0026quot;\u0026quot;font-size:150%;\u0026quot;\u0026quot;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026gt; \u0026lt;b\u0026gt;Location Details\u0026lt;/b\u0026gt;\u0026lt;/p\u0026gt; \u0026lt;table ALIGN=CENTER style=\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;width:50%\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;th\u0026gt;Latitude\u0026lt;/th\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026lt;td ALIGN=CENTER \u0026gt;\u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026lt;/td\u0026gt; \u0026lt;/tr\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;th\u0026gt;Longitude\u0026lt;/th\u0026gt; \u0026lt;td ALIGN=CENTER \u0026gt;\u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026lt;/td\u0026gt; \u0026lt;/tr\u0026gt; \u0026lt;tr\u0026gt;\u0026nbsp; \u0026lt;th\u0026gt;Date\u0026lt;/th\u0026gt; \u0026lt;td ALIGN=CENTER \u0026gt;\u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026lt;/td\u0026gt;\u0026lt;/tr\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;th\u0026gt;Time\u0026lt;/th\u0026gt; \u0026lt;td ALIGN=CENTER \u0026gt;\u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026lt;/td\u0026gt;\u0026nbsp; \u0026lt;/tr\u0026gt; \u0026lt;/table\u0026gt; \u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; s += \u0026quot;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; return s;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":12,"PostMonth":"August","PostYear":2022,"Photo":"8_13_2022 8_49_52 PM_0 (80).jpg","Name":"Edafa","Views":155,"Liked":0,"Category_ID":14,"Category":"NodeMCU Esp8266 "},{"ID":118,"Title":"ESP8266-NodeMCU-Relay-Module","Description":"\u003ch3\u003ewhy we used NodeMCU low cost, integrated support for WiFi networks, a smaller board size, and lower energy\u003c/h3\u003e\r\n\r\n\u003ch3\u003eIn this project, you can be established a smart home or Control your car anything you need controlled by wifi (less than 250v and 10A if you need power over that can change relay v.) only go to start this project for a small project.\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003ccode\u003e#include \u0026lt;SoftwareSerial.h\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; #include \u0026lt;ESP8266WiFi.h\u0026gt;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Include the Wi-Fi library\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; #include \u0026lt;ESP8266WebServer.h\u0026gt;\u003c/code\u003e\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; //Server name and password\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; const char* ssid = \u0026quot;Wonder developer\u0026quot;; //your wifi name\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; const char* password = \u0026quot;youtubechannel\u0026quot;;\u0026nbsp; //Enter Password here\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ESP8266WebServer server(80);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; String relay1State = \u0026quot;off\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; String relay2State = \u0026quot;off\u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; #define relay1 D0\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; #define relay2 D1\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; void setup()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Initialize the output variables as outputs\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; pinMode(relay1, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; pinMode(relay2, OUTPUT);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Set outputs to HIGH. relay active LOW\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; digitalWrite(relay1, LOW);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; digitalWrite(relay2, LOW);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // put your setup code here, to run once:\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.begin(115200);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(\u0026quot;Connecting to \u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Server Start code\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; WiFi.mode(WIFI_AP);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; WiFi.softAP(ssid, password);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; IPAddress myIP = WiFi.softAPIP();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.print(\u0026quot;AP IP address: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(myIP);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Starting WEB-server\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; server.begin();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026quot;HTTP server started\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; server.on(\u0026quot;/\u0026quot;, handle_OnConnect);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; server.onNotFound(handle_NotFound);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; server.begin();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026quot;HTTP server started\u0026quot;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; void loop()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; server.handleClient();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; void handle_OnConnect()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; server.send(200, \u0026quot;text/html\u0026quot;, SendHTML(false));\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; void handle_NotFound()\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; server.send(404, \u0026quot;text/plain\u0026quot;, \u0026quot;Not found\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; String SendHTML(uint8_t relayes){\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; String value = server.arg(\u0026quot;value\u0026quot;); //this lets you access a query param (http://x.x.x.x/action1?value=1)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; int number = value.toInt();\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; if(number == 0)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026quot;relay1 on\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; relay1State = \u0026quot;on\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; digitalWrite(relay1, LOW);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; else if (number == 1)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026quot;relay1 off\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; relay1State = \u0026quot;off\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; digitalWrite(relay1, HIGH);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; else if (number == 2)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026quot;relay2 on\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; relay2State = \u0026quot;on\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; digitalWrite(relay2, LOW);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; else if (number == 3)\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Serial.println(\u0026quot;relay2 off\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; relay2State = \u0026quot;off\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; digitalWrite(relay2, HIGH);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; String ptr = \u0026quot;\u0026lt;!DOCTYPE html\u0026gt;\\n\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;\u0026lt;head\u0026gt;\u0026lt;meta name=\u0026#39;viewport\u0026#39; content=\u0026#39;width=device-width, initial-scale=1\u0026#39;\u0026gt; \u0026lt;title\u0026gt;RELAY Control\u0026lt;/title\u0026gt; \u0026lt;style\u0026gt;\\n\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;\u0026lt;style\u0026gt;html, body { font-family: Helvetica; display: block; margin: 0px auto; text-align: center;}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;.button { background-color: #209e48; border: none; color: white; padding: 12px 24px;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;text-decoration: none; font-size: 20px; margin: 2px; cursor: pointer;}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;.button2 {background-color: #c20a0a;}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;.textbox {width: 80px; border: 1px solid #333; padding: 16px 20px 0px 24px; background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc);}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr+= \u0026quot;.mytext {font-size: 16px; font-weight:bold; font-family:Arial ; text-align: justify;}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;#container {width: 100%; height: 50px; margin-left: 5px; margin-top: 20px; padding: 10px; display: -webkit-flex; -webkit-justify-content: center;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; display: flex; justify-content: center;} \u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;a:link {background-color: YELLOW;text-decoration: none;}\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;table, th, td \u0026lt;/style\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \\n\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;\u0026lt;h1\u0026gt; Control\u0026lt;/h1\u0026gt;\u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;\u0026lt;div id=\u0026#39;container\u0026#39;\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;\u0026lt;p\u0026gt;\u0026lt;div class=\u0026#39;textbox mytext\u0026#39;\u0026gt;RELAY 1 \u0026lt;/div\u0026gt; \u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // If the relay1State is off, it displays the ON button\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; if (relay1State == \u0026quot;off\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;\u0026lt;a href=\u0026#39;?value=0\u0026#39;\u0026gt;\u0026lt;button class=\u0026#39;button\u0026#39;\u0026gt;OFF\u0026lt;/button\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;\u0026lt;a href=\u0026#39;?value=1\u0026#39;\u0026gt;\u0026lt;button class=\u0026#39;button button2\u0026#39;\u0026gt;ON\u0026lt;/button\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;\u0026lt;/div\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Display current state, and ON/OFF buttons for GPIO 4\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;\u0026lt;div id=\u0026#39;container\u0026#39;\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr+= \u0026quot;\u0026lt;p\u0026gt;\u0026lt;div class=\u0026#39;textbox mytext\u0026#39;\u0026gt;RELAY 2 \u0026lt;/div\u0026gt; \u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // If the relay2State is off, it displays the ON button\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; if (relay2State == \u0026quot;off\u0026quot;) {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;\u0026lt;a href=\u0026#39;?value=2\u0026#39;\u0026gt;\u0026lt;button class=\u0026#39;button\u0026#39;\u0026gt;OFF\u0026lt;/button\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr+= \u0026quot;\u0026lt;a href=\u0026#39;?value=3\u0026#39;\u0026gt;\u0026lt;button class=\u0026#39;button button2\u0026#39;\u0026gt;ON\u0026lt;/button\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;/p\u0026gt;\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr += \u0026quot;\u0026lt;/div\u0026gt;\u0026quot;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr +=\u0026quot;\u0026lt;/body\u0026gt;\\n\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ptr +=\u0026quot;\u0026lt;/html\u0026gt;\\n\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; return ptr;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":12,"PostMonth":"August","PostYear":2022,"Photo":"8_13_2022 8_53_58 PM_0 (80).jpg","Name":"Edafa","Views":202,"Liked":0,"Category_ID":14,"Category":"NodeMCU Esp8266 "},{"ID":117,"Title":"NodeMCU ESP 8266 with OLED","Description":"\u003cp\u003e\u003cstrong\u003eNodeMCU ESP 8266 with OLED\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u0026nbsp;Arduino code\u0026nbsp;\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #include \u0026lt;Wire.h\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #include \u0026lt;Adafruit_GFX.h\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #include \u0026lt;Adafruit_SSD1306.h\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define SCREEN_WIDTH 128 // OLED display width, in pixels\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; #define SCREEN_HEIGHT 64 // OLED display height, in pixels\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, \u0026amp;Wire, -1);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; void setup()\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C))\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Address 0x3D for 128x64\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Serial.println(F(\u0026quot;SSD1306 allocation failed\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;for(;;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;delay(2000);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;display.clearDisplay();\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;display.setTextSize(1);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;display.setCursor(0, 10);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// Display static text\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;display.println(\u0026quot;Hello, world!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;display.display();\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; void loop()\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n### Add image to display code\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;#include \u0026lt;Wire.h\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;#include \u0026lt;Adafruit_GFX.h\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;#include \u0026lt;Adafruit_SSD1306.h\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;#define SCREEN_WIDTH 128\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;#define SCREEN_HEIGHT 64\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, \u0026amp;Wire, -1);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp;static const uint8_t image_data_Saraarray1024 = {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf8, 0x24, 0x82, 0x10, 0x88, 0x00, 0x00, 0x00, 0x0f, 0xaf, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf2, 0x95, 0x14, 0x8a, 0x42, 0x14, 0x01, 0x12, 0x8f, 0x97, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf8, 0x48, 0x82, 0x51, 0x20, 0x40, 0x20, 0x40, 0x1d, 0xcf, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf2, 0x25, 0x14, 0x28, 0x88, 0x01, 0x00, 0x0a, 0x5f, 0x57, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf9, 0x4a, 0x82, 0x8a, 0x01, 0x00, 0x00, 0x20, 0x37, 0x57, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf8, 0x90, 0x29, 0x54, 0x54, 0x20, 0x02, 0x02, 0x1d, 0x4f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf2, 0x4a, 0x94, 0x40, 0x01, 0x04, 0x00, 0x00, 0xbb, 0x57, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf9, 0x25, 0x02, 0xa9, 0x50, 0x00, 0x90, 0x08, 0x1f, 0xaf, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf0, 0x94, 0x54, 0x01, 0x00, 0x40, 0x42, 0x40, 0x36, 0x87, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0x49, 0x12, 0x90, 0x01, 0x0a, 0x88, 0x01, 0x3f, 0x5f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf8, 0xaa, 0x89, 0x05, 0x00, 0x21, 0x20, 0x00, 0x2b, 0x07, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf0, 0x04, 0x2a, 0x45, 0x49, 0x15, 0x48, 0x20, 0x3f, 0x57, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0xa9, 0x11, 0x0b, 0x4a, 0xd5, 0x50, 0x00, 0x3b, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf8, 0x08, 0x88, 0xaf, 0xad, 0x55, 0x40, 0x02, 0x3e, 0x2f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf2, 0xa5, 0x24, 0x4b, 0xf6, 0xdb, 0x59, 0x00, 0x2e, 0x07, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf8, 0x14, 0x12, 0x8f, 0xdb, 0x6d, 0x54, 0x00, 0x16, 0x5f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0xa2, 0x88, 0x2f, 0xfd, 0xb5, 0xa0, 0x08, 0x01, 0x07, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf0, 0x94, 0x25, 0x4d, 0xf6, 0xda, 0xac, 0x80, 0x84, 0x4f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0x49, 0x11, 0x17, 0xbb, 0x6d, 0x52, 0x00, 0x20, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf1, 0x10, 0x88, 0x8e, 0xdd, 0xaa, 0xa8, 0x00, 0x30, 0x8f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf8, 0x04, 0x25, 0x1b, 0xea, 0xb5, 0x54, 0x41, 0x9c, 0x27, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf9, 0x25, 0x10, 0x8e, 0xad, 0x56, 0xaa, 0x08, 0x5c, 0x17, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf4, 0x08, 0x4a, 0x4b, 0xb5, 0xab, 0x54, 0x00, 0x29, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf9, 0x51, 0x10, 0xce, 0xd5, 0x5a, 0xaa, 0x04, 0x10, 0x8f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf0, 0x28, 0x25, 0x97, 0xaa, 0xaa, 0xd5, 0x1a, 0x82, 0x27, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0xa5, 0x0b, 0x3d, 0x2a, 0x81, 0x2a, 0x11, 0x08, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfb, 0xc8, 0x53, 0x14, 0x25, 0x50, 0x95, 0x24, 0x01, 0x47, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xff, 0xe2, 0x06, 0x38, 0x95, 0x06, 0x2a, 0x15, 0x24, 0x17, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfb, 0x78, 0x9c, 0x68, 0x45, 0x42, 0xaa, 0x8a, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfd, 0xbd, 0x08, 0xee, 0xab, 0x6a, 0xd5, 0x45, 0x04, 0x2f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0x16, 0xf8, 0xaf, 0x57, 0xaa, 0xaa, 0xb4, 0x20, 0x87, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfe, 0x8a, 0xa1, 0x9d, 0x5e, 0xaa, 0xda, 0x95, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xff, 0x53, 0x63, 0x57, 0xef, 0x5b, 0x6a, 0x68, 0x24, 0x97, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0xeb, 0xa3, 0xaf, 0xfe, 0xad, 0xa9, 0x55, 0x10, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xff, 0x5b, 0x47, 0x5f, 0x9b, 0x56, 0xd5, 0x58, 0x00, 0xa7, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xff, 0x6d, 0xce, 0xbe, 0xda, 0x55, 0x6a, 0xa2, 0x48, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0xd6, 0x86, 0xed, 0x51, 0x53, 0x54, 0x50, 0x01, 0x27, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfb, 0x7a, 0x9e, 0xbb, 0xdd, 0xf4, 0xaa, 0x0a, 0x44, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfd, 0xdb, 0x7d, 0xfd, 0x7a, 0xea, 0xa9, 0x20, 0x00, 0x27, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0x6d, 0xe7, 0x6f, 0xae, 0x3a, 0xa4, 0x44, 0x90, 0x8f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfd, 0xbe, 0xb4, 0xea, 0xbf, 0xa9, 0x54, 0x10, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfb, 0x6b, 0xff, 0xbd, 0x77, 0x54, 0x51, 0x45, 0x09, 0x27, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfe, 0xaf, 0xff, 0xaa, 0xdd, 0xda, 0x94, 0x00, 0x40, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0xaf, 0xea, 0xbb, 0xe5, 0x6a, 0x40, 0x95, 0x01, 0x27, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0xde, 0xaa, 0x55, 0xf2, 0xaa, 0x28, 0x00, 0x20, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf3, 0x5d, 0x51, 0x5a, 0xf9, 0x55, 0x40, 0xaa, 0x02, 0x4f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xff, 0x7f, 0xd0, 0xaf, 0x5e, 0xaa, 0x00, 0x00, 0x40, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0x3d, 0xa4, 0xb5, 0xd5, 0xaa, 0x02, 0x02, 0x09, 0x27, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfd, 0xba, 0x82, 0x4d, 0xd6, 0xaa, 0x80, 0x00, 0x20, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xff, 0x76, 0x14, 0x29, 0x6a, 0xd5, 0x00, 0x21, 0x02, 0x8f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfb, 0xe9, 0x42, 0x24, 0x52, 0xaa, 0x84, 0x00, 0x00, 0x27, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xff, 0x34, 0x28, 0x10, 0x5d, 0x55, 0x40, 0x04, 0x20, 0x8f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfa, 0x52, 0x90, 0x0a, 0x2a, 0xaa, 0x80, 0x20, 0x02, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf8, 0x6a, 0x48, 0x21, 0x15, 0x5a, 0xa0, 0x80, 0x00, 0x27, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf4, 0x55, 0x50, 0x04, 0x85, 0x6a, 0xa0, 0x00, 0x88, 0x8f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf8, 0xea, 0x20, 0x40, 0x55, 0xad, 0x50, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf1, 0xea, 0x80, 0x12, 0x02, 0xb5, 0xa8, 0x02, 0x00, 0xa7, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfb, 0xea, 0x88, 0x40, 0x82, 0xaa, 0xa8, 0x40, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xf3, 0xda, 0x00, 0x04, 0x11, 0x56, 0xd4, 0x00, 0x02, 0x8f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xff, 0xa9, 0x00, 0x82, 0x00, 0xab, 0x6e, 0x08, 0x10, 0x27, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xff, 0xd4, 0x10, 0x10, 0x40, 0x5a, 0xb5, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xff, 0x54, 0x01, 0x04, 0x00, 0x15, 0xab, 0x00, 0x80, 0x0f, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xfe, 0xb4, 0x40, 0x10, 0x00, 0x0a, 0xdd, 0x40, 0x04, 0x07, 0xff, 0xff, 0xff, 0xff,\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; 0xff, 0xff, 0xff, 0x54, 0x02, 0x00, 0x00, 0x46, 0xaa, 0x88, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; };\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; void setup()\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.begin(115200);\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C))\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Serial.println(F(\u0026quot;SSD1306 allocation failed\u0026quot;));\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; for(;;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; delay(2000); // Pause for 2 seconds\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Clear the buffer.\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // Draw bitmap on the screen\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; display.drawBitmap(0, 0, image_data_Saraarray, 128, 64, 1);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; void loop()\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":12,"PostMonth":"August","PostYear":2022,"Photo":"8_13_2022 8_58_44 PM_0 (81).jpg","Name":"Edafa","Views":200,"Liked":0,"Category_ID":14,"Category":"NodeMCU Esp8266 "},{"ID":116,"Title":"KY-023-DUAL-AXIS-JOYSTICK-MODULE + Unity3d","Description":"\u003cp\u003eThe KY-023 Dual Axis Joystick module uses a biaxial potentiometer to control the X and Y axis. you can Control Unity3d by Arduino KY-023 Dual Axis Joystick we will use Arduino sensors with unity 3d\u003c/p\u003e\r\n\r\n\u003cp\u003eHow to integrate Arduino Uno with Unity3d to hardware work with software make = 4D\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-023 Dual Axis Joystick module with ARDUINO UNO\u003c/p\u003e\r\n\r\n\u003cp\u003eUnity 3d Code\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eusing System.Collections;\u003cbr /\u003e\r\nusing System.Collections.Generic;\u003cbr /\u003e\r\nusing UnityEngine;\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003epublic class Controll : MonoBehaviour\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; float x, y, b;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; void OnMessageArrived(string msg)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; // this center value 507|520|1\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Debug.Log(\u0026quot;Message arrived: \u0026quot; + msg);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var array = msg.Split(\u0026quot;|\u0026quot;0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; x = float.Parse(array0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; y = float.Parse(array1);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; b = float.Parse(array2);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (x \u0026gt; 607)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; transform.position += new Vector3(0.1f, 0f, 0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (x \u0026lt; 407)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; transform.position -= new Vector3(0.1f, 0f, 0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (y \u0026gt; 607)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; transform.position += new Vector3(0f, 0.1f, 0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (y \u0026lt; 407)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; transform.position -= new Vector3(0, 0.1f, 0);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; void OnConnectionEvent(bool success)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (success)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Debug.Log(\u0026quot;Connection established\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Debug.Log(\u0026quot;Connection attempt failed or disconnection detected\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-023 DUAL AXIS JOYSTICK MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/023/023 DUAL AXIS JOYSTICK.png\" style=\"height:633px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino code\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003eint value = 0;\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; pinMode(A0, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(A1, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(7, INPUT_PULLUP); //set pin 7 as an input and enable the internal pull-up resistor\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; value = analogRead(A0); // read X axis value 0..1023\u003cbr /\u003e\r\n\u0026nbsp; //Serial.print(\u0026quot;X:\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(value, DEC);\u003cbr /\u003e\r\n\u0026nbsp; value = analogRead(A1); // read Y axis value 0..1023\u003cbr /\u003e\r\n\u0026nbsp;Serial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n// \u0026nbsp;Serial.print(\u0026quot; | Y:\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(value, DEC);\u003cbr /\u003e\r\n\u0026nbsp; value = digitalRead(7); // read Button state 0,1\u003cbr /\u003e\r\nSerial.print(\u0026quot;|\u0026quot;);\u003cbr /\u003e\r\n// \u0026nbsp;Serial.print(\u0026quot; | Button:\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(value, DEC);\u003cbr /\u003e\r\n\u0026nbsp; delay(100);\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003evideo tuturial\u0026nbsp;\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=uAMnOz1I9Xc\u0026amp;list=PLazvcyckcBwjJte649VApod0HY0fpnbzA\u0026amp;index=2\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/uAMnOz1I9Xc/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":12,"PostMonth":"August","PostYear":2022,"Photo":"8_12_2022 11_23_06 PM_KY-023-DUAL-AXIS-JOYSTICK-MODULE_unity3d.jpg","Name":"Edafa","Views":468,"Liked":0,"Category_ID":13,"Category":"arduino with Unity3d"},{"ID":115,"Title":"ky-039 heartbeat sensor","Description":"\u003cp\u003e\u003cstrong\u003eky-039 heartbeat sensor\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eKY-039 heartbeat sensor module can be used to detect the heartbeat signal using a finger..\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-039 heartbeat sensor module can be used to detect the heartbeat signal using a finger. This sensor has an analog output. By placing your finger on the module, you can see the heartbeat signal through the analog output pin. In order to reduce the effect of noise on the output, the average of the last 20 output data is used. By placing your finger on the module, you can see how it works.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003evoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; pinMode(A0, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\r\n\u003cp\u003evoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; float pulse;\u003cbr /\u003e\r\n\u0026nbsp; int sum = 0;\u003cbr /\u003e\r\n\u0026nbsp; for (int i = 0; i \u0026lt; 20; i++)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; sum += analogRead(A0);\u003cbr /\u003e\r\n\u0026nbsp; pulse = sum / 20.00;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(pulse);\u003cbr /\u003e\r\n\u0026nbsp; delay(100);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_28_34 AM_39.jpg","Name":"Edafa","Views":311,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":114,"Title":"KY-032 INFRARED OBSTACLE AVOIDANCE SENSOR MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-032 INFRARED OBSTACLE AVOIDANCE SENSOR MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eKY-032 Obstacle Avoidance Sensor module is a distance-adjustable, infrared proximity sensor.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-032 INFRARED OBSTACLE AVOIDANCE SENSOR MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/032/xxx.png\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-032 INFRARED OBSTACLE AVOIDANCE SENSOR MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/032/x.png\" style=\"height:623px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eWhen the sensor detects an obstacle, it sends a LOW signal on its output pin. A HIGH signal is sent when the obstacle is not detected or is out of range.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint ledPin = 13; \u0026nbsp; \u0026nbsp; \u0026nbsp;// LED pin on arduino\u003cbr /\u003e\r\nint detectorPin = 3; \u0026nbsp;// obstacle avoidance sensor interface\u003cbr /\u003e\r\nint val; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;// variable to store result\u003cbr /\u003e\r\n//int enablePin = 2; \u0026nbsp;// sensor enable interface (EN)\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(ledPin, OUTPUT); \u0026nbsp;// Define LED as output interface\u003cbr /\u003e\r\n\u0026nbsp; pinMode(detectorPin, INPUT); \u0026nbsp;// Define obstacle avoidance sensor as input interface\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // uncomment and remove jumper on module to use enable pin (EN)\u003cbr /\u003e\r\n\u0026nbsp; //pinMode(enablePin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; //digitalWrite(enablePin, HIGH); \u0026nbsp;// Enable sensor\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; val = digitalRead(detectorPin); // Read value from sensor\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(val);\u003cbr /\u003e\r\n\u0026nbsp; if(val == LOW) // When the sensor detects an obstacle, the LED on the Arduino lights up\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(ledPin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(ledPin, LOW);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_28_28 AM_032-INFRARED-OBSTACLE-AVOIDANCE.jpg","Name":"Edafa","Views":258,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":113,"Title":"KY-031 KNOCK SENSOR MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-031 KNOCK SENSOR MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-031 Knock Sensor module is a vibration sensor that sends a signal when a knock/tap is detected.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-031 KNOCK SENSOR MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/031/aaa.png\" style=\"height:387px; width:189px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-031 KNOCK SENSOR MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/031/a.png\" style=\"height:520px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003ewill turn on LED when the module detects vibration caused by knocking or tapping the sensor.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint Led = 13; \u0026nbsp;// LED on Arduino board\u0026nbsp;\u003cbr /\u003e\r\nint Shock = 2; \u0026nbsp;// sensor signal\u003cbr /\u003e\r\nint val; \u0026nbsp; \u0026nbsp;// numeric variable to store sensor status\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode(Led, OUTPUT); \u0026nbsp; // define LED as output interface\u003cbr /\u003e\r\n\u0026nbsp; pinMode(Shock, INPUT); \u0026nbsp;// define input for sensor signal\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; val = digitalRead(Shock); // read and assign the value of digital interface 3 to val\u003cbr /\u003e\r\n\u0026nbsp; if(val == HIGH) // when sensor detects a signal, the LED flashes\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(Led, LOW);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(Led, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_28_28 AM_031-KNOCK-SENSOR.jpg","Name":"Edafa","Views":209,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":112,"Title":"KY-027 MAGIC LIGHT CUP MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-027 MAGIC LIGHT CUP MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-027 Magic Light Cup module is a set of two boards. Each one has a LED and a mercury tilt switch.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-027 MAGIC LIGHT CUP MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/027/26aa.png\" style=\"height:198px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-027 MAGIC LIGHT CUP MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/027/27.png\" style=\"height:568px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe mercury switches in each module provide a digital signal that is used to regulate the brightness of the LEDs using PWM. Place the modules so the mercury switches on each other and are facing in the opposite directions. Tilting the modules will decrease the brightness on one module while increasing it on the other one, creating the illusion of light magically passing from one module to the other.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003e// Android and KY-027 module\u003c/p\u003e\r\n\r\n\u003cp\u003eint brightness = 255; \u0026nbsp; // variable for LED brightness 0~255\u003c/p\u003e\r\n\r\n\u003cp\u003evoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; pinMode(8, INPUT); \u0026nbsp;// switch is connected to pin 8\u003cbr /\u003e\r\n\u0026nbsp; pinMode(9, OUTPUT); // LED is connected to pin 9\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\r\n\u003cp\u003evoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; if (digitalRead(8) == HIGH) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (brightness \u0026lt; 255) brightness++;\u0026nbsp;\u003cbr /\u003e\r\n// increase brightness if mercury switch is On\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (brightness \u0026gt; 0) brightness--;\u003cbr /\u003e\r\n// decrease brightness if mercury switch is Off (module tilted)\u003cbr /\u003e\r\n\u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; analogWrite(9, brightness); // set LED brightness\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_26_28 AM_027_MAGIC_LIGHT_CUP_MODULE.jpg","Name":"Edafa","Views":192,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":111,"Title":"KY-025 REED SWITCH MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-025 REED SWITCH MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-025 Reed Switch Module is a small electrical switch operated by an applied magnetic field, commonly used as a proximity sensor.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-025 REED SWITCH MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/025/qqq.png\" style=\"height:421px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-025 REED SWITCH MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/025/a.png\" style=\"height:672px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003ewe\u0026rsquo;ll read values from both digital and analog interfaces on the KY-025, you\u0026rsquo;ll need a magnet to interact with the module..\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint led = 13; // define the LED pin\u003cbr /\u003e\r\nint digitalPin = 3; // KY-025 digital interface\u003cbr /\u003e\r\nint analogPin = A0; // KY-025 analog interface\u003cbr /\u003e\r\nint digitalVal; // digital readings\u003cbr /\u003e\r\nint analogVal; //analog readings\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode(led, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(digitalPin, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; //pinMode(analogPin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; // Read the digital interface\u003cbr /\u003e\r\n\u0026nbsp; digitalVal = digitalRead(digitalPin);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogVal = analogRead(analogPin);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if(analogVal \u0026lt; 10) // if magnetic field is detected\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led, HIGH); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else \u0026nbsp;if(analogVal \u0026gt; 11)\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led, LOW); // turn OFF Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; // Read the analog interface\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; Serial.println(analogVal); // print analog value to serial\u003cbr /\u003e\r\n\u0026nbsp; delay(100);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_23_16 AM_025_REED_SWITCH_MODULE.jpg","Name":"Edafa","Views":211,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":110,"Title":"KY-024 LINEAR MAGNETIC HALL MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-024 LINEAR MAGNETIC HALL MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-024 Linear magnetic Hall sensor reacts in the presence of a magnetic field. It has a potentiometer to adjust the sensitivity of the sensor and it provides both analog and digital outputs, On the other hand, the analog output can measure the polarity and relative strength of the magnetic field.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-024 LINEAR MAGNETIC HALL MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/024/aaa.png\" style=\"height:501px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-024 LINEAR MAGNETIC HALL MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/024/a.png\" style=\"height:640px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe analog interface starts at an initial value determined by the input voltage and the potentiometer, this value will increase or decrease depending on the intensity and polarity of the magnetic field.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint led = 13 ; // LED on arduino\u003cbr /\u003e\r\nint digitalPin = 3; // linear Hall magnetic sensor digital interface\u003cbr /\u003e\r\nint analogPin = A0; // linear Hall magnetic sensor analog interface\u003cbr /\u003e\r\nint digitalVal ; // digital readings\u003cbr /\u003e\r\nint analogVal; // analog readings\u003cbr /\u003e\r\nvoid setup ()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode (led, OUTPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; pinMode (digitalPin, INPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; //pinMode(analogPin, INPUT);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop ()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; // Read the digital interface\u003cbr /\u003e\r\n\u0026nbsp; digitalVal = digitalRead(digitalPin) ;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if (digitalVal == HIGH) // When magnetic field is present, Arduino LED is on\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite (led, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite (led, LOW);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // Read the analog interface\u003cbr /\u003e\r\n\u0026nbsp; analogVal = analogRead(analogPin);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(analogVal); // print analog value\u003cbr /\u003e\r\n\u0026nbsp; delay(100);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_23_16 AM_024-LINEAR-MAGNETIC-HALL-MODULE.jpg","Name":"Edafa","Views":228,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":109,"Title":"KY-023 DUAL AXIS JOYSTICK MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-023 DUAL AXIS JOYSTICK MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-023 Dual Axis Joystick module uses a biaxial potentiometer to control the X and Y axis.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-023 DUAL AXIS JOYSTICK MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/023/023 DUAL AXIS JOYSTICK023 DUAL AXIS JOYSTICK.png\" style=\"height:261px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-023 DUAL AXIS JOYSTICK MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/023/023 DUAL AXIS JOYSTICK.png\" style=\"height:633px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eMoving the joystick up/down will increase/decrease the values of X and moving the joystick left/right will increase/decrease for values of Y, these values range between 0 and 1023. Push the joystick down to activate the Z-axis button.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint value = 0;\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; pinMode(A0, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(A1, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; pinMode(7, INPUT_PULLUP); //set pin 7 as an input and enable the internal pull-up resistor\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; value = analogRead(A0); // read X axis value 0..1023\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;X:\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(value, DEC);\u003cbr /\u003e\r\n\u0026nbsp; value = analogRead(A1); // read Y axis value 0..1023\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot; | Y:\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(value, DEC);\u003cbr /\u003e\r\n\u0026nbsp; value = digitalRead(7); // read Button state 0,1\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot; | Button:\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(value, DEC);\u003cbr /\u003e\r\n\u0026nbsp; delay(100);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_23_15 AM_023-DUAL-AXIS-JOYSTICK.jpg","Name":"Edafa","Views":260,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":108,"Title":"KY-026 FLAME SENSOR MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-026 FLAME SENSOR MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eKY-026 Flame Sensor module detects infrared light emitted by the fire. This module has both digital and analog outputs and a potentiometer to adjust the sensitivity. Commonly used in fire detection systems.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-026 FLAME SENSOR MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/026/aaa.png\" style=\"height:515px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-026 FLAME SENSOR MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/026/aa.png\" style=\"height:712px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003ewe\u0026rsquo;ll read values from both digital and analog interfaces on the KY-026, and use a lighter or a candle to interact with the flame detector module.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint led = 13; // define the LED pin\u003cbr /\u003e\r\nint digitalPin = 2; // KY-026 digital interface\u003cbr /\u003e\r\nint analogPin = A0; // KY-026 analog interface\u003cbr /\u003e\r\nint digitalVal; // digital readings\u003cbr /\u003e\r\nint analogVal; //analog readings\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode(led, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(digitalPin, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; //pinMode(analogPin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; // Read the digital interface\u003cbr /\u003e\r\n\u0026nbsp; digitalVal = digitalRead(digitalPin);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if(digitalVal == HIGH) // if flame is detected\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led, HIGH); // turn ON Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led, LOW); // turn OFF Arduino\u0026#39;s LED\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; // Read the analog interface\u003cbr /\u003e\r\n\u0026nbsp; analogVal = analogRead(analogPin);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(analogVal); // print analog value to serial\u003cbr /\u003e\r\n\u0026nbsp; delay(100);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_23_16 AM_026_FLAME_SENSOR_MODULE.jpg","Name":"Edafa","Views":229,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":107,"Title":"KY-022 INFRARED RECEIVER MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-022 INFRARED RECEIVER MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-022 Infrared Receiver module reacts to 38kHz IR light. It can be used to receive commands from IR remote controllers from TVs, stereos, and other devices.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-022 INFRARED RECEIVER MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/022/KY-022 INFRARED RECEIVERc.png\" style=\"height:303px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-022 INFRARED RECEIVER MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/022/KY-022 INFRARED RECEIVER_2.png\" style=\"height:509px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003ethe module detects to switch on/off led\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003e#include \u0026lt;IRremote.h\u0026gt;\u003cbr /\u003e\r\nint led = 13; //Define the LED pin\u003cbr /\u003e\r\nint RECV_PIN = 11; // define input pin on Arduino\u003c/p\u003e\r\n\r\n\u003cp\u003eIRrecv irrecv(RECV_PIN);\u0026nbsp;\u003cbr /\u003e\r\ndecode_results results; // decode_results class is defined in IRremote.h\u003cbr /\u003e\r\nvoid setup() {\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; irrecv.enableIRIn(); // Start the receiver\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;pinMode(led,OUTPUT);\u003cbr /\u003e\r\n}\u0026nbsp;\u003cbr /\u003e\r\nvoid loop() {\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if (irrecv.decode(\u0026amp;results)) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(results.value, HEX);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; irrecv.resume(); // Receive the next value\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;switch(results.value){\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; case 0xFFA25D:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(led,HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; case 0xFF629D:\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; digitalWrite(led,LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; break;\u003cbr /\u003e\r\n\u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; }\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; delay (100); // small delay to prevent reading errors\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_19_18 AM_022-INFRARED-RECEIVER.jpg","Name":"Edafa","Views":244,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":106,"Title":"KY-021 MINI MAGNETIC REED SWITCH MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-021 MINI MAGNETIC REED SWITCH MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-021 Magnetic Reed Switch module is a switch that is normally open and gets closed when exposed to a magnetic field, sending a digital signal. Commonly used in mechanical systems as proximity sensors.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-021 MINI MAGNETIC REED SWITCH MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/021/aa.png\" style=\"height:264px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-021 MINI MAGNETIC REED SWITCH MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/021/a.png\" style=\"height:575px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003ethe module detects a magnetic field. Place a magnet near the module to activate the reed switch on/off led\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint led = 13; // LED pin\u003cbr /\u003e\r\nint reelSwitch = 2; // magnetic senso rpin\u003cbr /\u003e\r\nint switchState; // variable to store reel switch value\u003cbr /\u003e\r\nvoid setup()\u0026nbsp;\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode (led, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode (reelSwitch, INPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; switchState = digitalRead(reelSwitch); // read the value of digital interface 2 and assign it to switchState\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if (switchState == HIGH) // when the magnetic sensor detect a signal, LED is flashing\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led, LOW);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_19_18 AM_021-MINI-MAGNETIC-REED-SWITCH-MODULE.jpg","Name":"Edafa","Views":204,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":105,"Title":"KY-020 Tilt Switch Sensor module","Description":"\u003ch2\u003e\u003cstrong\u003eKY-020 Tilt Switch Sensor module\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-020 Tilt Switch Sensor module is a switch that reacts to movement. It closes the circuit when it\u0026rsquo;s tilted to the side as long as it is moved with enough force and degree of inclination to activate the ball switch inside.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-020 Tilt Switch Sensor module\" src=\"HTTPS://blog.edafait.com/sensorimages/020/020_TILT_SWITCHs.png\" style=\"height:411px; width:200px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-020 Tilt Switch Sensor module\" src=\"HTTPS://blog.edafait.com/sensorimages/020/020_TILT_SWITCH.png\" style=\"height:554px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003ewhen the module inclination degree changes. Tilt the module to turn the LED on/off.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint tiltPin = 2; \u0026nbsp; \u0026nbsp; \u0026nbsp;// pin number for tilt switch signal\u0026nbsp;\u003cbr /\u003e\r\nint ledPin = \u0026nbsp;13; \u0026nbsp; \u0026nbsp; // pin number of LED\u0026nbsp;\u003cbr /\u003e\r\nint tiltState = 0; \u0026nbsp; \u0026nbsp;// variable for reading the tilt switch status\u003cbr /\u003e\r\nvoid setup() { \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;Serial.begin(9600);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(ledPin, OUTPUT); \u0026nbsp;// set the LED pin as output \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; pinMode(tiltPin, INPUT); \u0026nbsp;// set the tilt switch pin as input\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop(){\u003cbr /\u003e\r\n\u0026nbsp; // get the tilt switch state\u003cbr /\u003e\r\n\u0026nbsp; tiltState = digitalRead(tiltPin);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(tiltState);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; // check if tilt switch is tilted.\u003cbr /\u003e\r\n\u0026nbsp; if (tiltState == HIGH) { \u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(ledPin, HIGH); \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; }\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(ledPin, LOW);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_18_58 AM_020_TILT_SWITCHS.jpg","Name":"Edafa","Views":193,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":104,"Title":"KY-018 PHOTORESISTOR MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-018 PHOTORESISTOR MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-018 Photoresistor module is used to measure light intensity.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-018 PHOTORESISTOR MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/018/018 PHOTORESISTOR018 PHOTORESISTOR.png\" style=\"height:348px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-018 PHOTORESISTOR MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/018/018 PHOTORESISTOR.png\" style=\"height:648px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe following Arduino sketch will output readings from the photoresistor, cover the module with your hand to prevent light on it and the output values will be low, point light to the sensor \u0026amp; the values will be high.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint led_pin = 13; // Define the LED interface\u003cbr /\u003e\r\nint switch_pin = 3; // Definition of mercury tilt switch sensor interface\u003cbr /\u003e\r\nint val; // Defines a numeric variable\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode(led_pin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(switch_pin, INPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; val = digitalRead(switch_pin); // check mercury switch state\u003cbr /\u003e\r\n\u0026nbsp; if(val == HIGH)\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led_pin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led_pin, LOW);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_18_45 AM_018-PHOTORESISTOR.jpg","Name":"Edafa","Views":314,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":103,"Title":"KY-017 MERCURY TILT SWITCH MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-017 MERCURY TILT SWITCH MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-017 Mercury Tilt Switch module is a switch that responds to movement. It uses a small mercury ball that completes the circuit when the module is tilted.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-017 MERCURY TILT SWITCH MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/017/MERCURY TILT MERCURY TILT.png\" style=\"height:391px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-017 MERCURY TILT SWITCH MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/017/MERCURY TILT.png\" style=\"height:634px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe following sketch will light up the led when the module is tilted.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint led_pin = 13; // Define the LED interface\u003cbr /\u003e\r\nint switch_pin = 3; // Definition of mercury tilt switch sensor interface\u003cbr /\u003e\r\nint val; // Defines a numeric variable\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode(led_pin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(switch_pin, INPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; val = digitalRead(switch_pin); // check mercury switch state\u003cbr /\u003e\r\n\u0026nbsp; if(val == HIGH)\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led_pin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led_pin, LOW);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_17_21 AM_017-MERCURY-TILT-SWITCH.jpg","Name":"Edafa","Views":165,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":102,"Title":"KY-016 RGB FULL COLOR LED MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-016 RGB FULL COLOR LED MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-016 Full Color RGB LED emits a wide range of different colors by mixing red, green \u0026amp; blue light.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-016 RGB FULL COLOR LED MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/016/qa.png\" style=\"height:320px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-016 RGB FULL COLOR LED MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/016/a.png\" style=\"height:552px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe following Arduino sketch will gradually increase/decrease the PWM values on the red, green \u0026amp; blue pins causing the LED to cycle through various colors.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint redpin = 8; // select the pin for the red LED\u003cbr /\u003e\r\nint bluepin =9; // select the pin for the \u0026nbsp;blue LED\u003cbr /\u003e\r\nint greenpin =10; // select the pin for the green LED\u003cbr /\u003e\r\nint val;\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; pinMode(redpin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(bluepin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(greenpin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; for(val = 255; val \u0026gt; 0; val--)\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(11, val);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(10, 255 - val);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(9, 128 - val);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(val, DEC);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(5);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; for(val = 0; val \u0026lt; 255; val++)\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(11, val);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(10, 255 - val);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(9, 128 - val);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(val, DEC);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(5);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_17_21 AM_016-RGB-FULL-COLOR-LED-MODULE.jpg","Name":"Edafa","Views":210,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":101,"Title":"KY-015 Temperature and Humidity Sensor Module","Description":"\u003ch2\u003e\u003cstrong\u003eKY-015 Temperature and Humidity Sensor Module\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-015 Temperature and Humidity Sensor module provides a digital serial interface to measure environment humidity and temperature.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-015 Temperature and Humidity Sensor Module\" src=\"HTTPS://blog.edafait.com/sensorimages/015/a.png\" style=\"height:177px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-015 Temperature and Humidity Sensor Module\" src=\"HTTPS://blog.edafait.com/sensorimages/015/aa.png\" style=\"height:496px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eSerial communication is archived by sending specific series of high/low signals to the sensor and waiting for a response. Temperature and humidity data is read bit by bit and returned as an array of bytes.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint DHpin = 8; // input/output pin\u003cbr /\u003e\r\nbyte dat5; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\nbyte read_data()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; byte i = 0;\u003cbr /\u003e\r\n\u0026nbsp; byte result = 0;\u003cbr /\u003e\r\n\u0026nbsp; for (i = 0; i \u0026lt; 8; i++) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; while (digitalRead(DHpin) == LOW); // wait 50us\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delayMicroseconds(30); //The duration of the high level is judged to determine whether the data is \u0026#39;0\u0026#39; or \u0026#39;1\u0026#39;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if (digitalRead(DHpin) == HIGH)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; result |= (1 \u0026lt;\u0026lt; (8 - i)); //High in the former, low in the post\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; while (digitalRead(DHpin) == HIGH); //Data \u0026#39;1\u0026#39;, waiting for the next bit of reception\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; return result;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid start_test()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, LOW); //Pull down the bus to send the start signal\u003cbr /\u003e\r\n\u0026nbsp; delay(30); //The delay is greater than 18 ms so that DHT 11 can detect the start signal\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(40); //Wait for DHT11 to respond\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; while(digitalRead(DHpin) == HIGH);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(80); //The DHT11 responds by pulling the bus low for 80us;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if(digitalRead(DHpin) == LOW)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delayMicroseconds(80); //DHT11 pulled up after the bus 80us to start sending data;\u003cbr /\u003e\r\n\u0026nbsp; for(int i = 0; i \u0026lt; 5; i++) //Receiving temperature and humidity data, check bits are not considered;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; dati = read_data();\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, HIGH); //After the completion of a release of data bus, waiting for the host to start the next signal\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, OUTPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; start_test();\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Humdity = \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat0, DEC); //Displays the integer bits of humidity;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026#39;.\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat1, DEC); //Displays the decimal places of the humidity;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026#39;%\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Temperature = \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat2, DEC); //Displays the integer bits of temperature;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026#39;.\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat3, DEC); //Displays the decimal places of the temperature;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026#39;C\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; byte checksum = dat0 + dat1 + dat2 + dat3;\u003cbr /\u003e\r\n\u0026nbsp; if (dat4 != checksum)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;-- Checksum Error!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;-- OK\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; delay(1000);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample 2 with OLED Display:\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-015 Temperature and Humidity Sensor Module\" src=\"HTTPS://blog.edafait.com/sensorimages/015/aa.png\" style=\"height:149px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003e\u003cbr /\u003e\r\n#include \u0026lt;SPI.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Wire.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_GFX.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_SSD1306.h\u0026gt;\u003c/p\u003e\r\n\r\n\u003cp\u003eAdafruit_SSD1306 display(-1);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cbr /\u003e\r\nint DHpin = 8; // input/output pin\u003cbr /\u003e\r\nbyte dat5; \u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\nbyte read_data()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; byte i = 0;\u003cbr /\u003e\r\n\u0026nbsp; byte result = 0;\u003cbr /\u003e\r\n\u0026nbsp; for (i = 0; i \u0026lt; 8; i++) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; while (digitalRead(DHpin) == LOW); // wait 50us\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delayMicroseconds(30); //The duration of the high level is judged to determine whether the data is \u0026#39;0\u0026#39; or \u0026#39;1\u0026#39;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; if (digitalRead(DHpin) == HIGH)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; result |= (1 \u0026lt;\u0026lt; (8 - i)); //High in the former, low in the post\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; while (digitalRead(DHpin) == HIGH); //Data \u0026#39;1\u0026#39;, waiting for the next bit of reception\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; return result;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid start_test()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, LOW); //Pull down the bus to send the start signal\u003cbr /\u003e\r\n\u0026nbsp; delay(30); //The delay is greater than 18 ms so that DHT 11 can detect the start signal\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(40); //Wait for DHT11 to respond\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, INPUT);\u003cbr /\u003e\r\n\u0026nbsp; while(digitalRead(DHpin) == HIGH);\u003cbr /\u003e\r\n\u0026nbsp; delayMicroseconds(80); //The DHT11 responds by pulling the bus low for 80us;\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if(digitalRead(DHpin) == LOW)\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delayMicroseconds(80); //DHT11 pulled up after the bus 80us to start sending data;\u003cbr /\u003e\r\n\u0026nbsp; for(int i = 0; i \u0026lt; 5; i++) //Receiving temperature and humidity data, check bits are not considered;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; dati = read_data();\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(DHpin, HIGH); //After the completion of a release of data bus, waiting for the host to start the next signal\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; display.begin(SSD1306_SWITCHCAPVCC, 0x3C); \u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; // Clear the buffer.\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; // Display Text\u003cbr /\u003e\r\n\u0026nbsp; display.setTextSize(1);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(10,0);\u003cbr /\u003e\r\n\u0026nbsp; display.println(\u0026quot;TEMPERATURE \u0026amp; HUMIDITY\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(DHpin, OUTPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; start_test();\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Humdity = \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat0, DEC); //Displays the integer bits of humidity;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026#39;.\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat1, DEC); //Displays the decimal places of the humidity;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026#39;%\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Temperature = \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat2, DEC); //Displays the integer bits of temperature;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026#39;.\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(dat3, DEC); //Displays the decimal places of the temperature;\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026#39;C\u0026#39;);\u003cbr /\u003e\r\n\u0026nbsp; byte checksum = dat0 + dat1 + dat2 + dat3;\u003cbr /\u003e\r\n\u0026nbsp; if (dat4 != checksum)\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;-- Checksum Error!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(\u0026quot;-- OK\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; delay(1000);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; \u0026nbsp; // Clear the buffer.\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; // Display Text\u003cbr /\u003e\r\n\u0026nbsp; display.setTextSize(1);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(10,0);\u003cbr /\u003e\r\n\u0026nbsp;display.println( \u0026quot;Humdity = \u0026quot;+ String(dat0, DEC) +\u0026quot;.\u0026quot;+ String(dat1, DEC) +\u0026quot;%\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp;display.println( \u0026quot;Temperature = \u0026quot;+ String(dat2, DEC) +\u0026quot;.\u0026quot;+ String(dat3, DEC) +\u0026quot;C\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_17_04 AM_015-TEMPERATURE-AND-HUMIDITY-SENSOR-MODULE.jpg","Name":"Edafa","Views":172,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":100,"Title":"KY-013 Analog Temperature Sensor module","Description":"\u003ch2\u003e\u003cstrong\u003eKY-013 Analog Temperature Sensor module\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-013 Analog Temperature Sensor module can measure ambient temperature based on the resistance of the thermistor on the board.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-013 Analog Temperature Sensor module\" src=\"HTTPS://blog.edafait.com/sensorimages/013/ANALOG_TEMPERATURE__.png\" style=\"height:351px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KKY-013 Analog Temperature Sensor module\" src=\"HTTPS://blog.edafait.com/sensorimages/013/KY-011_TWO_COLOR_LED_MODULE.png\" style=\"height:318px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe code will return the temperature to Celsius, to get the temperature in Fahrenheit.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint ThermistorPin = A0;\u003cbr /\u003e\r\nint Vo;\u003cbr /\u003e\r\nfloat R1 = 10000; // value of R1 on board\u003cbr /\u003e\r\nfloat logR2, R2, T;\u003cbr /\u003e\r\nfloat c1 = 0.001129148, c2 = 0.000234125, c3 = 0.0000000876741; //steinhart-hart coeficients for thermistor\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; Vo = analogRead(ThermistorPin);\u003cbr /\u003e\r\n\u0026nbsp; R2 = R1 * (1023.0 / (float)Vo - 1.0); //calculate resistance on thermistor\u003cbr /\u003e\r\n\u0026nbsp; logR2 = log(R2);\u003cbr /\u003e\r\n\u0026nbsp; T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2)); // temperature in Kelvin\u003cbr /\u003e\r\n\u0026nbsp; T = T - 273.15; //convert Kelvin to Celcius\u003cbr /\u003e\r\n\u0026nbsp;// T = (T * 9.0)/ 5.0 + 32.0; //convert Celcius to Farenheit\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Temperature: \u0026quot;);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(T);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot; C\u0026quot;);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; delay(500);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample 2 with OLED Display:\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-013 Analog Temperature Sensor module\" src=\"HTTPS://blog.edafait.com/sensorimages/013/ANALOG_TEMPERATURE_oled.png\" style=\"height:172px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e#include \u0026lt;Wire.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_GFX.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_SSD1306.h\u0026gt; #include \u0026lt;Wire.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_GFX.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_SSD1306.h\u0026gt;\u003cbr /\u003e\r\nAdafruit_SSD1306 display(-1);\u003cbr /\u003e\r\nint ThermistorPin = A0;\u003cbr /\u003e\r\nint Vo;\u003cbr /\u003e\r\nfloat R1 = 10000; // value of R1 on board\u003cbr /\u003e\r\nfloat logR2, R2, T;\u003cbr /\u003e\r\nfloat c1 = 0.001129148, c2 = 0.000234125, c3 = 0.0000000876741; //Steinhart-hart coefficients for thermistor\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u0026nbsp; \u0026nbsp; // initialize with the I2C addr 0x3C\u003cbr /\u003e\r\n\u0026nbsp; display.begin(SSD1306_SWITCHCAPVCC, 0x3C); \u0026nbsp;\u0026nbsp; // Clear the buffer.\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u0026nbsp; // Display Text\u003cbr /\u003e\r\n\u0026nbsp; display.setTextSize(1);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(10,0);\u003cbr /\u003e\r\n\u0026nbsp; display.println(\u0026quot;ANALOG TEMPERATURE\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; Vo = analogRead(ThermistorPin);\u003cbr /\u003e\r\n\u0026nbsp; R2 = R1 * (1023.0 / (float)Vo - 1.0); //calculate resistance on thermistor\u003cbr /\u003e\r\n\u0026nbsp; logR2 = log(R2);\u003cbr /\u003e\r\n\u0026nbsp; T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2)); // temperature in Kelvin\u003cbr /\u003e\r\n\u0026nbsp; T = T - 273.15; //convert Kelvin to Celcius\u003cbr /\u003e\r\n\u0026nbsp;// T = (T * 9.0)/ 5.0 + 32.0; //convert Celcius to Farenheit\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(\u0026quot;Temperature: \u0026quot;);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; Serial.print(T);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot; C\u0026quot;);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; delay(500);\u0026gt;\u0026nbsp; \u0026nbsp;// Display Text\u003cbr /\u003e\r\n\u0026nbsp; display.setTextSize(.9);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(10,0);\u003cbr /\u003e\r\n\u0026nbsp; display.println(\u0026quot;Temperature: \u0026quot; +String (T)+\u0026quot; c\u0026quot; );\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_16_18 AM_013-ANALOG_TEMPERATURE_oled.jpg","Name":"Edafa","Views":243,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":99,"Title":"KY-012 ACTIVE BUZZER MODULE and KY-006 PASSIVE BUZZER MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-012 ACTIVE BUZZER MODULE and KY-006 PASSIVE BUZZER MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003ch2\u003eSame\u0026nbsp;\u003cstrong\u003eKY-012 and KY-006 \u003c/strong\u003e code ARDUINO IDE\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-006 Passive Piezoelectric Buzzer module can produce a range of sound tones depending on the input signal frequency.\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-012 Active Buzzer module produces a single-tone sound when it receives a high signal. To produce different tones.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-012 ACTIVE BUZZER MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/012/006_PASSIVE_BUZZER_MODULExxxx.png\" style=\"height:311px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-006 ACTIVE BUZZER MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/012/_PASSIVE_BUZZER_MODULE.png\" style=\"height:526px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino Sketch will continually turn the buzzer on and off generating.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint buzzerPin = 3;\u003cbr /\u003e\r\nvoid setup ()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode (buzzerPin, OUTPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop ()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp;for (int i = 0; i \u0026lt; 100; i++) { \u0026nbsp;// make a sound\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp;digitalWrite(buzzerPin, HIGH); // send high signal to buzzer\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(1); // delay 1ms\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(buzzerPin, LOW); // send low signal to buzzer\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(1);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; delay(500);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eAnother Example of different tones\u0026nbsp;:\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003cstrong\u003eint speakerPin = 3;\u003cbr /\u003e\r\nint length = 26;\u003cbr /\u003e\r\nchar notes = \u0026quot;eeeeeeegcde fffffeeeeddedg\u0026quot;;\u003cbr /\u003e\r\nint beats = { 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2};\u003c/strong\u003e void playTone(int tone, int duration) {\u003cbr /\u003e\r\n\u0026nbsp; for (long i = 0; i \u0026lt; duration * 1000L; i += tone * 2) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(speakerPin, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delayMicroseconds(tone);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(speakerPin, LOW);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delayMicroseconds(tone);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid playNote(char note, int duration) {\u003cbr /\u003e\r\n\u0026nbsp; char names = { \u0026#39;c\u0026#39;, \u0026#39;d\u0026#39;, \u0026#39;e\u0026#39;, \u0026#39;f\u0026#39;, \u0026#39;g\u0026#39;, \u0026#39;a\u0026#39;, \u0026#39;b\u0026#39;, \u0026#39;C\u0026#39; };\u003cbr /\u003e\r\n\u0026nbsp; int tones = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };\r\n\u003cp\u003e// play the tone corresponding to the note name\u003cbr /\u003e\r\n\u0026nbsp; for (int i = 0; i \u0026lt; 8; i++) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (namesi == note) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; playTone(tonesi, duration);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; pinMode(speakerPin, OUTPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; for (int i = 0; i \u0026lt; length; i++) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; if (notesi == \u0026#39; \u0026#39;) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; delay(beatsi * tempo); // rest\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; } else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; playNote(notesi, beatsi * tempo);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; } // pause between notes\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(tempo / 2);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_09_15 AM_012---006PASSIVE_BUZZER_MODULE.jpg","Name":"Edafa","Views":316,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":98,"Title":"KY-011 Two Color LED module","Description":"\u003ch2\u003e\u003cstrong\u003eKY-011 Two Color LED module\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-011 Two Color LED module emits red and green light. You can adjust the intensity of each color using PWM.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-011 Two Color LED module\" src=\"HTTPS://blog.edafait.com/sensorimages/011/KY-011_TWO_COLOR_LED_MODULEa.png\" style=\"height:331px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-011 Two Color LED module\" src=\"HTTPS://blog.edafait.com/sensorimages/011/KY-011_TWO_COLOR_LED_MODULE.png\" style=\"height:507px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino sketch will gradually alternate between red and green colors.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint redpin = 11; // pin for red signal\u003cbr /\u003e\r\nint greenpin = 10; // pin for green signal\u003cbr /\u003e\r\nint val;\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; pinMode(redpin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(greenpin, OUTPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; for(val = 255; val \u0026gt; 0; val--) {\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(redpin, val); //dim red\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(greenpin, 255 - val); // brighten green\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(15);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; for(val = 0; val \u0026lt; 255; val++) {\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(redpin, val); //brighten red\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(greenpin, 255 - val); //dim green\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(15);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_09_14 AM_KY-011_TWO_COLOR_LED_MODULEs.jpg","Name":"Edafa","Views":298,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":97,"Title":"KY-010 PHOTO INTERRUPTER MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-010 PHOTO INTERRUPTER MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eKY-010 Photo interrupter is a transmission-type photosensor, which typically consists of light emitting elements and light receiving elements aligned facing each other in a single package, that works by detecting light blockage when a target object comes between both elements..\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi, and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-010 PHOTO INTERRUPTER MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/010/j.png\" style=\"height:311px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-010 PHOTO INTERRUPTER MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/010/Untitled Sketch 2_bb.png\" style=\"height:422px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino when there\u0026rsquo;s an object blocking the path between the sensor`s gap.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003econst int pi= A0; // define \u0026nbsp;pin\u003c/p\u003e\r\n\r\n\u003cp\u003eint values; //define a numeric variable\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp;Serial.begin(9600);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; values=analogRead(pi);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(values);\u003cbr /\u003e\r\n\u0026nbsp; delay(100);\u003cbr /\u003e\r\n\u0026nbsp;\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_09_14 AM_KY-010_PHOTO_INTERRUPTER_MODULE.jpg","Name":"Edafa","Views":278,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":96,"Title":"KY-009 RGB FULL COLOR LED SMD MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-009 RGB FULL COLOR LED SMD MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-009 RGB Full Color LED module emits a range of colors by mixing red, green, and blue light. Each color is adjusted by using PWM.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-009 RGB FULL COLOR LED SMD MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/009/KY-009 RGB FULL COLOR LED SMD MODULEbbb.png\" style=\"height:303px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-009 RGB FULL COLOR LED SMD MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/009/KY-009 RGB FULL COLOR LED SMD MODULE.png\" style=\"height:503px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eCycle through various colors by changing the PWM value on each of the three primary colors..\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint redpin = 11; //select the pin for the red LED\u003cbr /\u003e\r\nint bluepin =10; // select the pin for the \u0026nbsp;blue LED\u003cbr /\u003e\r\nint greenpin = 9;// select the pin for the green LED\u003cbr /\u003e\r\nint val;\u003cbr /\u003e\r\nvoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; pinMode(redpin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(bluepin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(greenpin, OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u0026nbsp;\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; for(val = 255; val \u0026gt; 0; val--)\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(redpin, val); \u0026nbsp;//set PWM value for red\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(bluepin, 255 - val); //set PWM value for blue\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(greenpin, 128 - val); //set PWM value for green\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(val); //print current value\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(5);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; for(val = 0; val \u0026lt; 255; val++)\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(redpin, val);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(bluepin, 255 - val);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; analogWrite(greenpin, 128 - val);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.println(val);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; delay(5);\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_06_52 AM_KY-009-RGB-FULL-COLOR-LED-SMD-MODULE.jpg","Name":"Edafa","Views":202,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":95,"Title":"KY-004 KEY SWITCH MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-004 KEY SWITCH MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-004 Key Switch Module is a push button that will close the circuit when pressed, sending a high signal.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-004 KEY SWITCH MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/004/004.png\" style=\"height:306px; width:150px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"KY-004 KEY SWITCH MODULE\" src=\"HTTPS://blog.edafait.com/sensorimages/004/004 g.png\" style=\"height:500px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe LED on Arduino pin 13 will flash when the KY-004 pressed.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint led = 13; //Define the LED pin\u003cbr /\u003e\r\nint buttonpin = 3; //Define the push button pin\u003cbr /\u003e\r\nint val; //Define a numeric variable\u003cbr /\u003e\r\nvoid setup()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode(led,OUTPUT);\u003cbr /\u003e\r\n\u0026nbsp; pinMode(buttonpin,INPUT);\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; val = digitalRead(buttonpin); // check the state of the button\u003cbr /\u003e\r\n\u0026nbsp; if(val==HIGH) // if button is pressed, turn LED on\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led,HIGH);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite(led,LOW);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_06_43 AM_004_KEY_SWITCH_MODULES.jpg","Name":"Edafa","Views":155,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":94,"Title":"KY-003 HALL MAGNETIC SENSOR MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-003 HALL MAGNETIC SENSOR MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-003 Hall Magnetic Sensor module is a switch that reacts to the presence of a magnetic field, turning itself on or off. .\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, ESP8266, Raspberry Pi and ......\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"ky-003 Hall magentic\" src=\"HTTPS://blog.edafait.com/sensorimages/003/003_Hall_magentic_.png\" style=\"height:366px; width:159px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"ky-003 Hall magentic\" src=\"HTTPS://blog.edafait.com/sensorimages/003/003_Hall_magentic.png\" style=\"height:334px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe LED on Arduino pin 13 will flash when the KY-002 is knocked or shaked.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003eint hallSensorPin = 4;\u003cbr /\u003e\r\nint hallSensorValue = 0;\u003c/p\u003e\r\n\r\n\u003cp\u003evoid setup() {\u003cbr /\u003e\r\n\u0026nbsp; // put your setup code here, to run once:\u003cbr /\u003e\r\nSerial.begin(9600);\u003cbr /\u003e\r\npinMode(hallSensorPin,INPUT);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\r\n\u003cp\u003evoid loop() {\u003cbr /\u003e\r\n\u0026nbsp; // put your main code here, to run repeatedly:\u003c/p\u003e\r\n\r\n\u003cp\u003ehallSensorValue = digitalRead(hallSensorPin);\u003cbr /\u003e\r\nSerial.print(\u0026quot;hallSensorValue: \u0026quot;);\u003cbr /\u003e\r\nSerial.println(hallSensorValue);\u003c/p\u003e\r\n\r\n\u003cp\u003e}\u003c/p\u003e\r\n\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 5_06_44 AM_003_Hall_magentic.jpg","Name":"Edafa","Views":147,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":93,"Title":"KY-002 VIBRATION SWITCH MODULE","Description":"\u003ch2\u003e\u003cstrong\u003eKY-002 VIBRATION SWITCH MODULE\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eShort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe KY-002 Vibration Switch Module detects shaking and knocking.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"\" src=\"HTTPS://blog.edafait.com/sensorimages/002/KY-002 VIBRATION SWITCH MODULE.png\" style=\"height:487px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO IDE CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe LED on Arduino pin 13 will flash when the KY-002 is knocked or shaked.\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003eint Led = 13 ;// declaration of the LED output pin\u003cbr /\u003e\r\nint Sensor = 10 ;// Declaration of the sensor input pin\u003cbr /\u003e\r\nint val; // Temporary variable\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\nvoid setup ()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; pinMode (Led, OUTPUT) ; // Initialize output pin\u003cbr /\u003e\r\n\u0026nbsp; pinMode (Sensor, INPUT) ; // Initialize sensor pin\u003cbr /\u003e\r\n\u0026nbsp; digitalWrite(Sensor, HIGH) ; // Activate internal pull-up resistor\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\nvoid loop ()\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; val = digitalRead (Sensor) ; // The current signal at the sensor is read out\u003cbr /\u003e\r\n\u0026nbsp;\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; if (val == HIGH) // If a signal could be detected, the LED is switched on.\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite (Led, LOW);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n\u0026nbsp; else\u003cbr /\u003e\r\n\u0026nbsp; {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; digitalWrite (Led, HIGH);\u003cbr /\u003e\r\n\u0026nbsp; }\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eWorking with\u0026nbsp;\u003c/strong\u003e\u0026nbsp;(\u003cstrong\u003eCompatible)\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eArduino, ESP32, Nodemcu, Raspberry Pi and ......\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"August","PostYear":2022,"Photo":"8_7_2022 4_29_36 AM_002-VIBRATION-SWITCH-MODULE.jpg","Name":"Edafa","Views":177,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":92,"Title":"KY-001 temperature sensor module OLED DISPLAY","Description":"\u003ch2\u003e\u003cstrong\u003eKY-001 temperature sensor module OLED DISPLAY\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003chr /\u003e\r\n\u003cp\u003e\u003cstrong\u003eshort description :\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eKY-001 Temperature Sensor Module allows ambient temperature measurement using the digital serial bus.\u0026nbsp;\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"\" src=\"HTTPS://blog.edafait.com/sensorimages/001/temperature_sensor_module.jpg\" style=\"height:318px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eARDUINO CODE\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eCase 1 :\u0026nbsp;\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u003ccite\u003e\u003cspan dir=\"ltr\"\u003e#include \u0026lt;OneWire.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;DallasTemperature.h\u0026gt;\u003cbr /\u003e\r\n// Data wire is plugged into pin 2 on the Arduino\u003cbr /\u003e\r\n#define Temperature_wire 4\u003cbr /\u003e\r\n// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)\u003cbr /\u003e\r\nOneWire oneWire(Temperature_wire);\u003cbr /\u003e\r\n// Pass our oneWire reference to Dallas Temperature.\u0026nbsp;\u003cbr /\u003e\r\nDallasTemperature sensors(\u0026amp;oneWire);\u003cbr /\u003e\r\nvoid setup(void)\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; // start serial port\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Dallas Temperature IC Control Library Demo\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; // Start up the library\u003cbr /\u003e\r\n\u0026nbsp; sensors.begin(); // IC Default 9 bit. If you have troubles consider upping it 12. Ups the delay giving the IC more time to process the temperature measurement\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop(void)\u003cbr /\u003e\r\n{\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // call sensors.requestTemperatures() to issue a global temperature\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // request to all devices on the bus\u003cbr /\u003e\r\n\u0026nbsp; //Serial.print(\u0026quot;Requesting temperatures...\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; sensors.requestTemperatures(); // Send the command to get temperatures\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;DONE\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; //Serial.print(\u0026quot;Temperature \u0026nbsp;\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.print(\u0026quot;Temperature: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(sensors.getTempCByIndex(0)); // Why \u0026quot;byIndex\u0026quot;? You can have more than one IC on the same bus. 0 refers to the first IC on the wire\u003cbr /\u003e\r\n\u0026nbsp; delay(10000);\u003cbr /\u003e\r\n}\u003c/span\u003e\u003c/cite\u003e\u003c/div\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eCase 2 with OLED DISPLAY\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cimg alt=\"\" src=\"https://blog.edafait.com/sensorimages/001/temperature_sensor_module_oled.png\" style=\"height:457px; width:500px\" /\u003e\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\r\n\u003cp\u003e#include \u0026lt;OneWire.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;DallasTemperature.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;SPI.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Wire.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_GFX.h\u0026gt;\u003cbr /\u003e\r\n#include \u0026lt;Adafruit_SSD1306.h\u0026gt;\u003c/p\u003e\r\n\r\n\u003cp\u003eAdafruit_SSD1306 display(-1);\u003cbr /\u003e\r\n// Data wire is plugged into pin 2 on the Arduino\u003cbr /\u003e\r\n#define Temperature_wire 4\u003cbr /\u003e\r\n// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)\u003cbr /\u003e\r\nOneWire oneWire(Temperature_wire);\u003cbr /\u003e\r\n// Pass our oneWire reference to Dallas Temperature.\u0026nbsp;\u003cbr /\u003e\r\nDallasTemperature sensors(\u0026amp;oneWire);\u003cbr /\u003e\r\nvoid setup(void)\u003cbr /\u003e\r\n{\u003cbr /\u003e\r\n\u0026nbsp; // start serial port\u003cbr /\u003e\r\n\u0026nbsp; Serial.begin(9600);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(\u0026quot;Dallas Temperature IC Control Library Demo\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; // Start up the library\u003cbr /\u003e\r\n\u0026nbsp; sensors.begin(); // IC Default 9 bit. If you have troubles consider upping it 12. Ups the delay giving the IC more time to process the temperature measurement\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; // initialize with the I2C addr 0x3C\u003cbr /\u003e\r\n\u0026nbsp; display.begin(SSD1306_SWITCHCAPVCC, 0x3C); \u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; // Clear the buffer.\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; // Display Text\u003cbr /\u003e\r\n\u0026nbsp; display.setTextSize(1);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(10,0);\u003cbr /\u003e\r\n\u0026nbsp; display.println(\u0026quot;Hello world!\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\nvoid loop(void)\u003cbr /\u003e\r\n{\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // call sensors.requestTemperatures() to issue a global temperature\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; // request to all devices on the bus\u003cbr /\u003e\r\n\u0026nbsp; //Serial.print(\u0026quot;Requesting temperatures...\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; sensors.requestTemperatures(); // Send the command to get temperatures\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; //Serial.print(\u0026quot;Temperature \u0026nbsp;\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; Serial.print(\u0026quot;Temperature: \u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; Serial.println(sensors.getTempCByIndex(0)); // Why \u0026quot;byIndex\u0026quot;? You can have more than one IC on the same bus. 0 refers to the first IC on the wire\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp; display.setTextSize(1);\u003cbr /\u003e\r\n\u0026nbsp; display.setTextColor(WHITE);\u003cbr /\u003e\r\n\u0026nbsp; display.setCursor(10,0);\u003cbr /\u003e\r\n\u0026nbsp; display.println( String(sensors.getTempCByIndex(0)) +\u0026quot; C\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; display.display();\u003cbr /\u003e\r\n\u0026nbsp; delay(2000);\u003cbr /\u003e\r\n\u0026nbsp; display.clearDisplay();\u003cbr /\u003e\r\n\u0026nbsp; delay(1000);\u003cbr /\u003e\r\n}\u003c/p\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eSPECIFICATIONS :\u0026nbsp;\u003c/h2\u003e\r\n\r\n\u003ctable\u003e\r\n\t\u003ctbody\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003eOperating Voltage\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e3.0V to 5.5V\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003eTemperature Measurement Range\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e-55\u0026deg;C to 125\u0026deg;C -57\u0026deg;F to 257\u0026deg;F\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003eMeasurement Accuracy Range\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026plusmn;0.5\u0026deg;C\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003eBoard Dimensions\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e18.5mm x 15mm 0.728in x 0.591in\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\u003c/tbody\u003e\r\n\u003c/table\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":6,"PostMonth":"August","PostYear":2022,"Photo":"8_6_2022 2_37_00 AM_KY-001-temperature-sensor-module-OLED-DISPLAY.jpg","Name":"Edafa","Views":237,"Liked":0,"Category_ID":12,"Category":"Arduino sensor "},{"ID":91,"Title":"How To Use Solar Cell to charge a battery in home","Description":"\u003cp\u003eSolar Panel How To Use Solar Cell to charge a battery\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eLithium Battery Charger Module 1A (TP4056) With Battery Protection (USB Micro)\u003c/li\u003e\r\n\t\u003cli\u003eSolar Panel (5.5V , 0.5W) 70X50mm\u003c/li\u003e\r\n\t\u003cli\u003eLithium Battery and holder\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":3,"PostMonth":"August","PostYear":2022,"Photo":"8_3_2022 3_13_41 PM_1.png","Name":"Edafa","Views":180,"Liked":0,"Category_ID":11,"Category":"Solar System"},{"ID":90,"Title":"CSS Animations Creator","Description":"\u003cp\u003eOnline tool for creating native CSS3 Keyframes Animation.\u003c/p\u003e\r\n\r\n\u003cp\u003eYou can used very easy and fast generate CSS3 animation without any coding.\u003c/p\u003e\r\n\r\n\u003cp\u003eHelp you to add animation to your html page and aspx page which make your website attractive\u003c/p\u003e\r\n\r\n\u003ch2 style=\"font-style:italic\"\u003e\u003cstrong\u003e\u003ca href=\"https://shorturl.edafait.com/?css_animation\" target=\"_blank\"\u003eTry Now\u003c/a\u003e\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eControl \u003c/strong\u003e: Timeline , create multi Keyframes , Duration , Repeat , Rotation , Scale , Opacity , position\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eeffects \u003c/strong\u003e: slideInDown , slideInLeft , slideInRight , slideInUp , slideOutDown , slideOutLeft , slideOutRight ,slideOutUp ,FadeIn ,fadeInDown ,fadeInDownBig ,fadeInLeft ,fadeInLeftBig ,fadeInRight ,fadeInRightBig ,fadeInUp ,fadeInUpBig ,fadeOut ,fadeOutDown ,fadeOutDownBig ,fadeOutLeft ,fadeOutLeftBig ,fadeOutRight ,fadeOutRightBig ,fadeOutUp ,fadeOutUpBig ,Zoom Effects , zoomIn , zoomInDown ,zoomInLeft ,zoomInRight ,zoomInUp ,zoomOut ,zoomOutDown ,zoomOutLeft ,zoomOutRight ,zoomOutUp ,Bounce Effects ,bbounceIn ,bounceInDown ,bounceInLeft ,bbounceInUp ,bounceOut ,bounceOutDown ,bounceOutLeft ,bounceOutRight ,bounceOutUp ,Flip Effects ,fflipInX ,flipInY ,flipOutX ,flipOutY ,Rotate Effects ,rotateIn ,rotateInDownLeft ,rotateInDownRight ,rotateInUpLeft ,rotateInUpRight ,rotateOut ,rotateOutDownLeft ,rotateOutDownRight ,rotateOutUpLeft ,rotateOutUpRight ,flash Effects,pulse Effects ,rubberBand Effects ,shake Effects ,swing Effects\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":22,"PostMonth":"September","PostYear":2021,"Photo":"9_22_2021 6_53_28 PM_0 (79).jpg","Name":"Edafa","Views":345,"Liked":0,"Category_ID":10,"Category":"Java Script"},{"ID":89,"Title":"Unity 3d Sea waves","Description":"\u003cp\u003eEasy way to make sea waves as reality view using unity 3D\u0026nbsp;\u003cbr /\u003e\r\nUnity 3d Sea waves file size 2.4 M.B\u0026nbsp;\u003cbr /\u003e\r\nDownload github Unity 3d Sea waves\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?Unity3d_Sea_waves\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?Unity3d_Sea_waves\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?6OwjkcR\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/jULPdclF4O8/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":8,"PostMonth":"August","PostYear":2021,"Photo":"8_8_2021 3_19_46 PM_0 (78).jpg","Name":"Edafa","Views":527,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":88,"Title":"WebAR , web augmented reality Video - tutorial without code","Description":"\u003cp\u003eThis Free Services Online , web augmented reality \u003ca href=\"https://www.youtube.com/redirect?event=video_description\u0026amp;redir_token=QUFFLUhqbHJrMVdZaGJCbTdxTWtWZUhDcGtianY1U1hLd3xBQ3Jtc0tuQ244SlpQZlR0UW03VS0wZnctMzFYc0k2aEhnUDlKbGRUVzNnb09lZ0RoUXZMcC1JaFlpYU5WZTVTaGRyVXdvVkhpV1VnSzVDYmo5dHEzNW9lZmotdmFzSmNOcWhseDlLUGZkSjQ4M3NIMUdXOW5Qcw\u0026amp;q=https%3A%2F%2Fwebxr.edafait.com%2F\" target=\"_blank\"\u003ehttps://webxr.edafait.com/\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eText \u003ca href=\"https://blog.edafait.com/Category?ID=5\u0026amp;T=Web%20XR\" target=\"_blank\"\u003etutorial\u0026nbsp;\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;Create Your WebAR not need Any experience\u003c/p\u003e\r\n\r\n\u003cp\u003eThis Video for WebAR how runing Video online\u003c/p\u003e\r\n\r\n\u003cp\u003eWebAR marketing, brands are able to communicate directly with their audience through their smartphones with innovative and engaging interactive conten.\u003c/p\u003e\r\n\r\n\u003cp\u003ePublished your Communicate With Customers in any time and places on the world\u003c/p\u003e\r\n\r\n\u003cp\u003eCreate NFT image target \u003ca href=\"https://www.youtube.com/redirect?event=video_description\u0026amp;redir_token=QUFFLUhqazdsdEZvQTZZRWlwdlJFUGh3SllXTTA3SE9Bd3xBQ3Jtc0traDBUVnhmWjRNTjNxZ2hiTVZFMG8yQW5OZjhLTFF5V2lOUU5vNGRxeGZmMVdlWDJsRkt4UVJkMGotS0s4X0xJTVdFVlVHLUdkUFdaT2cza0g4Rl9xZzZJUHl6RElHLVNneUZXTUdVSXBZc2ZvZGFxYw\u0026amp;q=https%3A%2F%2Fshorturl.edafait.com%2F%3FCEctbhG\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?CEctbhG\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e3d model editor online \u003ca href=\"https://www.youtube.com/redirect?event=video_description\u0026amp;redir_token=QUFFLUhqbGFUaG9PMmg3bFd6OEV4SFd6QWxsS3l0X3A4UXxBQ3Jtc0ttekQweWQ0QTVwbTk5QzI3M1ZxM191cUg1ZlVBWjg5Qkc0Q0FhS3FrYldPcEltZm5mVkswVmlpc0xrNll6cEJqMU1ic0lHc1ZYN1Y3QXlZZ1FYb19WSTBrZ3hxajhuRmNLYmhCckQzVFV2MERyT3RYRQ\u0026amp;q=https%3A%2F%2Fshorturl.edafait.com%2F%3F6yLwaau\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?6yLwaau\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=DT9HaabmaKU\u0026amp;t=4s\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/DT9HaabmaKU/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eStep By Step\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003col\u003e\r\n\t\u003cli\u003eCreate free account on\u0026nbsp;\u003ca href=\"https://www.youtube.com/redirect?event=video_description\u0026amp;redir_token=QUFFLUhqbHJrMVdZaGJCbTdxTWtWZUhDcGtianY1U1hLd3xBQ3Jtc0tuQ244SlpQZlR0UW03VS0wZnctMzFYc0k2aEhnUDlKbGRUVzNnb09lZ0RoUXZMcC1JaFlpYU5WZTVTaGRyVXdvVkhpV1VnSzVDYmo5dHEzNW9lZmotdmFzSmNOcWhseDlLUGZkSjQ4M3NIMUdXOW5Qcw\u0026amp;q=https%3A%2F%2Fwebxr.edafait.com%2F\" target=\"_blank\"\u003ehttps://webxr.edafait.com/\u003c/a\u003e\u003c/li\u003e\r\n\t\u003cli\u003eCreate New Page\u0026nbsp;\u003c/li\u003e\r\n\t\u003cli\u003eSelect page Type\u003c/li\u003e\r\n\t\u003cli\u003euploade reqired\u0026nbsp;\u003c/li\u003e\r\n\u003c/ol\u003e\r\n\r\n\u003cp\u003eif you have any question or if you faced any problem with this please contact us and we will be happy to help\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":20,"PostMonth":"June","PostYear":2021,"Photo":"6_20_2021 7_32_39 PM_0 (77).jpg","Name":"Edafa","Views":742,"Liked":0,"Category_ID":5,"Category":"Web XR"},{"ID":87,"Title":"How TO - Collapse","Description":"\u003ch2\u003eCollapsible\u003c/h2\u003e\r\n\r\n\u003cp\u003eClick the button to toggle between showing and hiding the collapsible content.\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003ecss:\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026lt;style\u0026gt;\u003cbr /\u003e\r\n.collapsible {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #777;\u003cbr /\u003e\r\n\u0026nbsp; color: white;\u003cbr /\u003e\r\n\u0026nbsp; cursor: pointer;\u003cbr /\u003e\r\n\u0026nbsp; padding: 18px;\u003cbr /\u003e\r\n\u0026nbsp; width: 100%;\u003cbr /\u003e\r\n\u0026nbsp; border: none;\u003cbr /\u003e\r\n\u0026nbsp; text-align: left;\u003cbr /\u003e\r\n\u0026nbsp; outline: none;\u003cbr /\u003e\r\n\u0026nbsp; font-size: 15px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.active, .collapsible:hover {\u003cbr /\u003e\r\n\u0026nbsp; background-color: #555;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.collapsible:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026#39;\\002B\u0026#39;;\u003cbr /\u003e\r\n\u0026nbsp; color: white;\u003cbr /\u003e\r\n\u0026nbsp; font-weight: bold;\u003cbr /\u003e\r\n\u0026nbsp; float: right;\u003cbr /\u003e\r\n\u0026nbsp; margin-left: 5px;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.active:after {\u003cbr /\u003e\r\n\u0026nbsp; content: \u0026quot;\\2212\u0026quot;;\u003cbr /\u003e\r\n}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e.content {\u003cbr /\u003e\r\n\u0026nbsp; padding: 0 18px;\u003cbr /\u003e\r\n\u0026nbsp; max-height: 0;\u003cbr /\u003e\r\n\u0026nbsp; overflow: hidden;\u003cbr /\u003e\r\n\u0026nbsp; transition: max-height 0.2s ease-out;\u003cbr /\u003e\r\n\u0026nbsp; background-color: #f1f1f1;\u003cbr /\u003e\r\n\u0026nbsp; margin:20px;\u003cbr /\u003e\r\n}\u003cbr /\u003e\r\n\u0026lt;/style\u0026gt;\u003c/div\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eHTML :\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026lt;button class=\u0026quot;collapsible\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;span\u0026gt;\u0026lt;span\u0026gt;1 \u0026lt;/span\u0026gt;\u0026lt;/span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; Edafa IT Slutions\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026lt;a href=\u0026quot;https://edafait.com/\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026lt;span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;Go\u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026lt;/span\u0026gt; \u0026lt;/a\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026lt;/button\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;content\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;br /\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;button class=\u0026quot;collapsible\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;span class=\u0026quot;eng2\u0026quot;\u0026gt;2 \u0026lt;/span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/span\u0026gt;webxr\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/span\u0026gt;\u0026lt;a href=\u0026quot;https://webxr.edafait.com/\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026lt;span\u0026gt;Go \u0026lt;/span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/a\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/button\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;content\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;br /\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;button class=\u0026quot;collapsible\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;span class=\u0026quot;eng2\u0026quot;\u0026gt;3 \u0026lt;/span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/span\u0026gt;Blog\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;a href=\u0026quot;https://blog.edafait.com/\u0026quot;\u0026gt;\u0026lt;span\u0026gt;Go \u0026lt;/span\u0026gt;\u0026lt;/a\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/button\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;div class=\u0026quot;content\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;br /\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;button class=\u0026quot;collapsible\u0026quot;\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;span class=\u0026quot;eng2\u0026quot;\u0026gt;4 \u0026lt;/span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/span\u0026gt;shorturl\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/span\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;a href=\u0026quot;http://shorturl.edafait.com/\u0026quot;\u0026gt;\u0026lt;span\u0026gt;Go \u0026nbsp; \u0026lt;/span\u0026gt;\u0026lt;/a\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/button\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;br /\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;br /\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/div\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\u0026lt;br /\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026lt;/div\u0026gt;\u003c/div\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003eJS :\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026lt;script\u0026gt;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;var coll = document.getElementsByClassName(\u0026quot;collapsible\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;var i;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;for (i = 0; i \u0026lt; coll.length; i++) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;colli.addEventListener(\u0026quot;click\u0026quot;, function () {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;this.classList.toggle(\u0026quot;active\u0026quot;);\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;var content = this.nextElementSibling;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;if (content.style.maxHeight) {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;content.style.maxHeight = null;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;} else {\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;content.style.maxHeight = content.scrollHeight * 4 + \u0026quot;px\u0026quot;;\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;});\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;}\u003cbr /\u003e\r\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026lt;/script\u0026gt;\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":31,"PostMonth":"May","PostYear":2021,"Photo":"5_31_2021 10_18_16 PM_0 (74).jpg","Name":"Edafa","Views":491,"Liked":0,"Category_ID":10,"Category":"Java Script"},{"ID":86,"Title":"How To Create Unity 3D Export Videos MP4","Description":"\u003cp\u003eHow To Create Unity 3D Export Videos MP4 unity 2018.4 to higher\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity cinemachine\u003c/p\u003e\r\n\r\n\u003cp\u003e- Unity3d How Render Video\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity3d Export mp4\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity 3d movie maker\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity3d Export gif\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity 3d 4k and 8k render video\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity 3d VR video 360\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?EdafaIt\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/cOQtek_pIkM/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThis guide will help you to create videos of your Unity project.\u003c/p\u003e\r\n\r\n\u003cp\u003eYou can either go through from the top to the bottom of this document or directly go to the section you\u0026rsquo;re interested in.\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":28,"PostMonth":"April","PostYear":2021,"Photo":"4_28_2021 10_11_15 PM_0 (76).jpg","Name":"Edafa","Views":570,"Liked":1,"Category_ID":2,"Category":"unity 3d"},{"ID":85,"Title":"Downloads android SDK without android studio","Description":"\u003cp\u003eThis tutorial is a just\u0026nbsp;\u003cstrong\u003estep by step\u003c/strong\u003e\u0026nbsp;for installing Android SDK (Software Development Kit) to use it with diffrent software as Unity3d , Eclipse , and other\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eInstalling\u003c/strong\u003e\u0026nbsp;the\u0026nbsp;\u003cstrong\u003eAndroid SDK\u003c/strong\u003e\u0026nbsp;(Manual Way) You will need to\u0026nbsp;\u003cstrong\u003edownload\u003c/strong\u003e\u0026nbsp;the\u0026nbsp;\u003cstrong\u003eAndroid SDK without Android Studio\u003c/strong\u003e\u0026nbsp;bundled. Go to\u0026nbsp;\u003cstrong\u003eAndroid SDK\u003c/strong\u003e\u0026nbsp;and navigate to the\u0026nbsp;\u003cstrong\u003eSDK\u003c/strong\u003e\u0026nbsp;Tools Only section.\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eFor the\u0026nbsp;\u003cstrong\u003edownload\u0026nbsp;\u003c/strong\u003e:\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?androidSDKManager\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?androidSDKManager\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=UPf9XMy0gOM\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/UPf9XMy0gOM/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":21,"PostMonth":"April","PostYear":2021,"Photo":"4_21_2021 6_29_12 PM_0 (75).jpg","Name":"Edafa","Views":518,"Liked":0,"Category_ID":7,"Category":"Mobile Apps"},{"ID":84,"Title":"Interactive Map create multi-layer HTML5 (GIS cross platform)","Description":"\u003ch1\u003eInteractive Map create multi-layer HTML5\u0026nbsp;(GIS cross platform) Leaflet js \u0026amp; Geojson online \u0026amp; offline\u003c/h1\u003e\r\n\r\n\u003cp\u003eCreating your mab by leaflet js and GeoJson not need any software\u003c/p\u003e\r\n\r\n\u003cp\u003eCan be added multi-layer interactive map HTML5\u003c/p\u003e\r\n\r\n\u003cp\u003eGIS data integrate with Leaflet js will create Very friendly interface application or website (online or Offline)\u003c/p\u003e\r\n\r\n\u003cp\u003eMarkers with custom icons \u0026amp; Labels\u003c/p\u003e\r\n\r\n\u003cp\u003eVector maps for all world countries GeoJSON\u003c/p\u003e\r\n\r\n\u003cp\u003eVector maps for lakes and rivers lake GeoJSON\u003c/p\u003e\r\n\r\n\u003cp\u003eRotated Marker Label\u003c/p\u003e\r\n\r\n\u003cp\u003eZoom level Bottons OpenPopup\u003c/p\u003e\r\n\r\n\u003cp\u003eMulti Layers\u003c/p\u003e\r\n\r\n\u003cp\u003eHow to used rotationAngle Geojson HTML5 ( cross platform ) Leaflet\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eExample \u003c/strong\u003eleaflet map with GeoJson \u003ca href=\"https://shorturl.edafait.com/?leaflet_example\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?leaflet_example\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=5NL60BIH63U\u0026amp;t=179s\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/5NL60BIH63U/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e​\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eCode github :\u003c/strong\u003e \u003ca href=\"https://shorturl.edafait.com/?map_countries\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?map_countries\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eLeaflet is the leading open-source JavaScript library for mobile-friendly interactive maps. Weighing just about\u0026nbsp;39 KB of JS, it\u0026nbsp;has all the mapping\u0026nbsp;features\u0026nbsp;most developers ever need.\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":12,"PostMonth":"April","PostYear":2021,"Photo":"4_12_2021 3_08_05 PM_0 (74).jpg","Name":"Edafa","Views":703,"Liked":1,"Category_ID":10,"Category":"Java Script"},{"ID":83,"Title":"How TO - Copy Text to Clipboard","Description":"\u003cp\u003eHow TO - Copy Text to Clipboard\u003c/p\u003e\r\n\r\n\u003cp\u003euse this cod with asp.net\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026lt;pre\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026lt;code\u0026gt;\u0026lt;asp:Label\u0026nbsp;runat=\u0026quot;server\u0026quot;\u0026nbsp;ID=\u0026quot;Lbl\u0026quot; Text=\u0026quot;Copy this data\u0026quot;\u0026gt;\u0026lt;/asp:Label\u0026gt;\u0026lt;/code\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026lt;/pre\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026lt;script\u0026gt;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;function\u0026nbsp;addCopyButtons(clipboard) {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;document.querySelectorAll(\u0026#39;pre \u0026gt; code\u0026#39;).forEach(function\u0026nbsp;(codeBlock) {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;var\u0026nbsp;button = document.createElement(\u0026#39;button\u0026#39;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;button.className =\u0026nbsp;\u0026#39;copy-code-button\u0026#39;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;button.type =\u0026nbsp;\u0026#39;button\u0026#39;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;button.innerText =\u0026nbsp;\u0026#39;Copy\u0026#39;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;button.addEventListener(\u0026#39;click\u0026#39;,\u0026nbsp;function\u0026nbsp;() {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;clipboard.writeText(codeBlock.innerText).then(function\u0026nbsp;() {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;/* Chrome doesn\u0026#39;t seem to blur automatically,\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;leaving the button in a focused state. */\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;button.blur();\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;button.innerText =\u0026nbsp;\u0026#39;Copied!\u0026#39;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;setTimeout(function\u0026nbsp;() {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;button.innerText =\u0026nbsp;\u0026#39;Copy\u0026#39;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;}, 2000);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;},\u0026nbsp;function\u0026nbsp;(error) {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;button.innerText =\u0026nbsp;\u0026#39;Error\u0026#39;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;});\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;});\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;var\u0026nbsp;pre = codeBlock.parentNode;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;if\u0026nbsp;(pre.parentNode.classList.contains(\u0026#39;highlight\u0026#39;)) {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;var\u0026nbsp;highlight = pre.parentNode;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;highlight.parentNode.insertBefore(button, highlight);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;}\u0026nbsp;else\u0026nbsp;{\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;pre.parentNode.insertBefore(button, pre);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;});\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;if\u0026nbsp;(navigator \u0026amp;\u0026amp; navigator.clipboard) {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;addCopyButtons(navigator.clipboard);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;}\u0026nbsp;else\u0026nbsp;{\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;var\u0026nbsp;script = document.createElement(\u0026#39;script\u0026#39;);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;script.src =\u0026nbsp;\u0026#39;https://cdnjs.cloudflare.com/ajax/libs/clipboard-polyfill/2.7.0/clipboard-polyfill.promise.js\u0026#39;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;script.integrity =\u0026nbsp;\u0026#39;sha256-waClS2re9NUbXRsryKoof+F9qc1gjjIhc2eT7ZbIv94=\u0026#39;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;script.crossOrigin =\u0026nbsp;\u0026#39;anonymous\u0026#39;;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;script.onload =\u0026nbsp;function\u0026nbsp;() {\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;addCopyButtons(clipboard);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;};\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;document.body.appendChild(script);\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;}\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026nbsp;\u003c/div\u003e\r\n\r\n\u003cdiv style=\"background:#eeeeee; border:1px solid #cccccc; padding:5px 10px\"\u003e\u0026lt;/script\u0026gt;\u003c/div\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":19,"PostMonth":"March","PostYear":2021,"Photo":"3_19_2021 10_32_45 PM_0 (73).jpg","Name":"Edafa","Views":524,"Liked":1,"Category_ID":10,"Category":"Java Script"},{"ID":82,"Title":"Free Web Augmented Reality online Platform","Description":"\u003cp\u003e\u003cstrong\u003eFree Web Augmented Reality online Platform\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/redirect?event=video_description\u0026amp;redir_token=QUFFLUhqbUdlUFNEd2o1aW5OV1hHdGl0b3NqMEFvWlNOQXxBQ3Jtc0tsWVdkNnh2TTNwNkw3WGl1QW9ENzJHaGxUM0V3QllndUZNTEV2NmE3NTY3Und1NkxUeW13YU4wOFI3eDkwUEQ2OTNGSkJtV3NrSjBRZVB3U0U1MExTNnd0TUFvYi1VcWZDaVJDSXdvTnhGTkZNUzRCVQ\u0026amp;q=Https%3A%2F%2Fwebxr.edafait.com\" target=\"_blank\"\u003eHttps://webxr.edafait.com\u003c/a\u003e​\u003c/p\u003e\r\n\r\n\u003cp\u003eCan Be now have 100 pages free to new account .\u003c/p\u003e\r\n\r\n\u003cp\u003eThis Free Services Online , web augmented reality .\u003c/p\u003e\r\n\r\n\u003cp\u003eThis demo url : \u003ca href=\"https://www.youtube.com/redirect?event=video_description\u0026amp;redir_token=QUFFLUhqbVRhM0Y2RGtMeng3N2M2RmZ2aktvdE9MM0Y1Z3xBQ3Jtc0tsdl96aUhYUEZXcHQtVXhzRWVKUThIREE3ZzJUdjNVczZLZjlQUjNRbG5EYU14ekxQVkMtZTV2SDlSODNlMWVOZlBSdFAwN3pDLVhyNFdTeEEwa3dlbE5ELW9tTzNHSVVaaElZNHJ5bWR3SXJMZ3NOTQ\u0026amp;q=https%3A%2F%2Fshorturl.edafait.com%2F%3FrpHmrAp\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?rpHmrAp\u003c/a\u003e​\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/redirect?event=video_description\u0026amp;redir_token=QUFFLUhqa1hIUDFEdkViVEhvY004ZGxXcEtZbklYWFJBUXxBQ3Jtc0tsbnpyRHRrQWY0RDBWYW1JQW9LWXM1TTlsX2c1TldHZzJiQTg2Vi1pLThYWks1Vk80SEtueWxGN0N6QUQwNXRHc0FmRVpaMEl4TFRwX0pCcUY3cWtXeGFSUGF1VnJINEotS3pKOW5YQjMyWGNnLUVocw\u0026amp;q=https%3A%2F%2Fshorturl.edafait.com%2F\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/\u003c/a\u003e​ unlimited URLs Analytics \u0026amp; Statistics\u003c/p\u003e\r\n\r\n\u003cp\u003e- Create Your WebAR not need Any experience\u003c/p\u003e\r\n\r\n\u003cp\u003e- This Video for WebAR how runing 3D Model online\u003c/p\u003e\r\n\r\n\u003cp\u003e- WebAR marketing, brands are able to communicate directly with their audience through their smartphones with innovative and engaging interactive conten.\u003c/p\u003e\r\n\r\n\u003cp\u003e- Published your Communicate With Customers in any time and places on the world\u003c/p\u003e\r\n\r\n\u003cp\u003eCreate NFT image target \u003ca href=\"https://www.youtube.com/redirect?event=video_description\u0026amp;redir_token=QUFFLUhqbjE4WllXczFPV3hlZ1Y5LVlDV3p4aFNIaFJ4Z3xBQ3Jtc0tuSXdxZkttSkVteTNVdG9xeFN1TDJxeTNVeGRvaE5oNU11RTFLRldyRDkwMGhJRS02WkxpcGlLdm5mU1I3bVRkM2JoTVZmT2JvakFTdEZCQXBHWGp6ZjdJd1ZEdVNiVzJKZVIwMUEtWjRpMVg2RjlYQQ\u0026amp;q=https%3A%2F%2Fshorturl.edafait.com%2F%3FCEctbhG\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?CEctbhG\u003c/a\u003e​\u003c/p\u003e\r\n\r\n\u003cp\u003e3d model editor online \u003ca href=\"https://www.youtube.com/redirect?event=video_description\u0026amp;redir_token=QUFFLUhqbkE3TXR5NldSUWdtTmpwczFfY0thNU84R0t6d3xBQ3Jtc0tsYmJRYzNOWGlRZ2pydTBhWE1HLVJRT2JYbC02VTVwZ21SZEZCOVRTNHBnaDRPTllrVkR4NXJ1cEFJVzMzQ2VwOFBmQ2g0dm55OUg4VXlVdFRlWVhRcl9HV29qWGdrQTk1b09PRS04ZnpyeXJsYnVIQQ\u0026amp;q=https%3A%2F%2Fshorturl.edafait.com%2F%3F6yLwaau\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?6yLwaau\u003c/a\u003e​\u003c/p\u003e\r\n\r\n\u003cp\u003eDemo For web augmented reality for ecommerce website - Web AR \u003ca href=\"https://shorturl.edafait.com/?5imoqm4\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?5imoqm4\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=U1GldRDGUOg\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/U1GldRDGUOg/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":11,"PostMonth":"March","PostYear":2021,"Photo":"3_11_2021 10_20_01 PM_0 (72).jpg","Name":"Edafa","Views":823,"Liked":1,"Category_ID":5,"Category":"Web XR"},{"ID":81,"Title":"Xcode Webview Offline pages","Description":"\u003cp\u003eTutorial Xcode Webview Offline pages\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?2n0sjeg\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/TNPxBRMi3Bs/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eCode: \u003ca href=\"https://shorturl.edafait.com/?jss1xZY\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?jss1xZY\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":12,"PostMonth":"February","PostYear":2021,"Photo":"2_12_2021 9_40_13 PM_0 (71).jpg","Name":"Edafa","Views":579,"Liked":0,"Category_ID":7,"Category":"Mobile Apps"},{"ID":80,"Title":"Virtual Exhibition 3D Environment online","Description":"\u003cp\u003eWith webxr.edafait.com Web XR , your Exhibition don\u0026#39;t have to stop! negative impact of COVID-19 ! we\u0026#39;ve found a way around it! virtual events platform: -\u003c/p\u003e\r\n\r\n\u003ch2\u003e\u003cstrong\u003e\u003ca href=\"https://webxr.edafait.com/event/index_web.html\" target=\"_blank\"\u003eDemo\u003c/a\u003e\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003eVirtual Exhibition 3D Environment\u003c/p\u003e\r\n\r\n\u003cp\u003e- Virtual Conference ( Share Data - Share pc Screen by video and audio)\u003c/p\u003e\r\n\r\n\u003cp\u003e- Virtual Education Center Not need any application for mobile\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?3ml2tsN\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/ZYhpu21bQiQ/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":22,"PostMonth":"January","PostYear":2021,"Photo":"1_22_2021 8_13_59 PM_0 (70).jpg","Name":"Edafa","Views":540,"Liked":2,"Category_ID":5,"Category":"Web XR"},{"ID":79,"Title":"leaflet js to create your map offline","Description":"\u003ch3\u003eleaflet js to create your map offline (cross platform) html5\u003c/h3\u003e\r\n\r\n\u003ch3\u003eCreate your map by leaflet js\u003c/h3\u003e\r\n\r\n\u003cp\u003e- how to use leaflet js to create map\u003c/p\u003e\r\n\r\n\u003cp\u003e- offline map and can be working online and mobile applicatioin\u003c/p\u003e\r\n\r\n\u003cp\u003e- how to use Mobile Atlas Creator (atlases)\u003c/p\u003e\r\n\r\n\u003cp\u003e- Create map marker and bindPopup\u003c/p\u003e\r\n\r\n\u003cp\u003e- Multi Layer on map by open street view\u003c/p\u003e\r\n\r\n\u003cp\u003e- how add multi icon Url - Your location found\u003c/p\u003e\r\n\r\n\u003cp\u003e- HTML5 offline map with local tiles via Leaflet\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?Y9C4umI\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/oP4bCLtXIeY/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":9,"PostMonth":"January","PostYear":2021,"Photo":"1_9_2021 9_25_05 PM_0 (69).jpg","Name":"Edafa","Views":699,"Liked":1,"Category_ID":10,"Category":"Java Script"},{"ID":78,"Title":"SQLite Database in React Native","Description":"\u003ch2\u003eReact-JS-Native-Mobile-Application--SQLite-Database\u003c/h2\u003e\r\n\r\n\u003cp\u003eExample of the SQLite Database in React Native\u003c/p\u003e\r\n\r\n\u003cp\u003ewe will use the SQLite3 Native Plugin which will work in both Android and iOS. It is based on the Cordova SQLite plugin.\u003c/p\u003e\r\n\r\n\u003cp\u003eWe will be having some custom components like (Button, Text, Textinput).\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload Node js\u0026nbsp;\u003ca href=\"https://shorturl.edafait.com/?eMTEZ6N\"\u003ehttps://shorturl.edafait.com/?eMTEZ6N\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eTo Make a React Native App\u003c/h2\u003e\r\n\r\n\u003cp\u003eCan make a React Native project.you can use npm to install the react-native-cli command line utility. Open windows cmd commands\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e npm install -g react-native-cli\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003eCreate a new React Native project\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e react-native init ContactList\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003eYou want to start a new project with a specific React Native version\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003ereact-native init ContactList --version X.XX.X\r\n\r\nreact-native init ContactList --version react-native@next\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch3\u003eInstallation of Dependencies\u003c/h3\u003e\r\n\r\n\u003cp\u003eTo install the dependencies jump into your project\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003ecd ContactList\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003eDependency to use SQLite\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003enpm install react-native-sqlite-storage --save\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003eDependencies for react-navigation\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003enpm install @react-navigation/native --save\r\n\r\nnpm install @react-navigation/stack --save\r\n\r\nnpm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view --save\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch3\u003eProject Structure\u003c/h3\u003e\r\n\r\n\u003cp\u003e1 - Edit App.js\u003c/p\u003e\r\n\r\n\u003cp\u003e2 - Download Pages folder\u003c/p\u003e\r\n\r\n\u003ch3\u003eError android SDK Not found\u003c/h3\u003e\r\n\r\n\u003cp\u003eGo to your ContactList -\u0026gt; Android -\u0026gt; Create a file local.properties Such as : paste your Android SDK path\u003c/p\u003e\r\n\r\n\u003cp\u003ein Windows:\u003c/p\u003e\r\n\r\n\u003cp\u003esdk.dir = C:\\\\Users\\\\USERNAME\\\\AppData\\\\Local\\\\Android\\\\sdk\u003c/p\u003e\r\n\r\n\u003cp\u003ein macOS\u003c/p\u003e\r\n\r\n\u003cp\u003esdk.dir = /Users/USERNAME/Library/Android/sdk\u003c/p\u003e\r\n\r\n\u003cp\u003ein linux\u003c/p\u003e\r\n\r\n\u003cp\u003esdk.dir = /home/USERNAME/Android/Sdk\u003c/p\u003e\r\n\r\n\u003ch3\u003eIf ReactNative Metro Bundler not starting automatically\u003c/h3\u003e\r\n\r\n\u003cp\u003eCreate folder ContactList/android/app/src/main/assets\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003erun react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch3\u003eTo Run the React Native App Android\u003c/h3\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003ereact-native run-android\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch3\u003eTo Run the React Native App IOS (macOS only).\u003c/h3\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003ereact-native run-ios\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch3\u003eIf Update and not show must be\u003c/h3\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003erun react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch3\u003e\u0026nbsp;\u003c/h3\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e- To Make a React Native App android \u0026amp; IOS\u003c/p\u003e\r\n\r\n\u003cp\u003e- New project with a specific React Native version\u003c/p\u003e\r\n\r\n\u003cp\u003e- Installation of Dependencies - Dependency to use SQLite\u003c/p\u003e\r\n\r\n\u003cp\u003e- Dependencies for react-navigation\u003c/p\u003e\r\n\r\n\u003cp\u003e- Solve react native android sdk location not found\u003c/p\u003e\r\n\r\n\u003cp\u003e- React Native Metro Bundler not starting automatically\u003c/p\u003e\r\n\r\n\u003cp\u003e- Run the React Native App Android and IOS\u003c/p\u003e\r\n\r\n\u003cp\u003eVideo\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://shorturl.edafait.com/?L3hoemv\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/VCN5Th19hZM/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":1,"PostMonth":"October","PostYear":2020,"Photo":"10_1_2020 9_36_43 PM_0 (68).jpg","Name":"Edafa","Views":732,"Liked":1,"Category_ID":1,"Category":"Sqlite"},{"ID":77,"Title":"Add what`s app button on your website","Description":"\u003cp\u003eAdd what`s app button on your website\u003c/p\u003e\r\n\r\n\u003cp\u003eAdd Facebook messages button on your website\u003c/p\u003e\r\n\r\n\u003cp\u003eDemo\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/redirect?redir_token=QUFFLUhqbXFuMldrcHU4aGoxZmZxTnJWbHAzSFA0aUZMZ3xBQ3Jtc0tsaVRXXzZGZnJRQ3RBN0VqVVRQOU10bFRFZGJsQl9qUTBYZnc3YXNoTDMza0FOYm1WbDJ5N1p3NXRwR3YtYVQ1V3M1NEpMMWUwQU5Pd015dWlLblBZNU9yYUVtVjdkb0FmWm01YmpTV3NBY2VzNVJCRQ%3D%3D\u0026amp;event=video_description\u0026amp;v=qYzaY_z4Qjw\u0026amp;q=https%3A%2F%2Fedafait.com%2Fdefault%3Flan%3DEn\" target=\"_blank\"\u003ehttps://edafait.com/default?lan=En\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/redirect?redir_token=QUFFLUhqbGtjZmhRSUd2REhiZDNsODZoQ1Y3RURQMERId3xBQ3Jtc0trNVQ0THNkWU1OVXZfX2s0WkZ1UU5hRDFXX1V6ak52QjZKMDJneE96VGp5Vy1EWGZVVDJiZVVMM3Z4dzlOSG1iVmRrM2JmRUNnY3NXWW1mMDFjTXoteWNRVEhmUUxOTmNzbnd2QVdBTno4UFM0N25KQQ%3D%3D\u0026amp;event=video_description\u0026amp;v=qYzaY_z4Qjw\u0026amp;q=https%3A%2F%2Fwebxr.edafait.com%2F\" target=\"_blank\"\u003ehttps://webxr.edafait.com/\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?OUcks7a\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/qYzaY_z4Qjw/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":27,"PostMonth":"September","PostYear":2020,"Photo":"9_27_2020 8_51_07 PM_0 (67).jpg","Name":"Edafa","Views":556,"Liked":0,"Category_ID":10,"Category":"Java Script"},{"ID":76,"Title":"Progressive web applications ","Description":"\u003cp\u003eWhat is a PWA ?\u003cbr /\u003e\r\n\u0026nbsp;Progressive web applications (PWAs) are hybrids of regular websites and mobile apps. PWAs offer some fantastic features: the responsive, safe, and streamlined user experience makes them the future of web development. While they look and behave like native apps, they don\u0026rsquo;t require you to visit an app store. We explained how progressive web apps work in our complete guide to PWA.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cbr /\u003e\r\n1. Pinterest\u003c/p\u003e\r\n\r\n\u003cp\u003e2. Starbucks\u003c/p\u003e\r\n\r\n\u003cp\u003e3. Twitter\u003c/p\u003e\r\n\r\n\u003cp\u003e4. Forbes\u003c/p\u003e\r\n\r\n\u003cp\u003e5. The Washington Post\u003c/p\u003e\r\n\r\n\u003cp\u003e6. Trivago\u003c/p\u003e\r\n\r\n\u003cp\u003e7. Lanc\u0026ocirc;me\u003c/p\u003e\r\n\r\n\u003cp\u003e8. Jumia\u003c/p\u003e\r\n\r\n\u003cp\u003e9. Flipkart\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003cbr /\u003e\r\nAnd ...... mores\u003c/p\u003e\r\n\r\n\u003cp\u003ewe used \u003ca href=\"https://shorturl.edafait.com/?5BhmrGZ\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?5BhmrGZ\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eOpen Soucre code and we Update to working in (windows , mac ) Oflline 100% , web server and Mobile (android , IOS)\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":15,"PostMonth":"September","PostYear":2020,"Photo":"9_15_2020 10_30_18 AM_pwa.jpg","Name":"Edafa","Views":1053,"Liked":1,"Category_ID":5,"Category":"Web XR"},{"ID":75,"Title":"360 video to YouTube","Description":"\u003cp\u003e- inject metadata 360 video\u003c/p\u003e\r\n\r\n\u003cp\u003e- how to Upload 360 videos vr to youtube or social madia\u003c/p\u003e\r\n\r\n\u003cp\u003e- How to fix 360 videos showing up flat on YouTube\u003c/p\u003e\r\n\r\n\u003cp\u003e- solution to fixed the flat video 360 on social media\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity 3d movie maker\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?8BaeIaY\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/KhkHtbAgQe8/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":14,"PostMonth":"September","PostYear":2020,"Photo":"9_14_2020 8_51_43 PM_0 (66).jpg","Name":"Edafa","Views":630,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":74,"Title":"Jungle (Zoo) VR 360 video","Description":"\u003cp\u003eVirtual Zoo ( Jungle ) 3d 360\u003c/p\u003e\r\n\r\n\u003cp\u003eVirtual 3d Jungle\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;cinemachine\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?87W7Uo7\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/uMTRDwmeECo/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eTutorial To How Export Unity 3d interactive 3d / 360 video vr\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?85sJdhV\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/0e6A1t04KPY/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eHow To Create Unity 3D Export Videos MP4\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?l5fydni\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/7QMzJKBC2cA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":25,"PostMonth":"August","PostYear":2020,"Photo":"8_25_2020 3_16_27 PM_0 (65).jpg","Name":"Edafa","Views":721,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":73,"Title":"Create NFT Marker","Description":"\u003cp\u003eCreate NFT Marker Offline app Image trackable can be used in (Unity3d Augmented Reality, webAR , ARToolkit, WebAR Studio NFT )\u003c/p\u003e\r\n\r\n\u003cp\u003eCan Be Download \u003ca href=\"https://www.youtube.com/redirect?v=fkTQiuSeywI\u0026amp;redir_token=QUFFLUhqbDY3cGE3b1NUNWdqOFZzTTNrdmt0RkJjQTdPZ3xBQ3Jtc0tuNXFtc2VFNUFqUFJhRU11SzA3Znd2SFZOY1NIeGxYZ20tclJhSTk4VVJRN043ekJqWW9XMm9QVGZJMldpc2dyWEVIWV9UZi16YkNiLURtcTN6MTZoazFqMTJLc2JKZ2hhUmtqWFJKMEtpSndNd05uSQ%3D%3D\u0026amp;event=video_description\u0026amp;q=https%3A%2F%2Fedafait.com%2FNFT_Marker_Creator-win32-x64.rar\" target=\"_blank\"\u003ehttps://edafait.com/NFT_Marker_Creato...\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?bzE35gI\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/fkTQiuSeywI/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eGithub \u003ca href=\"https://shorturl.edafait.com/?inY4gvl\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?inY4gvl\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":10,"PostMonth":"August","PostYear":2020,"Photo":"8_10_2020 1_08_17 PM_0 (64).jpg","Name":"Edafa","Views":1271,"Liked":0,"Category_ID":5,"Category":"Web XR"},{"ID":72,"Title":"Admob ads","Description":"\u003ch1\u003eUnity 3D Admob ads\u003c/h1\u003e\r\n\r\n\u003cp\u003e-To create ads in unity 3d\u003c/p\u003e\r\n\r\n\u003cp\u003e-To create Unit 3d admob on one minute\u003c/p\u003e\r\n\r\n\u003cp\u003e- To Make money on unity 3d\u003c/p\u003e\r\n\r\n\u003cp\u003edownload script \u003ca href=\"https://www.youtube.com/redirect?v=ByUKMRG5Fr8\u0026amp;redir_token=QUFFLUhqbFlMaWNlaHAtM2lweG1MbHJSZkczNWdxM0pJQXxBQ3Jtc0trYkRHM25GNGJfS1NVOFBwN0dDNGtaYnBYRXNfR1hTVHUybmJQeklydFZYdEtMdURXUm52dF9Ib1l5cFZ2MjV6dHBGUTNxTld3NlFQd09ocmhNY2hPWWppWWRSQTc2RWYzWnk3ZGlxNXY3Z3RSalVIdw%3D%3D\u0026amp;event=video_description\u0026amp;q=http%3A%2F%2Fiadafa.com%2Funity-3d-admob-ads-2%2F\" target=\"_blank\"\u003ehttp://iadafa.com/unity-3d-admob-ads-2/\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?fEiWyOn\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/ByUKMRG5Fr8/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":3,"PostMonth":"August","PostYear":2020,"Photo":"8_3_2020 2_43_37 PM_0 (63).jpg","Name":"Edafa","Views":574,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":71,"Title":"Kids puzzles Game","Description":"\u003cp\u003eKids puzzles and want to play with animal toys like cow, dog, cat, fish and more. Animals Puzzles , Right animal name and listen animal to education\u003c/p\u003e\r\n\r\n\u003cp\u003eEasy to learn and Features: Touch the screen and drag the animals on the right place - Right and listen animal name\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?oL6p8T3\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/x-XLDQMaH4E/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":1,"PostMonth":"August","PostYear":2020,"Photo":"8_1_2020 12_53_00 PM_0 (62).jpg","Name":"Edafa","Views":596,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":70,"Title":"Create grass and trees animation","Description":"\u003cp\u003eTutorial Unity 3d to create grass and trees animation\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?wgfzj3h\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/9iTtzw_wqnE/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":30,"PostMonth":"July","PostYear":2020,"Photo":"7_30_2020 1_18_47 AM_0 (61).jpg","Name":"Edafa","Views":782,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":69,"Title":"Unity 3D Export Video .MP4","Description":"\u003cp\u003e- Unity 3D Export Video .MP4\u003c/p\u003e\r\n\r\n\u003cp\u003e- Unity 3d Render Video\u003c/p\u003e\r\n\r\n\u003cp\u003e- Unity3d Capture video\u003c/p\u003e\r\n\r\n\u003cp\u003e- Unity3d Recorder video\u003c/p\u003e\r\n\r\n\u003cp\u003e- Unity3d cinemachine\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity 3d movie maker\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?R1ta277\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/3Zauc0G0OFA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eTutorial to Create it\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?RjrfGCV\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/7QMzJKBC2cA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eif you have problem (flat video 360) to upload video 360 to youtube or social media\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?8BaeIaY\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/KhkHtbAgQe8/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":26,"PostMonth":"July","PostYear":2020,"Photo":"7_26_2020 8_04_41 PM_0 (60).jpg","Name":"Edafa","Views":654,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":68,"Title":"Augmented reality sample puzzle game","Description":"\u003cp\u003esample game puzzle AR (augmented reality MultiTarget Tracking )\u003c/p\u003e\r\n\r\n\u003cp\u003ewe can calculate distance by augmented reality ( AR ) and tested with Ruler centimeter\u003c/p\u003e\r\n\r\n\u003cp\u003etutorial Unity and vuforia : Multi image Target Tracking to create puzzle game ar ( target Distance)\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?Q3Jazw1\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/tV3Ea3JHh20/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload C# file \u003ca href=\"https://shorturl.edafait.com/?Dnm9Tjs\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?Dnm9Tjs\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eCan be start web Augmented reality\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://webxr.edafait.com/\"\u003eHttps://Webxr.edafait.com\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":24,"PostMonth":"July","PostYear":2020,"Photo":"7_24_2020 8_46_08 PM_0 (59).jpg","Name":"Edafa","Views":700,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":67,"Title":"Video 360 Mouse look","Description":"\u003cp\u003eTutorial Unity 2017.2 - video 360 get Mouse location to move\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload Unity 2017.2: \u003ca href=\"https://www.youtube.com/redirect?q=https%3A%2F%2Funity3d.com%2Fget-unity%2Fupdate%3F_ga%3D2.121428104.1818301589.1510011709-1135473158.1500766589\u0026amp;v=o4lADF_raXI\u0026amp;event=video_description\u0026amp;redir_token=QUFFLUhqbWM5M3UwVG5OYVJFUU1mdEQwSjZzUGF6QXkxd3xBQ3Jtc0tuNHl3TjRpVlk2NkhkX29TUjhGcGY0VHpfUUNXbnF3TElpZEp5Z3ByLTVzRFNWalctLVdFYTlXMmtRYzh4d1RkR3hpV3lfRmpIU0RvdzhwR3MzcEk0ZFcyMmdHSnJqbXVMM3VhdnBoTFBJOU5kaGd2aw%3D%3D\" target=\"_blank\"\u003ehttps://unity3d.com/get-unity/update?...\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?1wpY9UN\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/o4lADF_raXI/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":24,"PostMonth":"July","PostYear":2020,"Photo":"7_24_2020 1_02_38 AM_0 (58).jpg","Name":"Edafa","Views":552,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":66,"Title":"Unity 3d support Arabic language","Description":"\u003cp\u003eUnity 3d support Arabic language\u003c/p\u003e\r\n\r\n\u003cp\u003e* How to type Arabic language on unity 3d in Gameobject\u003c/p\u003e\r\n\r\n\u003cp\u003e* Right To Left languages Support\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?7pDG6L7\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/evXab-tvypY/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":22,"PostMonth":"July","PostYear":2020,"Photo":"7_22_2020 10_24_23 PM_0 (57).jpg","Name":"Edafa","Views":512,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":65,"Title":"Simple fire effect using the particle effects","Description":"\u003cp\u003etutorial Unity : particle effects to create fire this demo Candles fire\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?IMaCJJP\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/Cc-GaC7BPQE/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload package : \u003ca href=\"https://shorturl.edafait.com/?UUh1VJX\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?UUh1VJX\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":21,"PostMonth":"July","PostYear":2020,"Photo":"7_21_2020 7_19_35 PM_0 (56).jpg","Name":"Edafa","Views":575,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":64,"Title":"Unity3d with Google Cardboard (1.100.1) - video 360","Description":"\u003cp\u003eTutorial Unity 2017.2 with Google Cardboard (1.100.1) create video 360\u003c/p\u003e\r\n\r\n\u003cp\u003eControl on desktop : - Hold Ctrl or Alt to rotate the camera and mouse rotate .\u003c/p\u003e\r\n\r\n\u003cp\u003eControl on mobile: - Automatic get rotate lift-right- up-down (gyroscope sensor )\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?iHvNamA\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/t5ZZpeS9unc/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload Google Cardboard SDK: \u003ca href=\"https://shorturl.edafait.com/?xmYM3av\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?xmYM3av\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload Unity 2017.2: \u003ca href=\"https://shorturl.edafait.com/?Q4YOBw7\" target=\"_blank\"\u003e https://shorturl.edafait.com/?Q4YOBw7\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":19,"PostMonth":"July","PostYear":2020,"Photo":"7_19_2020 9_15_17 PM_0 (55).jpg","Name":"Edafa","Views":607,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":63,"Title":"Walk through and google SDK Cardboard on 3D Model Part 2","Description":"\u003cp\u003eUnity virtual reality walk through and google SDK Cardboard on 3D Model How to use :\u003c/p\u003e\r\n\r\n\u003cp\u003e* Google Cardboard SDK .\u003c/p\u003e\r\n\r\n\u003cp\u003e* walk through on 3d model\u003c/p\u003e\r\n\r\n\u003cp\u003e* GvrReticle / IGvrGazePointer\u003c/p\u003e\r\n\r\n\u003cp\u003e*IEventSystemHandler interface\u003c/p\u003e\r\n\r\n\u003cp\u003e* OnGazeStart(), OnGazeStay() \u0026amp; OnGazeExit()\u003c/p\u003e\r\n\r\n\u003cp\u003e* Change Project quality setting working in unity 5.6.2 and 2017\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload walk through Control with google SDK Cardboard unitypackage\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?IF1oFa4\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?IF1oFa4\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?YrclYXN\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/559WxKPYdRo/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e-Unity3d walk through by Google VR SDK Cardboard and pointer (GvrPointerInputModule) function c#\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?yevmsZv\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/u5Wp1pXmkCE/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e-Unity 5.6.2 makes building Daydream and Cardboard applications for Android easy download unity package, this used Google VR SDK for Unity\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?STvECIB\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/v99Pcjw_BXA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":18,"PostMonth":"July","PostYear":2020,"Photo":"7_18_2020 5_51_23 PM_0 (53).jpg","Name":"Edafa","Views":644,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":62,"Title":"Unity3d and Vuforia : shopping","Description":"\u003cp\u003eTutorial Augmented Reality Get Product information And Shopping\u003c/p\u003e\r\n\r\n\u003cp\u003e- How to used Augmented Reality\u003c/p\u003e\r\n\r\n\u003cp\u003e- Augmented Reality Create Buttons\u003c/p\u003e\r\n\r\n\u003cp\u003e- How to Open Url in Browser on Button Click in Unity 3D\u003c/p\u003e\r\n\r\n\u003cp\u003e- Easy way to create Scrollable list in Unity\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?SKhSafa\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/94gyBLcoq_Q/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eyou can also get your online shoping :\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.edafait.com/Product?lan=En\u0026amp;id=16\"\u003ehttps://www.edafait.com/Product?lan=En\u0026amp;id=16\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eyou can creat this with webar :\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://webxr.edafait.com/\"\u003ehttps://webxr.edafait.com/\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":16,"PostMonth":"July","PostYear":2020,"Photo":"7_16_2020 8_50_01 PM_0 (54).jpg","Name":"Edafa","Views":624,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":61,"Title":"Eclipse Admob","Description":"\u003cp\u003eAdMob in Android application with smart banner using Eclipse\u003c/p\u003e\r\n\r\n\u003cp\u003e* how to add google play services to eclipse\u003c/p\u003e\r\n\r\n\u003cp\u003e* how to show your ads\u003c/p\u003e\r\n\r\n\u003cp\u003e* How to change the Admob Banner and Interstitial ID.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?YTvoEKy\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/uSo0tpI7U98/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":15,"PostMonth":"July","PostYear":2020,"Photo":"7_15_2020 3_27_22 PM_0 (52).jpg","Name":"Edafa","Views":575,"Liked":0,"Category_ID":7,"Category":"Mobile Apps"},{"ID":60,"Title":"App js","Description":"\u003cp\u003eCross platform to Create html 5, Css 3 and node.js desktop application (windows ,Linux and Mac os )\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":15,"PostMonth":"July","PostYear":2020,"Photo":"7_15_2020 3_15_03 PM_0 (51).jpg","Name":"Edafa","Views":664,"Liked":1,"Category_ID":6,"Category":"Node js"},{"ID":59,"Title":"Water reflection and virtual reality","Description":"\u003cp\u003eTutorial Unity 3d water reflection and virtual reality\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?QZ3MFNF\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/YSC1w8bjmac/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":11,"PostMonth":"July","PostYear":2020,"Photo":"7_11_2020 1_45_40 PM_0 (50).jpg","Name":"Edafa","Views":572,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":58,"Title":"4D View Augmented reality","Description":"\u003cp\u003eTutorial Unity : 4D View Augmented reality\u003c/p\u003e\r\n\r\n\u003cp\u003eTutorial Unity : 4D View Augmented reality with vuforia SDK\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload models for : \u003ca href=\"https://shorturl.edafait.com/?VaThnrC\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?VaThnrC\u003c/a\u003e\u0026nbsp; \u0026nbsp;\u003cstrong\u003eOR\u0026nbsp; \u0026nbsp;\u0026nbsp;\u003c/strong\u003eCreate or Edit on model :\u003ca href=\"https://edafait.com/XR_3d_html5.aspx\"\u003ehttps://edafait.com/XR_3d_html5.aspx\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload Vuforia SDK : \u003ca href=\"https://shorturl.edafait.com/?tEbx117\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?tEbx117\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?TmlB77g\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/lD9yWzYkhIU/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":11,"PostMonth":"July","PostYear":2020,"Photo":"7_11_2020 1_41_47 PM_0 (49).jpg","Name":"Edafa","Views":606,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":57,"Title":" NFT Marker Creator","Description":"\u003cp\u003eCreate Marker ( Image target )\u0026nbsp;\u003cstrong\u003eMarker\u003c/strong\u003e-based\u0026nbsp;\u003cstrong\u003eaugmented reality\u003c/strong\u003e\u0026nbsp;experiences require a static image also referred to as a trigger photo that a person can scan using their mobile device via an\u0026nbsp;\u003cstrong\u003eaugmented reality\u003c/strong\u003e\u0026nbsp;app.\u003c/p\u003e\r\n\r\n\u003cp\u003eThis Marker can be used on Unity3d Or Web \u003cstrong\u003eaugmented reality\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eCan Be create marker ( Image target) for free without any\u0026nbsp;license\u0026nbsp; such as (Vuforia)\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eThis editor creates NFT markers for ARTOOLKIT 5.x, and it is part of the efforts to bring NFT tracking to jsartoolkit5 (and eventually projects like AR.js).\u003c/p\u003e\r\n\r\n\u003cp\u003eWorkring By\u0026nbsp;Node\u0026nbsp; Or IIS\u003c/p\u003e\r\n\r\n\u003ch2\u003eClick here online for free Marker\u003cstrong\u003e\u0026nbsp;\u003ca href=\"https://webxr.edafait.com/NFT-Marker-Creator/docs/\" target=\"_blank\"\u003eNFT -Marker Creator Online\u003c/a\u003e\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch2\u003eCode\u003cstrong\u003e\u0026nbsp;\u003ca href=\"https://shorturl.edafait.com/?JzT4uDr\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?JzT4uDr\u003c/a\u003e\u003c/strong\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003eHow It Working\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003col\u003e\r\n\t\u003cli\u003eUpload any JPG/PNG image.\u003c/li\u003e\r\n\t\u003cli\u003eVery good Marker star rating 5 and Good 3 Star\u003c/li\u003e\r\n\t\u003cli\u003eClick the generate button.\u003c/li\u003e\r\n\t\u003cli\u003eThe files will be automatically downloaded when the generation finishes.\u003c/li\u003e\r\n\u003c/ol\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":9,"PostMonth":"July","PostYear":2020,"Photo":"7_9_2020 8_00_04 PM_nft.png","Name":"Edafa","Views":1661,"Liked":1,"Category_ID":6,"Category":"Node js"},{"ID":56,"Title":"ASP.NET C# and Google Map and MS SQL Server part 2","Description":"\u003cp\u003eASP.NET C# and Google Map and MS SQL Server Part 2\u003c/p\u003e\r\n\r\n\u003cp\u003e* Maps JavaScript API\u003c/p\u003e\r\n\r\n\u003cp\u003e* Set location by marker Overlays\u003c/p\u003e\r\n\r\n\u003cp\u003e* Add multi points on google map and add description for each point\u003c/p\u003e\r\n\r\n\u003cp\u003e* save on MS SQL Server\u003c/p\u003e\r\n\r\n\u003cp\u003e* set Map Type\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?iMvUJId\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/yRAaWvleaGk/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eDownload Code: \u003ca href=\"https://shorturl.edafait.com/?NjUQPfy\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?NjUQPfy\u003c/a\u003e\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?AmHgJe7\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/nSt-6bg79eM/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eCan be start web Augmented reality\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://webxr.edafait.com/\"\u003eHttps://Webxr.edafait.com\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"July","PostYear":2020,"Photo":"7_7_2020 1_14_18 PM_0 (48).jpg","Name":"Edafa","Views":737,"Liked":0,"Category_ID":4,"Category":"C#"},{"ID":55,"Title":"Unity 3d VR By C# and Google VR SDK","Description":"\u003cp\u003eThis Tutorial Unity 3d VR By C# Not used Gyroscope Sensor not all devices contain a gyroscope and Google VR SDK used Gyroscope Sensor\u003c/p\u003e\r\n\r\n\u003cp\u003eVirtual reality c# Code to Swipe (finger or mouse location ) :\u003c/p\u003e\r\n\r\n\u003cp\u003e* Video 360\u003c/p\u003e\r\n\r\n\u003cp\u003e* Panorama 360 Google VR SDK Virtual reality (Google VR SDK )\u003c/p\u003e\r\n\r\n\u003cp\u003e* Video 360\u003c/p\u003e\r\n\r\n\u003cp\u003e* Panorama 360\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?uQPOAst\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/nXBj3EdirJU/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eCode\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?XadhQtd\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?XadhQtd\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eInsideout\u003c/h2\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003e Shader \u0026quot;Insideout\u0026quot; {\r\nProperties {\r\n_MainTex (\u0026quot;Base (RGB)\u0026quot;, 2D) = \u0026quot;white\u0026quot; {}\r\n}\r\n\r\n\r\n SubShader {\r\nTags { \u0026quot;RenderType\u0026quot;=\u0026quot;Opaque\u0026quot; }\r\nCull front // ADDED BY BERNIE, TO FLIP THE SURFACES\r\nLOD 100\r\n\r\nPass { \r\n\tCGPROGRAM\r\n\t\t#pragma vertex vert\r\n\t\t#pragma fragment frag\r\n\t\t\r\n\t\t#include \u0026quot;UnityCG.cginc\u0026quot;\r\n\r\n\t\tstruct appdata_t {\r\n\t\t\tfloat4 vertex : POSITION;\r\n\t\t\tfloat2 texcoord : TEXCOORD0;\r\n\t\t};\r\n\r\n\t\tstruct v2f {\r\n\t\t\tfloat4 vertex : SV_POSITION;\r\n\t\t\thalf2 texcoord : TEXCOORD0;\r\n\t\t};\r\n\r\n\t\tsampler2D _MainTex;\r\n\t\tfloat4 _MainTex_ST;\r\n\t\t\r\n\t\tv2f vert (appdata_t v)\r\n\t\t{\r\n\t\t\tv2f o;\r\n\t\t\to.vertex = UnityObjectToClipPos(v.vertex);\r\n\t\t\t// ADDED BY BERNIE:\r\n\t\t\tv.texcoord.x = 1 - v.texcoord.x;\t\t\t\t\r\n\t\t\to.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);\r\n\t\t\treturn o;\r\n\t\t}\r\n\t\t\r\n\t\tfixed4 frag (v2f i) : SV_Target\r\n\t\t{\r\n\t\t\tfixed4 col = tex2D(_MainTex, i.texcoord);\r\n\t\t\treturn col;\r\n\t\t}\r\n\tENDCG\r\n}\r\n }\r\n\r\n}\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eMouse Location to swipe\u003c/h2\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003epublic enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }\r\npublic RotationAxes axes = RotationAxes.MouseXAndY;\r\npublic float sensitivityX = 15F;\r\npublic float sensitivityY = 15F;\r\npublic float minimumX = -360F;\r\npublic float maximumX = 360F;\r\npublic float minimumY = -60F;\r\npublic float maximumY = 60F;\r\nfloat rotationY = 0F;\r\nvoid Update()\r\n{\r\n if (axes == RotationAxes.MouseXAndY)\r\n {\r\n float rotationX = transform.localEulerAngles.y + Input.GetAxis(\u0026quot;Mouse X\u0026quot;) * sensitivityX;\r\n\r\n rotationY += Input.GetAxis(\u0026quot;Mouse Y\u0026quot;) * sensitivityY;\r\n rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);\r\n\r\n transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);\r\n }\r\n else if (axes == RotationAxes.MouseX)\r\n {\r\n transform.Rotate(0, Input.GetAxis(\u0026quot;Mouse X\u0026quot;) * sensitivityX, 0);\r\n }\r\n else\r\n {\r\n rotationY += Input.GetAxis(\u0026quot;Mouse Y\u0026quot;) * sensitivityY;\r\n rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);\r\n\r\n transform.localEulerAngles = new Vector3(-rotationY, transform.localEulerAngles.y, 0);\r\n }\r\n}\r\n\r\nvoid Start()\r\n{\r\n // Make the rigid body not change rotation\r\n if (GetComponent\u0026lt;Rigidbody\u0026gt;())\r\n GetComponent\u0026lt;Rigidbody\u0026gt;().freezeRotation = true;\r\n}\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eCan be start web Augmented reality\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://webxr.edafait.com/\"\u003eHttps://Webxr.edafait.com\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"July","PostYear":2020,"Photo":"7_7_2020 1_08_50 PM_0 (47).jpg","Name":"Edafa","Views":605,"Liked":0,"Category_ID":4,"Category":"C#"},{"ID":54,"Title":"Unity 3D loading Bar","Description":"\u003cp\u003eHow to make a LOADING BAR in Unity3D\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?CUA3nIt\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/mNKTAJ3bkwI/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":5,"PostMonth":"July","PostYear":2020,"Photo":"7_5_2020 9_19_05 PM_0 (45).jpg","Name":"Edafa","Views":514,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":53,"Title":"Weather with unity3d and vuforia","Description":"\u003cp\u003eWeather AR - Augmented Reality read XML Online Weather App Tutorial using Vuforia and Unity3d\u003c/p\u003e\r\n\r\n\u003cp\u003e* How to use API online\u003c/p\u003e\r\n\r\n\u003cp\u003e* how to read xml online\u003c/p\u003e\r\n\r\n\u003cp\u003e* how to create augmented reality weather by country Flags (US , Germany , India , Egypt, Spain)\u003c/p\u003e\r\n\r\n\u003cp\u003e* How to Used External Image (online image ) on unity\u003c/p\u003e\r\n\r\n\u003cp\u003e* vuforia weather\u003c/p\u003e\r\n\r\n\u003cp\u003eGoogle Play stor\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?ioJJtEl\"\u003ehttps://shorturl.edafait.com/?ioJJtEl\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?1o8nat1\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/jcBDZgQTmgs/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":2,"PostMonth":"July","PostYear":2020,"Photo":"7_2_2020 11_32_33 PM_0 (44).jpg","Name":"Edafa","Views":537,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":52,"Title":"Animation such as transformer","Description":"\u003ch1\u003eUnity 3d Augmented reality Animation such as transformer\u003c/h1\u003e\r\n\r\n\u003cp\u003eTutorial Unity3d Augmented reality Animation this\u003c/p\u003e\r\n\r\n\u003cp\u003eTutorial to how used Animation With AR such as transformer\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?iu8GSsu\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/yHBuWW-PajQ/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":2,"PostMonth":"July","PostYear":2020,"Photo":"7_2_2020 11_28_06 PM_0 (43).jpg","Name":"Edafa","Views":517,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":51,"Title":"How to create website used ASP.NET Back-end and front-end","Description":"\u003cp\u003eHow to create website used ASP.NET Back-end and front-end:\u003c/p\u003e\r\n\r\n\u003cp\u003e- We will Create and used Visual Studio 2017 , C#, JavaScript, MS SQL server database we will create project eCommerce website (shopping) to example step by step Tutorial\u003c/p\u003e\r\n\r\n\u003cp\u003e- (Part 1) this Video how to create Start back-end and create database Tables for user permission and roles and code asp.net (C#)\u003c/p\u003e\r\n\r\n\u003cp\u003e- Part 2 how create Tables and connection c# to Add-update-delete\u003c/p\u003e\r\n\r\n\u003cp\u003e- Part 3 How create Front End and reading data and how used meta data for search engine SEO\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?u2L4jxZ\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/tGbfalLj68g/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":29,"PostMonth":"June","PostYear":2020,"Photo":"6_29_2020 9_13_49 PM_0 (42).jpg","Name":"Edafa","Views":517,"Liked":0,"Category_ID":4,"Category":"C#"},{"ID":50,"Title":"Augmented reality distance","Description":"\u003cp\u003ewe can calculate distance by augmented reality ( AR ) and tested with Ruler centimeter\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?dxhOUCv\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/ZFeYexca4zw/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003esample game puzzle AR (augmented reality MultiTarget Tracking ) :\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?rnZYRlA\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/tV3Ea3JHh20/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003etutorial Unity Augmented Reality - MultiTarget Tracking To Create (calculate Distance) :\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?mV9cplC\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/HlkQb9M1aDM/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":29,"PostMonth":"June","PostYear":2020,"Photo":"6_29_2020 9_08_57 PM_0 (41).jpg","Name":"Edafa","Views":575,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":49,"Title":"Unity3d walk through and Google SDK Cardboard","Description":"\u003cp\u003eUnity walk through by Google VR SDK Cardboard and pointer (GvrPointerInputModule)\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload unitypackage \u003ca href=\"https://shorturl.edafait.com/?IF1oFa4\"\u003ehttps://shorturl.edafait.com/?IF1oFa4\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?STvECIB\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/v99Pcjw_BXA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eIf you need walk through and Google SDK Cardboard advanced on 3d model\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?jL07JxY\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/9pf8CeN5SvA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":28,"PostMonth":"June","PostYear":2020,"Photo":"6_28_2020 9_20_17 PM_0 (40).jpg","Name":"Edafa","Views":580,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":48,"Title":"Unity : Vuforia - Augmented reality Animated 3D Object and Shadows","Description":"\u003cp\u003etutorial Unity : Vuforia - augmented reality Shadows working Done on android and IOS and windows\u003c/p\u003e\r\n\r\n\u003cp\u003eAugmented Reality - How To Import Animated 3D Object on Augmented reality and shadow\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?QVI8mr3\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/4ZouOVLUGvA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":28,"PostMonth":"June","PostYear":2020,"Photo":"6_28_2020 9_15_03 PM_0 (39).jpg","Name":"Edafa","Views":390,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":47,"Title":"Unity and vuforia Augmented reality model 3d move forward","Description":"\u003cp\u003eTutorial Unity :\u003c/p\u003e\r\n\r\n\u003cp\u003eAugmented reality ar vuforia\u003c/p\u003e\r\n\r\n\u003cp\u003e* move forward 3d model by button\u003c/p\u003e\r\n\r\n\u003cp\u003e* how used Extended\u0026nbsp;Tracking to moving\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?hbN8QyS\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/VHLhmfZFv3A/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eif you need to try web ar for free :\u003ca href=\"https://webxr.edafait.com/\"\u003ewebxr.edafait.com\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":26,"PostMonth":"June","PostYear":2020,"Photo":"6_26_2020 10_18_23 PM_0 (38).jpg","Name":"Edafa","Views":552,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":46,"Title":"Unity 3d And vuforia (AR) to get drug information","Description":"\u003cp\u003eStep By Step Used integrated with the Vuforia Engine\u003c/p\u003e\r\n\r\n\u003cp\u003e- this Way for create project to very easy programming Tutorial Unity learning:\u003c/p\u003e\r\n\r\n\u003cp\u003e* Unity 3d is integrated with the Vuforia Engine to create Augmented reality AR .\u003c/p\u003e\r\n\r\n\u003cp\u003e* How to use unity canvas camera Augmented Reality AR .\u003c/p\u003e\r\n\r\n\u003cp\u003e* unity 3d raycast hit object With Augmented Reality AR .\u003c/p\u003e\r\n\r\n\u003cp\u003e* Unity 3d AR Multi Language on GUI.\u003c/p\u003e\r\n\r\n\u003cp\u003e* Unity 3D Support Arabic language.\u003c/p\u003e\r\n\r\n\u003cp\u003e* Simple ideas for get drug information for professionals and consumers By Augmented reality AR.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?FckZLuy\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/d107wJFcDyI/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eNote :\u003c/p\u003e\r\n\r\n\u003cp\u003eIf you need wonder Developer Create the Same Demo but information Drug On:\u003c/p\u003e\r\n\r\n\u003cp\u003e1- SQL lite Database (offline data).\u003c/p\u003e\r\n\r\n\u003cp\u003e2- Online Database used Json.\u003c/p\u003e\r\n\r\n\u003cp\u003e3- Open Website On canvas.\u003c/p\u003e\r\n\r\n\u003cp\u003ePlease told me on comment\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":26,"PostMonth":"June","PostYear":2020,"Photo":"6_26_2020 10_07_47 PM_0 (37).jpg","Name":"Edafa","Views":477,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":45,"Title":"Unity3d used database XML","Description":"\u003cp\u003ehow to start : Read an XML Document in Unity 3D\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?yPe3YSb\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/ZF707fWAfoc/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":24,"PostMonth":"June","PostYear":2020,"Photo":"6_24_2020 9_56_51 PM_0 (36).jpg","Name":"Edafa","Views":464,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":44,"Title":"How Export Unity 3d interactive 3d / 360 video vr","Description":"\u003cp\u003eTutorial To How Export Unity 3d interactive 3d / 360 video vr\u003c/p\u003e\r\n\r\n\u003cp\u003e- cinemachine - Not need any code to Export 360 Video\u003c/p\u003e\r\n\r\n\u003cp\u003e- Can be Export Multi video quality\u003c/p\u003e\r\n\r\n\u003cp\u003e- Interactive 360 Video / VR can be upload on social madia (facebook, youtube, more... ) and working on windows offline\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity 3d video 360 capture - unity 3d movie maker\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?85sJdhV\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/0e6A1t04KPY/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":24,"PostMonth":"June","PostYear":2020,"Photo":"6_24_2020 9_54_03 PM_0 (35).jpg","Name":"Edafa","Views":642,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":43,"Title":"Unity3d support Arabic language","Description":"\u003cp\u003eFree Tutorial unity supported Arabic language on GUI\u003c/p\u003e\r\n\r\n\u003cp\u003e* اللغة العربية\u003c/p\u003e\r\n\r\n\u003cp\u003e* Hindi numbers\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload package : \u003ca href=\"https://shorturl.edafait.com/?Fok3gtW\"\u003ehttps://shorturl.edafait.com/?Fok3gtW\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?7Gm5xbK\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/ki9u_LMhrt4/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":22,"PostMonth":"June","PostYear":2020,"Photo":"6_22_2020 5_02_26 PM_0 (34).jpg","Name":"Edafa","Views":454,"Liked":1,"Category_ID":2,"Category":"unity 3d"},{"ID":42,"Title":"Create Augmented Reality App and Swipe-Slide-Show","Description":"\u003cp\u003eTutorial to make application mobile (android) a virtual reality\u003c/p\u003e\r\n\r\n\u003cp\u003e1. Select your photo on slider images.\u003c/p\u003e\r\n\r\n\u003cp\u003e2. How to Rotate image and zoom in and out\u003c/p\u003e\r\n\r\n\u003cp\u003e3. Take a photo and share with friends\u003c/p\u003e\r\n\r\n\u003cp\u003e4. how used vuforia camera in your application\u003c/p\u003e\r\n\r\n\u003cp\u003euses your phone\u0026#39;s camera by vuforia and augmented reality technology to show you what a tattoo would look like on your application\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?u8tN23d\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/w_h12z2AbZA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload Unity package : Swipe Slide images (tattoo photos) \u003ca href=\"https://shorturl.edafait.com/?9wbpnQP\"\u003ehttps://shorturl.edafait.com/?9wbpnQP\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eYou can See this application on google store \u003ca href=\"https://shorturl.edafait.com/?kuTJO0U\"\u003ehttps://shorturl.edafait.com/?kuTJO0U\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":22,"PostMonth":"June","PostYear":2020,"Photo":"6_22_2020 4_59_27 PM_0 (33).jpg","Name":"Edafa","Views":2621,"Liked":1,"Category_ID":2,"Category":"unity 3d"},{"ID":41,"Title":"Unity3d Admob ads","Description":"\u003cp\u003eHow Get money Make You Money apps\u003c/p\u003e\r\n\r\n\u003cp\u003e-To create ads in unity 3d\u003c/p\u003e\r\n\r\n\u003cp\u003e-To create Unit 3d admob on one minute\u003c/p\u003e\r\n\r\n\u003cp\u003e- To Make money on unity 3d\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload this demo Unity-3D-and-Admob-ads: \u003ca href=\"https://shorturl.edafait.com/?6wMe5BV\"\u003ehttps://shorturl.edafait.com/?6wMe5BV\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?4jDaajX\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/IdUZICwxej8/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":20,"PostMonth":"June","PostYear":2020,"Photo":"6_20_2020 9_49_50 PM_0 (32).jpg","Name":"Edafa","Views":613,"Liked":2,"Category_ID":2,"Category":"unity 3d"},{"ID":40,"Title":"Unity 3d walks through and GvrReticle (virtual reality app)","Description":"\u003cp\u003eHow to walkthrough , virtual reality application - gvr pointer input module function on Gameobject\u003c/p\u003e\r\n\r\n\u003cp\u003eHow to use :\u003c/p\u003e\r\n\r\n\u003cp\u003e- GvrReticle / IGvrGazePointer\u003c/p\u003e\r\n\r\n\u003cp\u003e- IEventSystemHandler interface\u003c/p\u003e\r\n\r\n\u003cp\u003e- OnGazeStart(), OnGazeStay() \u0026amp; OnGazeExit()\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload Unity package:\u003ca href=\"https://shorturl.edafait.com/?IF1oFa4\"\u003ehttps://shorturl.edafait.com/?IF1oFa4\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload C# Page:\u003ca href=\"https://shorturl.edafait.com/?K4p5aQS\"\u003ehttps://shorturl.edafait.com/?K4p5aQS\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?5aZaIhZ\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/u5Wp1pXmkCE/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ctable\u003e\r\n\t\u003ctbody\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003eusing System.Collections;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eusing System.Collections.Generic;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eusing UnityEngine;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003epublic class Button : MonoBehaviour {\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003epublic GameObject man;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003epublic float speed = 1f;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003epublic Vector3 rotAmount = new Vector3(0, 0, 0);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e// Use this for initialization\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003evoid Start () {\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eman = GameObject.Find(\u0026quot;man\u0026quot;);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e// Update is called once per frame\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003evoid Update () {\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003epublic void GazeEnterEvent()\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e//stop walking\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eVRAutoscript.moveforward = false;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eVRAutoscript.speed = 0;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e//start GameObject Rotations\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eStartCoroutine(Rotations());\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eIEnumerator Rotations()\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003efloat endTime = Time.time + speed; // When to end the coroutine\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003efloat step = 1f / speed; // How much to step by per sec\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003evar fromAngle = transform.eulerAngles; // start rotation\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003evar targetRot = transform.eulerAngles + rotAmount; // where we want to be at the end\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003efloat t = 0; // how far we are. 0-1\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003ewhile (Time.time \u0026lt;= 180)\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003et += step * Time.deltaTime;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e//transform.eulerAngles = Vector3.Lerp(targetRot, transform.eulerAngles, t);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eman.transform.Rotate((0), (1f), (0) * t);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eyield return 0;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eyield return 180;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003epublic void GazeEnterExit()\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e//Walking again\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eVRAutoscript.moveforward = true;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eVRAutoscript.speed = 3f;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\u003c/tbody\u003e\r\n\u003c/table\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":20,"PostMonth":"June","PostYear":2020,"Photo":"6_20_2020 9_45_56 PM_0 (31).jpg","Name":"Edafa","Views":501,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":39,"Title":"Unity 3d Vuforia AR Shadows - augmented reality","Description":"\u003cp\u003eLearning Unity3d Vuforia augmented reality AR Shadows\u003c/p\u003e\r\n\r\n\u003cp\u003eModel 3d Shadow on augmented reality ar\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload Shader File Text:\u003ca href=\"https://shorturl.edafait.com/?k4J9J1A\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?k4J9J1A\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eAugmented Reality Real-time Shadows\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?p3bzUpn\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/oj6xAfuao6w/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":19,"PostMonth":"June","PostYear":2020,"Photo":"6_19_2020 2_50_23 PM_0 (30).jpg","Name":"Edafa","Views":481,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":38,"Title":"Virtual reality - walk through and google SDK Cardboard on 3D Model Part 1","Description":"\u003cp\u003eUnity virtual reality walk through and google SDK Cardboard on 3D Model\u003c/p\u003e\r\n\r\n\u003cp\u003eHow to use :\u003c/p\u003e\r\n\r\n\u003cp\u003e* Google Cardboard SDK .\u003c/p\u003e\r\n\r\n\u003cp\u003e* walk through on 3d model\u003c/p\u003e\r\n\r\n\u003cp\u003e* GvrReticle / IGvrGazePointer\u003c/p\u003e\r\n\r\n\u003cp\u003e*IEventSystemHandler interface\u003c/p\u003e\r\n\r\n\u003cp\u003e* OnGazeStart(), OnGazeStay() \u0026amp; OnGazeExit()\u003c/p\u003e\r\n\r\n\u003cp\u003e* Change Project quality setting\u003c/p\u003e\r\n\r\n\u003cp\u003eworking in unity 5.6.2 and 2017\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload walk through Control with google SDK Cardboard unitypackage \u003ca href=\"https://shorturl.edafait.com/?IF1oFa4\"\u003ehttps://shorturl.edafait.com/?IF1oFa4\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?jL07JxY\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/9pf8CeN5SvA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003ePart 2: \u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?YrclYXN\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/559WxKPYdRo/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":19,"PostMonth":"June","PostYear":2020,"Photo":"6_19_2020 2_46_30 PM_0 (29).jpg","Name":"Edafa","Views":436,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":37,"Title":"Vuforia Play Sound ( Augmented Reality)","Description":"\u003cp\u003eTutorial Play Sound Unity3d ( Play , Stop and Pause )\u003c/p\u003e\r\n\r\n\u003cp\u003eLearning how:\u003c/p\u003e\r\n\r\n\u003cp\u003e* How to use RayCast\u003c/p\u003e\r\n\r\n\u003cp\u003e* Unity 3d Animation\u003c/p\u003e\r\n\r\n\u003cp\u003e* Play , Stop and Pause audio (Sound) (AudioSource)\u003c/p\u003e\r\n\r\n\u003cp\u003e* Add new Class with ITrackableEventHandler\u003c/p\u003e\r\n\r\n\u003cp\u003eGithub example :\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/walidabazo/UnityRaycast\"\u003ehttps://github.com/walidabazo/UnityRaycast\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=q3LmB8Os1wE\u0026amp;feature=youtu.be\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/q3LmB8Os1wE/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=8EWGJXjJsSA\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/8EWGJXjJsSA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003ch2\u003eCreate Raycast\u003c/h2\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003evoid Update()\r\n{\r\nif (Input.GetMouseButtonDown(0))\r\n {\r\n Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);\r\n RaycastHit hit;\r\n if (Physics.Raycast(ray, out hit))\r\n {\r\n\r\n //case 1\r\n if (hit.collider.tag == \u0026quot;tag1\u0026quot;)\r\n {\r\n }\r\n \r\n //case 2\r\n if (hit.collider.tag == \u0026quot;tag2\u0026quot;)\r\n {\r\n }\r\n }\r\n } \r\n}\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eTo Cearte class using ITrackableEventHandler\u003c/h2\u003e\r\n\r\n\u003cp\u003e// 1- add Reference\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003eusing Vuforia;\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003e// 2-Add\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003epublic class Class_name : MonoBehaviour, ITrackableEventHandler {}\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003e// 3- Add\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003eprotected TrackableBehaviour mTrackableBehaviour;\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003e// 4 - on Start class\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003evoid Start()\r\n {\r\n mTrackableBehaviour = GetComponent\u0026lt;TrackableBehaviour\u0026gt;();\r\n if (mTrackableBehaviour)\r\n {\r\n mTrackableBehaviour.RegisterTrackableEventHandler(this);\r\n }\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003e// 5- OnTrackableStateChanged\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003epublic void OnTrackableStateChanged(\r\nTrackableBehaviour.Status previousStatus,\r\nTrackableBehaviour.Status newStatus)\r\n{\r\n if (newStatus == TrackableBehaviour.Status.DETECTED ||\r\n newStatus == TrackableBehaviour.Status.TRACKED ||\r\n newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)\r\n {\r\n\r\n Debug.Log(\u0026quot;Trackable \u0026quot; + mTrackableBehaviour.TrackableName + \u0026quot; found\u0026quot;);\r\n\r\n if (mTrackableBehaviour.TrackableName == \u0026quot;Marker_name\u0026quot;)\r\n { \r\n \r\n }\r\n OnTrackingFound();\r\n }\r\n else if (previousStatus == TrackableBehaviour.Status.TRACKED \u0026amp;\u0026amp;\r\n newStatus == TrackableBehaviour.Status.NOT_FOUND)\r\n {\r\n Debug.Log(\u0026quot;Trackable \u0026quot; + mTrackableBehaviour.TrackableName + \u0026quot; lost\u0026quot;);\r\n OnTrackingLost();\r\n }\r\n else\r\n {\r\n // For combo of previousStatus=UNKNOWN + newStatus=UNKNOWN|NOT_FOUND\r\n // Vuforia is starting, but tracking has not been lost or found yet\r\n // Call OnTrackingLost() to hide the augmentations\r\n OnTrackingLost();\r\n }\r\n}\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003e6- // Use this for initialization\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003eprotected virtual void OnTrackingFound()\r\n{\r\n var rendererComponents = GetComponentsInChildren\u0026lt;Renderer\u0026gt;(true);\r\n var colliderComponents = GetComponentsInChildren\u0026lt;Collider\u0026gt;(true);\r\n var canvasComponents = GetComponentsInChildren\u0026lt;Canvas\u0026gt;(true);\r\n\r\n // Enable rendering:\r\n foreach (var component in rendererComponents)\r\n component.enabled = true;\r\n\r\n // Enable colliders:\r\n foreach (var component in colliderComponents)\r\n component.enabled = true;\r\n\r\n // Enable canvas\u0026#39;:\r\n foreach (var component in canvasComponents)\r\n component.enabled = true;\r\n}\r\n\r\n\r\nprotected virtual void OnTrackingLost()\r\n{\r\n var rendererComponents = GetComponentsInChildren\u0026lt;Renderer\u0026gt;(true);\r\n var colliderComponents = GetComponentsInChildren\u0026lt;Collider\u0026gt;(true);\r\n var canvasComponents = GetComponentsInChildren\u0026lt;Canvas\u0026gt;(true);\r\n\r\n // Disable rendering:\r\n foreach (var component in rendererComponents)\r\n component.enabled = false;\r\n\r\n // Disable colliders:\r\n foreach (var component in colliderComponents)\r\n component.enabled = false;\r\n\r\n // Disable canvas\u0026#39;:\r\n foreach (var component in canvasComponents)\r\n component.enabled = false;\r\n}\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eAudioSource C# on unity\u003c/h2\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003eGameobject.GetComponent\u0026lt;AudioSource\u0026gt;().Play();\r\nGameobject.GetComponent\u0026lt;AudioSource\u0026gt;().Stop();\r\nGameobject.GetComponent\u0026lt;AudioSource\u0026gt;().Pause();\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003ch2\u003eVideo C# on unity\u003c/h2\u003e\r\n\r\n\u003cp\u003e// add Reference using UnityEngine.Video;\u003c/p\u003e\r\n\r\n\u003cpre\u003e\r\n\u003ccode\u003eGameobject.GetComponent\u0026lt;VideoPlayer\u0026gt;().Play();\r\nGameobject.GetComponent\u0026lt;VideoPlayer\u0026gt;().Stop();\r\nGameobject.GetComponent\u0026lt;VideoPlayer\u0026gt;().Pause();\u003c/code\u003e\u003c/pre\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":16,"PostMonth":"June","PostYear":2020,"Photo":"6_16_2020 8_49_43 PM_0 (27).jpg","Name":"Edafa","Views":588,"Liked":1,"Category_ID":2,"Category":"unity 3d"},{"ID":36,"Title":"Unity3d Mixed Reality","Description":"\u003cp\u003eHow To used Vuforia SDK On Unity 3d to make augmented reality ( AR ) and virtual reality ( VR)\u003c/p\u003e\r\n\r\n\u003cp\u003e- (Mixed Reality) how to use:\u003c/p\u003e\r\n\r\n\u003cp\u003e- Vuforia and license key to create AR.\u003c/p\u003e\r\n\r\n\u003cp\u003e- Import 3d Model animation and Texture.\u003c/p\u003e\r\n\r\n\u003cp\u003e- setup virtual reality VR google cardboard or daydream without sdk.\u003c/p\u003e\r\n\r\n\u003cp\u003e- export to android application , Ios and windows\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=_aK8B-UpsJs\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/_aK8B-UpsJs/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":15,"PostMonth":"June","PostYear":2020,"Photo":"6_15_2020 3_26_33 PM_0 (26).jpg","Name":"Edafa","Views":673,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":35,"Title":"Read Json Online","Description":"\u003cp\u003etutorial Unity3d : Read Json Online\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=1AEaQ2q-9y4\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/1AEaQ2q-9y4/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":15,"PostMonth":"June","PostYear":2020,"Photo":"6_15_2020 3_22_04 PM_0 (25).jpg","Name":"Edafa","Views":532,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":34,"Title":"How create augmented reality by Unity 3d and ARToolKit","Description":"\u003cp\u003eHow create augmented reality by Unity 3d and ARToolKit Part 2\u003c/p\u003e\r\n\r\n\u003cp\u003e- General Public License.\u003c/p\u003e\r\n\r\n\u003cp\u003eto create nft marker \u003ca href=\"https://www.youtube.com/redirect?v=6Krx0s3u0QI\u0026amp;redir_token=QUFFLUhqbEhkRno1WHp1Mll0UDFCek9aODBXaGJwMU96d3xBQ3Jtc0trR29EUWhaSGo4OVYtMTVJZjNicmhXQVlWQ2REN1RWQ2JZVkRaTlRnZ2pPbU56WVRVOXFFRl9BcmpHMHRQT3VZTzE0WDZaYXZGVER4TzFGVFdEUHQtNDloQ2J4UTd2RVU2R2Z3UzBYeExDTEtBNVphOA%3D%3D\u0026amp;event=video_description\u0026amp;q=https%3A%2F%2Fedafait.com%2Fxr_marker_creator\" target=\"_blank\"\u003ehttps://edafait.com/xr_marker_creator\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload ARToolKit : \u003ca href=\"https://www.youtube.com/redirect?v=6Krx0s3u0QI\u0026amp;redir_token=QUFFLUhqbFE0NGVlRzhrUWJGN0Y2WEFMYkpLTElhUi1Ed3xBQ3Jtc0trU1gxNEk0NWRGdEdVVzJPeHozOEM5Rm9OVUZLUU5Jc1cxbS0xcXhkM0JHZi1YU0lrNC1pNnB1Z3BCQ3laVVNKWjlkVDV2bDNEYl9oQWdnc2hSTXF1SHpnYmJQYXVvOWFpaFJJbF8xSkltNzhKb1VCMA%3D%3D\u0026amp;event=video_description\u0026amp;q=https%3A%2F%2Fgithub.com%2Fartoolkit%2Farunity5\" target=\"_blank\"\u003ehttps://github.com/artoolkit/arunity5\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eARToolKit for Unity is designed to build on Windows, Macintosh OS X, iOS and Android platforms.\u003c/p\u003e\r\n\r\n\u003cp\u003eARToolKit can be working on website (online) without install any application for mobiles or PC.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=6Krx0s3u0QI\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/6Krx0s3u0QI/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003ePart 1\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=c4p0c6npYWI\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/c4p0c6npYWI/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":13,"PostMonth":"June","PostYear":2020,"Photo":"6_13_2020 9_18_22 PM_0 (24).jpg","Name":"Edafa","Views":617,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":33,"Title":" Unity 3d skybox (dynamic sky clouds) and Sun Light","Description":"\u003cp\u003eTutorial Unity 3d skybox : dynamic sky clouds and Sun Light Animation cloud\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=DPjeUN8jQ5k\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/DPjeUN8jQ5k/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":13,"PostMonth":"June","PostYear":2020,"Photo":"6_13_2020 9_14_32 PM_0 (23).jpg","Name":"Edafa","Views":586,"Liked":1,"Category_ID":2,"Category":"unity 3d"},{"ID":32,"Title":"Flip book with zoom","Description":"\u003ch2\u003eCan be start web Augmented reality\u003c/h2\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://webxr.edafait.com/\"\u003eHttps://Webxr.edafait.com\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eTutorial flip book with zoom unity 3d\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=CAEA3sSb92A\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/CAEA3sSb92A/0.jpg\" style=\"float:left; height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eTutorial Augmented reality flip book with Vuforia\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=Wj903btl-dg\u0026amp;feature=youtu.be\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/Wj903btl-dg/0.jpg\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":12,"PostMonth":"June","PostYear":2020,"Photo":"6_12_2020 11_00_54 PM_0 (22).jpg","Name":"Edafa","Views":471,"Liked":1,"Category_ID":2,"Category":"unity 3d"},{"ID":31,"Title":"Create Animation On Augmented Reality With Mixamo","Description":"\u003cp\u003eMixamo\u0026#39;s Character Animation\u003c/p\u003e\r\n\r\n\u003cp\u003eTutorial Unity :\u003c/p\u003e\r\n\r\n\u003cp\u003eCreate Animation On Augmented Reality With Mixamo\u003c/p\u003e\r\n\r\n\u003cp\u003e* animated character from Mixamo This demo for Hip Hop Dance\u003ca href=\"https://www.youtube.com/watch?v=pAfI-xX3WvI\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/pAfI-xX3WvI/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":11,"PostMonth":"June","PostYear":2020,"Photo":"6_11_2020 10_09_36 PM_0 (21).jpg","Name":"Edafa","Views":455,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":30,"Title":"How to create Interactive Menu restaurant- Augmented Reality ","Description":"\u003cp\u003eTutorial Unity Interactive Menu - Augmented Reality with vuforia:\u003c/p\u003e\r\n\r\n\u003cp\u003eTutorial :\u003c/p\u003e\r\n\r\n\u003cp\u003eunity raycast from camera\u003c/p\u003e\r\n\r\n\u003cp\u003eunity raycast and vuforia\u003c/p\u003e\r\n\r\n\u003cp\u003eunity raycast from camera to mouse\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"http://blog.edafait.com/\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/duao_AZP8HA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eThe Unity Editor is a popular and useful authoring platform to create cutting edge augmented reality experiences for both handheld devices and digital eyewear. . The Vuforia Engine is easily added to any project.\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload Unity 2017.2:\u0026nbsp;\u003ca href=\"https://shorturl.edafait.com/?Q4YOBw7\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?Q4YOBw7\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eVuforia Engine is a software development kit (SDK) for creating Augmented Reality apps. Developers can easily add advanced computer vision functionality to any application, allowing it to recognize images and objects, and interact with spaces in the real world. \u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":11,"PostMonth":"June","PostYear":2020,"Photo":"6_11_2020 10_05_52 PM_0 (20).jpg","Name":"Edafa","Views":536,"Liked":1,"Category_ID":2,"Category":"unity 3d"},{"ID":29,"Title":"Creating a Basic Glass Material in Unity","Description":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eIn this tutorial to basic glass material which is using the standard shader to create a basic transparent material with some reflection. unity3d glasses\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=CWxbKzctwC8\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/CWxbKzctwC8/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":9,"PostMonth":"June","PostYear":2020,"Photo":"6_9_2020 9_29_37 PM_0 (19).jpg","Name":"Edafa","Views":398,"Liked":1,"Category_ID":2,"Category":"unity 3d"},{"ID":28,"Title":"Unity click on models when using Vuforia","Description":"\u003cp\u003eHow to touch input position by add box collider to your game object and Tag to can be click on game object\u003c/p\u003e\r\n\r\n\u003cp\u003eFeatures:\u003c/p\u003e\r\n\r\n\u003cp\u003e- Use game object tag\u003c/p\u003e\r\n\r\n\u003cp\u003e- Augmented Realty application with Vuforia\u003c/p\u003e\r\n\r\n\u003cp\u003e- How used Unity Raycast Controller , RaycastHit\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=HlQOrpsiWI0\u0026amp;t=901s\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/HlQOrpsiWI0/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":9,"PostMonth":"June","PostYear":2020,"Photo":"6_9_2020 9_27_03 PM_12.jpg","Name":"Edafa","Views":423,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":27,"Title":"Unity Augmented Reality - MultiTarget Tracking To Create puzzle game (calculate Distance)","Description":"\u003cp\u003eMultiTarget Tracking To Create puzzle game (calculate Distance)\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload C# file \u003ca href=\"https://www.youtube.com/redirect?event=video_description\u0026amp;redir_token=l7dVyaPsRARv2mK05dTAA_AhWWd8MTU5MTYzNTQ5NUAxNTkxNTQ5MDk1\u0026amp;q=https%3A%2F%2Fgithub.com%2Fwalidabazo%2Funity-AR-distance\u0026amp;v=HlkQb9M1aDM\" target=\"_blank\"\u003ehttps://github.com/walidabazo/unity-A...\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=HlkQb9M1aDM\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/HlkQb9M1aDM/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"June","PostYear":2020,"Photo":"6_7_2020 5_01_56 PM_0 (18).jpg","Name":"Edafa","Views":408,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":26,"Title":"SQLite Unity3d ( Android , Windows Phone , Windows , IOS, WINRT )","Description":"\u003cp\u003eHow to Connection Database Sqlite how to Create Table , Select , Insert , Update , Delete , Search\u003c/p\u003e\r\n\r\n\u003cp\u003eHow to read data from on unity Solving all error in unity for assembly reference:\u003c/p\u003e\r\n\r\n\u003cp\u003e1- error \u0026quot;The type or namespace name Data\u0026#39; does not exist in the namespace \u0026#39;Mono\u0026#39;. Are you missing an assembly reference?\u0026quot;\u003c/p\u003e\r\n\r\n\u003cp\u003e2- and error \u0026quot;The type or namespace name MONO\u0026#39; does not exist in the namespace Data\u0026#39;.\u003c/p\u003e\r\n\r\n\u003cp\u003eAre you missing an assembly reference?\u0026quot;\u003c/p\u003e\r\n\r\n\u003cp\u003e- using Mono.Data.Sqlite;\u003c/p\u003e\r\n\r\n\u003cp\u003e- using System;\u003c/p\u003e\r\n\r\n\u003cp\u003e- using System.Data;\u003c/p\u003e\r\n\r\n\u003cp\u003e- using System.IO;\u003c/p\u003e\r\n\r\n\u003cp\u003e- using UnityEngine.UI;\u003c/p\u003e\r\n\r\n\u003cp\u003elearning how:\u003c/p\u003e\r\n\r\n\u003cp\u003e* SQLite Admin to create database and tables .......\u003c/p\u003e\r\n\r\n\u003cp\u003e* SQLite DLL to support unity .s3db extension and compile on unity for windows 32bit or 64bit.\u003c/p\u003e\r\n\r\n\u003cp\u003eGithub example : \u003ca href=\"https://shorturl.edafait.com/?ql07YiT\" target=\"_blank\"\u003ehttps://shorturl.edafait.com/?ql07YiT\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?DVPjASh\"\u003ehttps://shorturl.edafait.com/?DVPjASh\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?GPWyjSz\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/dezAuScV9ZY/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"June","PostYear":2020,"Photo":"6_7_2020 4_56_37 PM_11.jpg","Name":"Edafa","Views":642,"Liked":0,"Category_ID":1,"Category":"Sqlite"},{"ID":25,"Title":"Unity 3d and Vuforia - Camera Auto Focus","Description":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eHow Export Unity 3d interactive 3d / 360 video vr\u003c/p\u003e\r\n\r\n\u003cp\u003e- cinemachine\u003c/p\u003e\r\n\r\n\u003cp\u003e- Not need any code to Export 360 Video\u003c/p\u003e\r\n\r\n\u003cp\u003e- Can be Export Multi video quality\u003c/p\u003e\r\n\r\n\u003cp\u003e- Interactive 360 Video / VR can be upload on social madia (facebook, youtube, more... ) and working on windows offline\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity 3d video 360 capture\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity 3d movie maker\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=0e6A1t04KPY\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/yriE9EWx7BA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":5,"PostMonth":"June","PostYear":2020,"Photo":"6_5_2020 9_25_55 PM_0 (17).jpg","Name":"Edafa","Views":511,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":24,"Title":"Unity 3d open webview (web ar unity)","Description":"\u003cp\u003efree web augmented reality webar \u003ca href=\"https://webxr.edafait.com/\" target=\"_blank\"\u003ehttps://webxr.edafait.com/\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eOR\u003c/p\u003e\r\n\r\n\u003cp\u003e*Can be open website in Unity 3d Application.\u003c/p\u003e\r\n\r\n\u003cp\u003e* Can be open website online or offline pages\u003c/p\u003e\r\n\r\n\u003cp\u003e* Supported Js and html5 Pages (offline)\u003c/p\u003e\r\n\r\n\u003cp\u003e* Working done Android, IOS , Unity Web Player.\u003c/p\u003e\r\n\r\n\u003cp\u003e*Tested to added on Augmented reality application with Vuforia\u003c/p\u003e\r\n\r\n\u003cp\u003e* unity in-app web browser\u003c/p\u003e\r\n\r\n\u003cp\u003e*web ar unity\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=M-uHuWKIUEk\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/M-uHuWKIUEk/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":5,"PostMonth":"June","PostYear":2020,"Photo":"6_5_2020 9_16_16 PM_0 (16).jpg","Name":"Edafa","Views":752,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":23,"Title":"Unity3d and SQLite database Part 2","Description":"\u003cp\u003eHow to read data from on unity\u003c/p\u003e\r\n\r\n\u003cp\u003eSolving all error in unity for assembly reference:\u003c/p\u003e\r\n\r\n\u003cp\u003e1- error \u0026quot;The type or namespace name Data\u0026#39; does not exist in the namespace \u0026#39;Mono\u0026#39;. Are you missing an assembly reference?\u0026quot;\u003c/p\u003e\r\n\r\n\u003cp\u003e2- and error \u0026quot;The type or namespace name MONO\u0026#39; does not exist in the namespace Data\u0026#39;. Are you missing an assembly reference?\u0026quot;\u003c/p\u003e\r\n\r\n\u003cp\u003eNotes:\u003c/p\u003e\r\n\r\n\u003cp\u003e1- SQLite supported and working on windows 7 32bit and 64bit\u003c/p\u003e\r\n\r\n\u003cp\u003e2- SQLite supported and working on visual studio 2010\u003c/p\u003e\r\n\r\n\u003cp\u003e3- SQLite supported and working with .Net Framework 2.0\u003c/p\u003e\r\n\r\n\u003cp\u003elearning how:\u003c/p\u003e\r\n\r\n\u003cp\u003e* SQLite Admin to create database and tables .......\u003c/p\u003e\r\n\r\n\u003cp\u003e* SQLite DLL to support unity .s3db extension and compile on unity for windows 32bit or 64bit.\u003c/p\u003e\r\n\r\n\u003cp\u003e*\u003ca href=\"http://blog.edafait.com/Post?ID=8\" target=\"_blank\"\u003ePart 1\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=CtDSQkLdlZg\u0026amp;t=428s\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/CtDSQkLdlZg/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003ca href=\"https://www.youtube.com/watch?v=swhtUGepAqY\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/swhtUGepAqY/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://github.com/walidabazo/unity-used-SQLite-database\"\u003ehttps://github.com/walidabazo/unity-used-SQLite-database\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cstrong\u003esdb.cs:\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003ctable\u003e\r\n\t\u003ctbody\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003eusing System.Collections;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eusing System.Collections.Generic;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eusing UnityEngine;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eusing Mono.Data.Sqlite;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eusing System.Data;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eusing System;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003epublic class insert : MonoBehaviour {\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eprivate string conn, sqlQuery;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eIDbConnection dbconn;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eIDbCommand dbcmd;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e// Use this for initialization\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003evoid Start () {\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003econn = \u0026quot;URI=file:\u0026quot; + Application.dataPath + \u0026quot;/Plugins/Users.s3db\u0026quot;; //Path to database.\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e//Deletvalue(6);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e//insertvalue(\u0026quot;ahmedm\u0026quot;, \u0026quot;ahmedm@gmail.com\u0026quot;, \u0026quot;sss\u0026quot;);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eUpdatevalue(\u0026quot;a\u0026quot;,\u0026quot;w@gamil.com\u0026quot;,\u0026quot;1st\u0026quot;,1);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003ereaders();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eprivate void insertvalue(string name, string email, string address)\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eusing (dbconn = new SqliteConnection(conn))\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbconn.Open(); //Open connection to the database.\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd = dbconn.CreateCommand();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003esqlQuery = string.Format(\u0026quot;insert into Usersinfo (Name, Email, Address) values (\\\u0026quot;{0}\\\u0026quot;,\\\u0026quot;{1}\\\u0026quot;,\\\u0026quot;{2}\\\u0026quot;)\u0026quot;,name,email,address);// table name\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd.CommandText = sqlQuery;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd.ExecuteScalar();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbconn.Close();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eprivate void Deletvalue(int id)\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eusing (dbconn = new SqliteConnection(conn))\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbconn.Open(); //Open connection to the database.\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd = dbconn.CreateCommand();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003esqlQuery = string.Format(\u0026quot;Delete from Usersinfo WHERE ID=\\\u0026quot;{0}\\\u0026quot;\u0026quot;, id);// table name\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd.CommandText = sqlQuery;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd.ExecuteScalar();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbconn.Close();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eprivate void Updatevalue(string name, string email, string address,int id)\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eusing (dbconn = new SqliteConnection(conn))\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbconn.Open(); //Open connection to the database.\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd = dbconn.CreateCommand();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003esqlQuery = string.Format(\u0026quot;UPDATE Usersinfo set Name=\\\u0026quot;{0}\\\u0026quot;, Email=\\\u0026quot;{1}\\\u0026quot;, Address=\\\u0026quot;{2}\\\u0026quot; WHERE ID=\\\u0026quot;{3}\\\u0026quot; \u0026quot;, name, email, address, id);// table name\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd.CommandText = sqlQuery;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd.ExecuteScalar();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbconn.Close();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eprivate void readers()\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eusing (dbconn = new SqliteConnection(conn))\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbconn.Open(); //Open connection to the database.\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd = dbconn.CreateCommand();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003esqlQuery = \u0026quot;SELECT * \u0026quot; + \u0026quot;FROM Usersinfo\u0026quot;;// table name\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd.CommandText = sqlQuery;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eIDataReader reader = dbcmd.ExecuteReader();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003ewhile (reader.Read())\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e{\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eint id = reader.GetInt32(0);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003estring name = reader.GetString(1);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003estring Email = reader.GetString(2);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003estring Phone = reader.GetString(3);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003eDebug.Log(\u0026quot;value= \u0026quot; + id + \u0026quot; name =\u0026quot; + name + \u0026quot; Eamil =\u0026quot; + Email + \u0026quot; Phone\u0026quot; + Phone);\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003ereader.Close();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003ereader = null;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd.Dispose();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbcmd = null;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbconn.Close();\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003edbconn = null;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e// Update is called once per frame\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003evoid Update () {\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd\u003e}\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\u003c/tbody\u003e\r\n\u003c/table\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":4,"PostMonth":"June","PostYear":2020,"Photo":"6_4_2020 9_21_14 PM_0 (15).jpg","Name":"Edafa","Views":556,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":22,"Title":"How create augmented reality by Unity 3d and ARToolKit Part1","Description":"\u003cp\u003e- General Public License. to create nft marker \u003ca href=\"https://edafait.com/XR_Marker_creator\" target=\"_blank\"\u003ehttps://edafait.com/XR_Marker_creator\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eARToolKit can be working on website (online) without install any application for mobiles or PC.\u003c/p\u003e\r\n\r\n\u003cp\u003efree web augmented reality webar \u003ca href=\"https://webxr.edafait.com/\" target=\"_blank\"\u003ehttps://webxr.edafait.com/\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=c4p0c6npYWI\u0026amp;t=257s\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/c4p0c6npYWI/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":4,"PostMonth":"June","PostYear":2020,"Photo":"6_4_2020 9_13_51 PM_0 (13).jpg","Name":"Edafa","Views":454,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":21,"Title":"How To Create Unity 3D Export Videos MP4","Description":"\u003cp\u003e- unity cinemachine\u003c/p\u003e\r\n\r\n\u003cp\u003e- Unity3d How Render Video\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity3d Export mp4\u003c/p\u003e\r\n\r\n\u003cp\u003e- unity 3d movie maker\u003c/p\u003e\r\n\r\n\u003cp\u003efree web augmented reality webar\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://webxr.edafait.com\" target=\"_blank\"\u003ewebxr.edafait.com\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=7QMzJKBC2cA\" target=\"_blank\"\u003e\u003cimg alt=\"\" src=\"https://img.youtube.com/vi/7QMzJKBC2cA/0.jpg\" style=\"height:360px; width:480px\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":4,"PostMonth":"June","PostYear":2020,"Photo":"6_4_2020 9_04_17 PM_1.jpg","Name":"Edafa","Views":480,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":20,"Title":"Slider images","Description":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eUnity package : Swipe Slide Show Tutorial to image gallery and change size (gameObject.transform.localScale) and Rotate (gameObject.transform.eulerAngles)\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload unity package : \u003ca href=\"https://github.com/walidabazo/Unity-Swipe-Slide-Show-Tutorial\" target=\"_blank\"\u003ehttps://github.com/walidabazo/Unity-Swipe-Slide-Show-Tutorial\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":14,"PostMonth":"May","PostYear":2020,"Photo":"5_14_2020 9_04_36 PM_0 (12).jpg","Name":"Edafa","Views":471,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":19,"Title":"Drag and Drop UI Object","Description":"\u003cp\u003eTutorial - how to drag and drop ui Object in unity and Matching and detect the player wants to drag an item Show exp.\u003c/p\u003e\r\n\r\n\u003cp\u003eandroid application (Game Puzzle) \u003ca href=\"https://www.youtube.com/watch?v=x-XLDQMaH4E\"\u003ehttps://youtu.be/x-XLDQMaH4E\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload App. \u003ca href=\"https://www.youtube.com/redirect?redir_token=IgMA0sV4MLA_7iCxrMZawhCHC018MTU4OTU3NjA0OEAxNTg5NDg5NjQ4\u0026amp;event=video_description\u0026amp;v=H29K5crl7zM\u0026amp;q=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Danimails.kids.puzzle.iadafa.iadafa\" target=\"_blank\"\u003ehttps://play.google.com/store/apps/de...\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":14,"PostMonth":"May","PostYear":2020,"Photo":"5_14_2020 8_57_56 PM_0 (11).jpg","Name":"Edafa","Views":459,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":18,"Title":"Augmented Reality image target touch input for change Scaling and Moving objects","Description":"\u003cp\u003etutorial to create Augmented Reality on unity with vuforia sdk to create multi image target and change size (Scaling ) to game objects (Image or 3D model or Text ) on run time\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":14,"PostMonth":"May","PostYear":2020,"Photo":"5_14_2020 8_53_09 PM_0 (10).jpg","Name":"Edafa","Views":434,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":17,"Title":"How to create virtual buttons with Vuforia in Unity3D","Description":"\u003cp\u003eTutorial to How to create virtual buttons with Vuforia in Unity3D\u003c/p\u003e\r\n\r\n\u003cp\u003eThis Tutorial to shows you how to implement virtual buttons with the augmented reality Vuforia SDK in Unity\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":14,"PostMonth":"May","PostYear":2020,"Photo":"5_14_2020 4_05_01 PM_0 (9).jpg","Name":"Edafa","Views":439,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":16,"Title":"Unity3d : Vuforia - Multiple Image Target (augmented reality AR)","Description":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eTo create mobile application augmented reality on Unity and Vuforia SDK to Multiple Image Target view in same time\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":14,"PostMonth":"May","PostYear":2020,"Photo":"5_9_2020 9_29_03 PM_0 (8).jpg","Name":"Edafa","Views":463,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":15,"Title":"Augmented reality For Web ( WebAR )","Description":"\u003cp\u003e\u003cstrong\u003eEdafaiT WebXR Create for Free WebAR Supported\u0026nbsp;:\u0026nbsp;\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003col\u003e\r\n\t\u003cli\u003e3D Model Support Multi Ext.\u003c/li\u003e\r\n\t\u003cli\u003eImages\u003c/li\u003e\r\n\t\u003cli\u003eVideo\u003c/li\u003e\r\n\t\u003cli\u003eImage With Out marker\u003c/li\u003e\r\n\u003c/ol\u003e\r\n\r\n\u003cp\u003eCreate Free Account on\u003cstrong\u003e \u003ca href=\"https://edafait.com/webxr/default\" target=\"_blank\"\u003eEdafait XR\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e1- How Create WebAR 3D model\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eCreate Your image Target\u0026nbsp; Notes ( image size : Width 640px Height 480px ) to working done position in all mobile platform ( Android, IOS )\r\n\t\u003cul\u003e\r\n\t\t\u003cli\u003eopen\u0026nbsp;\u003ca href=\"https://edafait.com/XR_Marker_creator\"\u003ehttps://edafait.com/XR_Marker_creator\u003c/a\u003e\u0026nbsp;\u003c/li\u003e\r\n\t\t\u003cli\u003eUpload your image show\u0026nbsp;Confidence 3 Starts to 5 Stars will working very done.\u003c/li\u003e\r\n\t\t\u003cli\u003eClick Generate willl\u0026nbsp; Download 3 Files (.fset , .fset3, .iset) This your image target database.\u003c/li\u003e\r\n\t\u003c/ul\u003e\r\n\t\u003c/li\u003e\r\n\t\u003cli\u003e3d model glb and gltf\u0026nbsp; extention very good on the web can be convert your 3d model on\u0026nbsp;\u003ca href=\"https://edafait.com/XR_3d_html5\"\u003ehttps://edafait.com/XR_3d_html5\u003c/a\u003e\r\n\t\u003cul\u003e\r\n\t\t\u003cli\u003eDownload this file\u0026nbsp;\u003ca href=\"https://edafait.com/webxr/Marker_scene.gltf\"\u003ehttps://edafait.com/webxr/Marker_scene.gltf\u003c/a\u003e\u0026nbsp; and import into 3d editor\u0026nbsp;\u003c/li\u003e\r\n\t\t\u003cli\u003eOn Plan Marker Change matrial to your image to can see your 3d Position\u003c/li\u003e\r\n\t\t\u003cli\u003eupload your 3d model and set position and rotation and scale\u0026nbsp;\u0026nbsp;\u003c/li\u003e\r\n\t\u003c/ul\u003e\r\n\t\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n\u003cp\u003eUpload your\u0026nbsp; Upload Marker(set , .fset3, .iset) , 3d model\u0026nbsp;, Copy and past (Position , Rotation , Scale )\u0026nbsp;, Upload your image and click create page\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":9,"PostMonth":"May","PostYear":2020,"Photo":"5_9_2020 6_02_02 AM_Banner.jpg","Name":"Edafa","Views":761,"Liked":1,"Category_ID":5,"Category":"Web XR"},{"ID":14,"Title":"Unity3d with Google Cardboard (1.100.1)","Description":"\u003cp\u003eHow to use Google Cardboard apps with Unity. Using Unity 2017.2 and Google Cardboard SDK 1.100.1 - XR setting\u003c/p\u003e\r\n\r\n\u003cp\u003eControl on desktop :\u003c/p\u003e\r\n\r\n\u003cp\u003e- Hold Ctrl or Alt to rotate the camera and mouse rotate .\u003c/p\u003e\r\n\r\n\u003cp\u003e- move forward rotate right click\u003c/p\u003e\r\n\r\n\u003cp\u003e- Click object by reticle Control on mobile:\u003c/p\u003e\r\n\r\n\u003cp\u003e- Automatic get rotate lift-right- up-down (gyroscope sensor )\u003c/p\u003e\r\n\r\n\u003cp\u003e- To move forward click on touch screen to Start or Stop\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload Google Cardboard SDK: \u003ca href=\"https://github.com/googlevr/gvr-unity-sdk/releases/tag/v1.100.1\" target=\"_blank\"\u003ehttps://github.com/googlevr/gvr-unity-sdk/releases/tag/v1.100.1\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":14,"PostMonth":"May","PostYear":2020,"Photo":"5_7_2020 10_56_27 PM_0 (7).jpg","Name":"Edafa","Views":586,"Liked":1,"Category_ID":2,"Category":"unity 3d"},{"ID":13,"Title":"Unity3d Integrating google Cardboard GVR and vuforia to the AR/VR (mixed reality)","Description":"\u003cp\u003eUnity 2017.2 : Integrating google Cardboard GVR 1.110.0 SDK and vuforia 6.5 to the AR VR (mixed reality) *\u003c/p\u003e\r\n\r\n\u003cp\u003eTutorial to implement gaze detection to trigger transitions between the AR and VR modes\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"May","PostYear":2020,"Photo":"5_7_2020 10_52_29 PM_0 (6).jpg","Name":"Edafa","Views":627,"Liked":1,"Category_ID":2,"Category":"unity 3d"},{"ID":12,"Title":"Unity flip book with zoom with Augmented reality (Vuforia)","Description":"\u003cp\u003eUnity flip book with zoom with Augmented reality ( Vuforia )\u003c/p\u003e\r\n\r\n\u003cp\u003eUnity 3d unitypackage \u003ca href=\"https://github.com/walidabazo/Unity_flipbook_zoom\" target=\"_blank\"\u003ehttps://github.com/walidabazo/Unity_flipbook_zoom\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eyou can also\u0026nbsp;check This\u0026nbsp;guide: \u003ca href=\"https://www.toptal.com/unity-unity3d#hiring-guide\" target=\"6QNndhSheCULwtd_3QwuuOQ\"\u003ehttps://www.toptal.com/unity-unity3d#hiring-guide\u003c/a\u003e.\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":14,"PostMonth":"May","PostYear":2020,"Photo":"5_7_2020 10_47_16 PM_0 (5).jpg","Name":"Edafa","Views":772,"Liked":13,"Category_ID":2,"Category":"unity 3d"},{"ID":11,"Title":"Unity3d and Vuforia Mixed Reality with shadow","Description":"\u003cp\u003eUnity 2017.3 and Vuforia 7.0 on Augmented and Virtual reality ( Mixed Reality ) With shadows and how can be Change opacity ( Intensity ) Shadows\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"May","PostYear":2020,"Photo":"5_7_2020 10_41_56 PM_0 (4).jpg","Name":"Edafa","Views":515,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":10,"Title":"Unity and vuforia","Description":"\u003cp\u003e\u003cstrong\u003eUnity and vuforia\u003c/strong\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003ch3\u003eVuforia Engine in Unity\u003c/h3\u003e\r\n\r\n\u003cp\u003eThe Unity Editor is a popular and useful authoring platform to create cutting edge augmented reality experiences for both handheld devices and digital eyewear.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;The Vuforia Engine is easily added to any project.\u003c/p\u003e\r\n\r\n\u003cp\u003eSolved error \u0026quot; The associated script can not be loaded. Please fix any compile errors and assign a valid script \u0026quot;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"May","PostYear":2020,"Photo":"5_7_2020 10_19_30 PM_0 (3).jpg","Name":"Edafa","Views":548,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":9,"Title":"Unity3d : Vuforia Play Sound ( Augmented Reality)","Description":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eTo show all videos and download all unity packages for free must be Subscriber youtube channel\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":6,"PostMonth":"May","PostYear":2020,"Photo":"5_6_2020 10_30_20 PM_0 (2).jpg","Name":"Edafa","Views":509,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":8,"Title":"Unity3d and SQLite database","Description":"\u003cp\u003eHow to read data from on unity Solving all error in unity for assembly reference:\u003c/p\u003e\r\n\r\n\u003cp\u003e1- error \u0026quot;The type or namespace name Data\u0026#39; does not exist in the namespace \u0026#39;Mono\u0026#39;. Are you missing an assembly reference?\u0026quot;\u003c/p\u003e\r\n\r\n\u003cp\u003e2- and error \u0026quot;The type or namespace name MONO\u0026#39; does not exist in the namespace Data\u0026#39;. Are you missing an assembly reference?\u0026quot;\u003c/p\u003e\r\n\r\n\u003cp\u003eNotes:\u003c/p\u003e\r\n\r\n\u003cp\u003e1- SQLite supported and working on windows 7 32bit and 64bit\u003c/p\u003e\r\n\r\n\u003cp\u003e2- SQLite supported and working on visual studio 2010\u003c/p\u003e\r\n\r\n\u003cp\u003e3- SQLite supported and working with .Net Framework 2.0\u003c/p\u003e\r\n\r\n\u003cp\u003elearning how:\u003c/p\u003e\r\n\r\n\u003cp\u003e* SQLite Admin to create database and tables .......\u003c/p\u003e\r\n\r\n\u003cp\u003e* SQLite DLL to support unity .s3db extension and compile on unity for windows 32bit or 64bit.\u003c/p\u003e\r\n\r\n\u003cp\u003eDownload unity package : \u003ca href=\"https://github.com/walidabazo/unity-used-SQLite-database\" target=\"_blank\"\u003ehttps://github.com/walidabazo/unity-used-SQLite-database\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eCode :\u003c/p\u003e\r\n\r\n\u003ctable cellspacing=\"0\"\u003e\r\n\t\u003ctbody\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003eusing System.Collections;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003eusing System.Collections.Generic;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003eusing UnityEngine;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003eusing Mono.Data.Sqlite;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003eusing System.Data;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003eusing System;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003epublic class insert : MonoBehaviour {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; private string conn, sqlQuery;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; IDbConnection dbconn;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp; \u0026nbsp;\u0026nbsp;IDbCommand dbcmd;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Use this for initialization\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; void Start () {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; conn = \u0026quot;URI=file:\u0026quot; + Application.dataPath + \u0026quot;/Plugins/Users.s3db\u0026quot;; //Path to database.\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; //Deletvalue(6);\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; //insertvalue(\u0026quot;ahmedm\u0026quot;, \u0026quot;ahmedm@gmail.com\u0026quot;, \u0026quot;sss\u0026quot;);\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Updatevalue(\u0026quot;a\u0026quot;,\u0026quot;w@gamil.com\u0026quot;,\u0026quot;1st\u0026quot;,1);\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; readers();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; private void insertvalue(string name, string email, string address)\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; using (dbconn = new SqliteConnection(conn))\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbconn.Open(); //Open connection to the database.\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd = dbconn.CreateCommand();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; sqlQuery = string.Format(\u0026quot;insert into Usersinfo (Name, Email, Address) values (\\\u0026quot;{0}\\\u0026quot;,\\\u0026quot;{1}\\\u0026quot;,\\\u0026quot;{2}\\\u0026quot;)\u0026quot;,name,email,address);// table name\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd.CommandText = sqlQuery;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd.ExecuteScalar();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbconn.Close();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; private void Deletvalue(int id)\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; using (dbconn = new SqliteConnection(conn))\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbconn.Open(); //Open connection to the database.\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd = dbconn.CreateCommand();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; sqlQuery = string.Format(\u0026quot;Delete from Usersinfo WHERE ID=\\\u0026quot;{0}\\\u0026quot;\u0026quot;, id);// table name\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp;dbcmd.CommandText = sqlQuery;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd.ExecuteScalar();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbconn.Close();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; private void Updatevalue(string name, string email, string address,int id)\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; using (dbconn = new SqliteConnection(conn))\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbconn.Open(); //Open connection to the database.\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd = dbconn.CreateCommand();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; sqlQuery = string.Format(\u0026quot;UPDATE Usersinfo set Name=\\\u0026quot;{0}\\\u0026quot;, Email=\\\u0026quot;{1}\\\u0026quot;, Address=\\\u0026quot;{2}\\\u0026quot; WHERE ID=\\\u0026quot;{3}\\\u0026quot; \u0026quot;, name, email, address, id);// table name\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd.CommandText = sqlQuery;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd.ExecuteScalar();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbconn.Close();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; private void readers()\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; using (dbconn = new SqliteConnection(conn))\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbconn.Open(); //Open connection to the database.\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd = dbconn.CreateCommand();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; sqlQuery = \u0026quot;SELECT * \u0026quot; + \u0026quot;FROM Usersinfo\u0026quot;;// table name\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd.CommandText = sqlQuery;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; IDataReader reader = dbcmd.ExecuteReader();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; while (reader.Read())\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; int id = reader.GetInt32(0);\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; string name = reader.GetString(1);\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; string Email = reader.GetString(2);\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; string Phone = reader.GetString(3);\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Debug.Log(\u0026quot;value= \u0026quot; + id + \u0026quot;\u0026nbsp; name =\u0026quot; + name + \u0026quot;\u0026nbsp; Eamil =\u0026quot; + Email + \u0026quot;\u0026nbsp;\u0026nbsp; Phone\u0026quot; + Phone);\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; reader.Close();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;reader = null;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd.Dispose();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbcmd = null;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbconn.Close();\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; dbconn = null;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; // Update is called once per frame\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; void Update () {\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; }\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\t\u003ctr\u003e\r\n\t\t\t\u003ctd style=\"background-color:white; width:37.8pt\"\u003e\u0026nbsp;\u003c/td\u003e\r\n\t\t\t\u003ctd style=\"background-color:white\"\u003e\r\n\t\t\t\u003cp\u003e}\u003c/p\u003e\r\n\t\t\t\u003c/td\u003e\r\n\t\t\u003c/tr\u003e\r\n\t\u003c/tbody\u003e\r\n\u003c/table\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":14,"PostMonth":"May","PostYear":2020,"Photo":"5_6_2020 9_08_55 PM_sql.png","Name":"Edafa","Views":952,"Liked":3,"Category_ID":2,"Category":"unity 3d"},{"ID":7,"Title":"XR : 3d model convert html5","Description":"\u003cp\u003eYou can convert 3d model to html5 web page\u003c/p\u003e\r\n\r\n\u003cp\u003ethat help you to use your model on more apps\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003e3d model convert html5 withe any extention as (\u0026nbsp;DAE,GLB,GLTF,OBJ,PLY,STL,FBX )\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?5UdBOT2\" target=\"_blank\"\u003eTry Now\u003c/a\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003eto auto rotation\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003ca href=\"https://shorturl.edafait.com/?8EbiXoD\"\u003edownloads : app.json\u003c/a\u003e\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":1,"PostMonth":"May","PostYear":2020,"Photo":"5_1_2020 12_36_07 AM_3dweb.jpg","Name":"Edafa","Views":1157,"Liked":2,"Category_ID":5,"Category":"Web XR"},{"ID":6,"Title":"ASP.NET C# and Google Map and MS SQL Server part 1","Description":"\u003cp\u003eASP.NET C# and Google Map and MS SQL Server\u003c/p\u003e\r\n\r\n\u003cp\u003e* Maps JavaScript API\u003c/p\u003e\r\n\r\n\u003cp\u003e* Set location by marker Overlays\u003c/p\u003e\r\n\r\n\u003cp\u003e* Add multi points on google map and add description for each point\u003c/p\u003e\r\n\r\n\u003cp\u003e* save on MS SQL Server\u003c/p\u003e\r\n\r\n\u003cp\u003e* set Map Type\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":16,"PostMonth":"June","PostYear":2020,"Photo":"6_16_2020 8_58_07 PM_0 (28).jpg","Name":"Edafa","Views":545,"Liked":3,"Category_ID":4,"Category":"C#"},{"ID":5,"Title":"SQLite database sync MS SQL SERVER","Description":"\u003cp\u003eTutorial Unity 3d save Data on SQLite offline and sync (synchronization ) with MS SQL SERVER Online Database.\u003c/p\u003e\r\n\r\n\u003cp\u003e* Used ODBC SQLite.\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":12,"PostMonth":"June","PostYear":2020,"Photo":"6_12_2020 10_46_41 PM_13.jpg","Name":"Edafa","Views":679,"Liked":0,"Category_ID":1,"Category":"Sqlite"},{"ID":4,"Title":"Unity3d : Vuforia Play video ( Augmented Reality)","Description":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n\r\n\u003cp\u003eAugmented Reality Unity3d Video Playback using Vuforia unity packages for free must be Subscriber youtube channel\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":7,"PostMonth":"May","PostYear":2020,"Photo":"5_6_2020 9_31_16 PM_0.jpg","Name":"Edafa","Views":485,"Liked":0,"Category_ID":2,"Category":"unity 3d"},{"ID":3,"Title":"High-performance 3D Model On website","Description":"\u003ch1\u003eHTML 5 Web3d : high-performance 3D Model On website\u003c/h1\u003e\r\n\r\n\u003cp\u003eTO:\u003c/p\u003e\r\n\r\n\u003cp\u003e* to start of high-performance Mixed-Reality (MR) system for website\u003c/p\u003e\r\n\r\n\u003cp\u003e* Web3D and W3C communities how an integration of HTML5\u003c/p\u003e\r\n\r\n\u003cp\u003e* high-performance 3D Model On website.\u003c/p\u003e\r\n\r\n\u003cp\u003e* How Convert .obj to x3d\u003c/p\u003e\r\n\r\n\u003cp\u003e* How convert .x3d to x3dom and create Html5 page.\u003c/p\u003e\r\n\r\n\u003cp\u003e* How used Blender To convert .obj to x3d\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":5,"PostMonth":"July","PostYear":2020,"Photo":"7_5_2020 9_22_32 PM_0 (46).jpg","Name":"Edafa","Views":617,"Liked":5,"Category_ID":10,"Category":"Java Script"},{"ID":2,"Title":"ASP.NET C# and Google Map - Full address","Description":"\u003cp\u003eASP.NET C# and Google Map and MS SQL Server\u003c/p\u003e\r\n\r\n\u003cp\u003e* Get Full address\u003c/p\u003e\r\n\r\n\u003cp\u003e* Maps JavaScript API *\u003c/p\u003e\r\n\r\n\u003cp\u003eSet location by marker Overlays\u003c/p\u003e\r\n\r\n\u003cp\u003e* Add multi points on google map and add description for each point\u003c/p\u003e\r\n\r\n\u003cp\u003e* save on MS SQL Server\u003c/p\u003e\r\n\r\n\u003cp\u003e* set Map Type\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":6,"PostMonth":"May","PostYear":2020,"Photo":"5_6_2020 9_51_23 PM_0 (1).jpg","Name":"Edafa","Views":518,"Liked":0,"Category_ID":4,"Category":"C#"},{"ID":1,"Title":"Sqlite Database sync with ms sql server","Description":"\u003cp\u003esqlite Database synchronization with ms sql server MERGE (mssqlserver_Tablename) AS W\u003c/p\u003e\r\n\r\n\u003cp\u003eUSING openquery(SYNCUSERSINFO, \u0026#39;select * from Sqlite_Tablename\u0026#39;) AS T\u003c/p\u003e\r\n\r\n\u003cp\u003eON (W.ID= T.ID)\u003c/p\u003e\r\n\r\n\u003cp\u003eWHEN NOT MATCHED BY TARGET THEN\u003c/p\u003e\r\n\r\n\u003cp\u003eINSERT(Columns)\u003c/p\u003e\r\n\r\n\u003cp\u003eVALUES (Columns);\u003c/p\u003e\r\n\r\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\r\n","Description_d":"\r\n\u003cp\u003e\u003cstrong\u003eusing :\u003c/strong\u003e Node MCU-ESP8166 to establishing a wifi connection\u003c/p\u003e\r\n\r\n\u003cul\u003e\r\n\t\u003cli\u003eAccess Point mode\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server\u003c/li\u003e\r\n\t\u003cli\u003eEstablishing a web Server Create HTML\u003c/li\u003e\r\n\u003c/ul\u003e","postDay":6,"PostMonth":"May","PostYear":2020,"Photo":"5_6_2020 10_24_01 PM_0.jpg","Name":"Edafa","Views":619,"Liked":6,"Category_ID":1,"Category":"Sqlite"}])