Components and supplies
Arduino Nano R3
Resistor 330 ohm
Infrared LED 940nm
Tools and machines
Laser cutter (generic)
Apps and platforms
Visual Studio 2015
Project description
Code
Code snippet #3
text
1Imports System.Threading 2 3Public Class Form1 4 Dim connected As Boolean 5 Dim comPort As String 6 7 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 8 portConfig() 9 End Sub 10 11 Sub portConfig() 12 For Each p As String In My.Computer.Ports.SerialPortNames 13 Try 14 Using com As IO.Ports.SerialPort = 15 My.Computer.Ports.OpenSerialPort(p) 16 com.ReadTimeout = 1000 17 com.WriteLine("t") 18 Dim data As String = com.ReadLine() 19 If InStr(data, "OK") Then 20 lblConnection.Text = "Connected to " & p 21 comPort = p 22 connected = True 23 End If 24 com.Close() 25 End Using 26 Catch ex As Exception 27 28 End Try 29 Next 30 End Sub 31 32 Sub sendCommand(data As String) 33 PictureBox2.BackColor = Color.Green 34 If connected = True Then 35 If data <> "" Then 36 Try 37 Using com As IO.Ports.SerialPort = 38 My.Computer.Ports.OpenSerialPort(comPort) 39 com.WriteLine(data) 40 com.Close() 41 End Using 42 Catch ex As Exception 43 MessageBox.Show(ex.Message) 44 End Try 45 End If 46 End If 47 PictureBox2.BackColor = Color.White 48 End Sub 49 50 Private Sub ConnectToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ConnectToolStripMenuItem.Click 51 portConfig() 52 End Sub 53 54 Private Sub ResetDeviceToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ResetDeviceToolStripMenuItem.Click 55 sendCommand("x") 56 End Sub 57 58 Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitToolStripMenuItem.Click 59 Application.Exit() 60 End 61 End Sub 62 63 Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint 64 Label1.Parent = PictureBox1 65 Label1.BackColor = Color.Transparent 66 67 Label2.Parent = PictureBox1 68 Label2.BackColor = Color.Transparent 69 70 Label3.Parent = PictureBox1 71 Label3.BackColor = Color.Transparent 72 73 Label4.Parent = PictureBox1 74 Label4.BackColor = Color.Transparent 75 76 Label5.Parent = PictureBox1 77 Label5.BackColor = Color.Transparent 78 79 Label6.Parent = PictureBox1 80 Label6.BackColor = Color.Transparent 81 82 Label7.Parent = PictureBox1 83 Label7.BackColor = Color.Transparent 84 85 Label8.Parent = PictureBox1 86 Label8.BackColor = Color.Transparent 87 88 Label9.Parent = PictureBox1 89 Label9.BackColor = Color.Transparent 90 91 Label10.Parent = PictureBox1 92 Label10.BackColor = Color.Transparent 93 End Sub 94 95 Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click 96 sendCommand("a") 97 End Sub 98 99 Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click 100 sendCommand("b") 101 End Sub 102 103 Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click 104 sendCommand("c") 105 End Sub 106 107 Private Sub Label4_Click(sender As Object, e As EventArgs) Handles Label4.Click 108 sendCommand("d") 109 End Sub 110 111 Private Sub Label5_Click(sender As Object, e As EventArgs) Handles Label5.Click 112 sendCommand("e") 113 End Sub 114 115 Private Sub Label6_Click(sender As Object, e As EventArgs) Handles Label6.Click 116 sendCommand("f") 117 End Sub 118 119 Private Sub Label7_Click(sender As Object, e As EventArgs) Handles Label7.Click 120 sendCommand("g") 121 End Sub 122 123 Private Sub Label8_Click(sender As Object, e As EventArgs) Handles Label8.Click 124 sendCommand("h") 125 End Sub 126 127 Private Sub Label9_Click(sender As Object, e As EventArgs) Handles Label9.Click 128 sendCommand("j") 129 End Sub 130 131 Private Sub Label10_Click(sender As Object, e As EventArgs) Handles Label10.Click 132 sendCommand("i") 133 End Sub 134 135 Private Sub Form1_Resize(sender As Object, e As EventArgs) Handles Me.Resize 136 If Me.WindowState = FormWindowState.Minimized Then 137 NotifyIcon1.Visible = True 138 NotifyIcon1.Icon = SystemIcons.Application 139 NotifyIcon1.BalloonTipIcon = ToolTipIcon.Info 140 NotifyIcon1.BalloonTipTitle = "AV Controller" 141 NotifyIcon1.BalloonTipText = "Controller is minimized. Click the icon in the tray to open." 142 NotifyIcon1.ShowBalloonTip(50000) 143 ShowInTaskbar = False 144 End If 145 End Sub 146 147 Private Sub NotifyIcon1_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick 148 ShowInTaskbar = True 149 Me.WindowState = FormWindowState.Normal 150 NotifyIcon1.Visible = False 151 End Sub 152End Class 153
Code snippet #2
text
1 Sub sendCommand(data As String) 2 PictureBox2.BackColor = Color.Green 3 If connected = True Then 4 If data <> "" Then 5 Try 6 Using com As IO.Ports.SerialPort = 7 My.Computer.Ports.OpenSerialPort(comPort) 8 com.WriteLine(data) 9 com.Close() 10 End Using 11 Catch ex As Exception 12 MessageBox.Show(ex.Message) 13 End Try 14 End If 15 End If 16 PictureBox2.BackColor = Color.White 17 End Sub 18
Code snippet #1
text
1/* 2 * IRremote: AV_Controller 3 * An IR LED must be connected to Arduino PWM pin 3. 4 * Version 0.1 01/04/16 5 */ 6 7#include 8 9IRsend irsend; 10byte byteRead; 11 12void(* resetFunc) (void) = 0; //declare reset function @ address 0 13 14void setup() { 15 Serial.begin(9600); 16 Serial.println("***********************"); 17 Serial.println("** AV-CONTROLLER **"); 18 Serial.println("***********************"); 19 Serial.println("Waiting for commands..."); 20} 21 22void loop() { 23 if (Serial.available()) { 24 byteRead = Serial.read(); 25 processResponse(byteRead); 26 } 27} 28 29void processResponse(byte byteInput) { 30 switch (byteInput) { 31 case '4': 32 Serial.println("Sending Command: TEST 4"); 33 // irsend.sendNEC(0x827DD827, 32); 34 delay(40); 35 return; 36 break; 37 case 'a': 38 Serial.println("Sending Command: RESET"); 39 irsend.sendNEC(0x827D58A7, 32); 40 delay(40); 41 Serial.println("Command Sent."); 42 return; 43 break; 44 case 'b': 45 Serial.println("Sending Command: MUTE"); 46 irsend.sendNEC(0x827DD827, 32); 47 delay(40); 48 Serial.println("Command Sent."); 49 return; 50 break; 51 case 'c': 52 Serial.println("Sending Command: INPUT1"); 53 irsend.sendNEC(0x827D708F, 32); 54 delay(40); 55 Serial.println("Command Sent."); 56 return; 57 break; 58 case 'd': 59 Serial.println("Sending Command: INPUT2"); 60 irsend.sendNEC(0x827D48B7, 32); 61 delay(40); 62 Serial.println("Command Sent."); 63 return; 64 break; 65 case 'e': 66 Serial.println("Sending Command: TREBLE UP"); 67 irsend.sendNEC(0x827DF20D, 32); 68 delay(40); 69 Serial.println("Command Sent."); 70 return; 71 break; 72 case 'f': 73 Serial.println("Sending Command: TREBLE DOWN"); 74 irsend.sendNEC(0x827DCA35, 32); 75 delay(40); 76 Serial.println("Command Sent."); 77 return; 78 break; 79 case 'g': 80 Serial.println("Sending Command: BASS UP"); 81 irsend.sendNEC(0x827DF00F, 32); 82 delay(40); 83 Serial.println("Command Sent."); 84 return; 85 break; 86 case 'h': 87 Serial.println("Sending Command: BASS DOWN"); 88 irsend.sendNEC(0x827DC837, 32); 89 delay(40); 90 Serial.println("Command Sent."); 91 return; 92 break; 93 case 'i': 94 Serial.println("Sending Command: VOLUME DOWN"); 95 irsend.sendNEC(0x827D40BF, 32); 96 delay(40); 97 Serial.println("Command Sent."); 98 return; 99 break; 100 case 'j': 101 Serial.println("Sending Command: VOLUME UP"); 102 irsend.sendNEC(0x827DC03F, 32); 103 delay(40); 104 Serial.println("Command Sent."); 105 return; 106 break; 107 case 'x': 108 Serial.println("Resetting System..."); 109 resetFunc(); 110 return; 111 break; 112 113 break; 114 case 't': 115 Serial.println("OK"); 116 return; 117 break; 118 119 break; 120 default: 121 122 break; 123 } 124 Serial.println("Unknown command."); 125} 126
Github
https://github.com/z3t0/Arduino-IRremote
Code snippet #1
text
1/* 2 * IRremote: AV_Controller 3 * An IR LED must be connected to 4 Arduino PWM pin 3. 5 * Version 0.1 01/04/16 6 */ 7 8#include 9 10IRsend 11 irsend; 12byte byteRead; 13 14void(* resetFunc) (void) = 0; //declare reset function 15 @ address 0 16 17void setup() { 18 Serial.begin(9600); 19 Serial.println("***********************"); 20 21 Serial.println("** AV-CONTROLLER **"); 22 Serial.println("***********************"); 23 24 Serial.println("Waiting for commands..."); 25} 26 27void loop() { 28 if 29 (Serial.available()) { 30 byteRead = Serial.read(); 31 processResponse(byteRead); 32 33 } 34} 35 36void processResponse(byte byteInput) { 37 switch (byteInput) { 38 39 case '4': 40 Serial.println("Sending Command: TEST 4"); 41 // 42 irsend.sendNEC(0x827DD827, 32); 43 delay(40); 44 return; 45 break; 46 47 case 'a': 48 Serial.println("Sending Command: RESET"); 49 50 irsend.sendNEC(0x827D58A7, 32); 51 delay(40); 52 Serial.println("Command 53 Sent."); 54 return; 55 break; 56 case 'b': 57 Serial.println("Sending 58 Command: MUTE"); 59 irsend.sendNEC(0x827DD827, 32); 60 delay(40); 61 62 Serial.println("Command Sent."); 63 return; 64 break; 65 case 66 'c': 67 Serial.println("Sending Command: INPUT1"); 68 irsend.sendNEC(0x827D708F, 69 32); 70 delay(40); 71 Serial.println("Command Sent."); 72 return; 73 74 break; 75 case 'd': 76 Serial.println("Sending Command: INPUT2"); 77 78 irsend.sendNEC(0x827D48B7, 32); 79 delay(40); 80 Serial.println("Command 81 Sent."); 82 return; 83 break; 84 case 'e': 85 Serial.println("Sending 86 Command: TREBLE UP"); 87 irsend.sendNEC(0x827DF20D, 32); 88 delay(40); 89 90 Serial.println("Command Sent."); 91 return; 92 break; 93 case 94 'f': 95 Serial.println("Sending Command: TREBLE DOWN"); 96 irsend.sendNEC(0x827DCA35, 97 32); 98 delay(40); 99 Serial.println("Command Sent."); 100 return; 101 102 break; 103 case 'g': 104 Serial.println("Sending Command: BASS UP"); 105 106 irsend.sendNEC(0x827DF00F, 32); 107 delay(40); 108 Serial.println("Command 109 Sent."); 110 return; 111 break; 112 case 'h': 113 Serial.println("Sending 114 Command: BASS DOWN"); 115 irsend.sendNEC(0x827DC837, 32); 116 delay(40); 117 118 Serial.println("Command Sent."); 119 return; 120 break; 121 case 122 'i': 123 Serial.println("Sending Command: VOLUME DOWN"); 124 irsend.sendNEC(0x827D40BF, 125 32); 126 delay(40); 127 Serial.println("Command Sent."); 128 return; 129 130 break; 131 case 'j': 132 Serial.println("Sending Command: VOLUME 133 UP"); 134 irsend.sendNEC(0x827DC03F, 32); 135 delay(40); 136 Serial.println("Command 137 Sent."); 138 return; 139 break; 140 case 'x': 141 Serial.println("Resetting 142 System..."); 143 resetFunc(); 144 return; 145 break; 146 147 break; 148 149 case 't': 150 Serial.println("OK"); 151 return; 152 break; 153 154 155 break; 156 default: 157 158 break; 159 } 160 Serial.println("Unknown 161 command."); 162} 163
Code snippet #2
text
1 Sub sendCommand(data As String) 2 PictureBox2.BackColor = Color.Green 3 4 If connected = True Then 5 If data <> "" Then 6 Try 7 8 Using com As IO.Ports.SerialPort = 9 My.Computer.Ports.OpenSerialPort(comPort) 10 11 com.WriteLine(data) 12 com.Close() 13 14 End Using 15 Catch ex As Exception 16 MessageBox.Show(ex.Message) 17 18 End Try 19 End If 20 End If 21 PictureBox2.BackColor 22 = Color.White 23 End Sub 24
Code snippet #3
text
1Imports System.Threading 2 3Public Class Form1 4 Dim connected 5 As Boolean 6 Dim comPort As String 7 8 Private Sub Form1_Load(sender 9 As Object, e As EventArgs) Handles MyBase.Load 10 portConfig() 11 End 12 Sub 13 14 Sub portConfig() 15 For Each p As String In My.Computer.Ports.SerialPortNames 16 17 Try 18 Using com As IO.Ports.SerialPort = 19 My.Computer.Ports.OpenSerialPort(p) 20 21 com.ReadTimeout = 1000 22 com.WriteLine("t") 23 24 Dim data As String = com.ReadLine() 25 If 26 InStr(data, "OK") Then 27 lblConnection.Text = "Connected 28 to " & p 29 comPort = p 30 connected 31 = True 32 End If 33 com.Close() 34 End 35 Using 36 Catch ex As Exception 37 38 End Try 39 Next 40 41 End Sub 42 43 Sub sendCommand(data As String) 44 PictureBox2.BackColor 45 = Color.Green 46 If connected = True Then 47 If data <> 48 "" Then 49 Try 50 Using com As IO.Ports.SerialPort 51 = 52 My.Computer.Ports.OpenSerialPort(comPort) 53 com.WriteLine(data) 54 55 com.Close() 56 End Using 57 Catch 58 ex As Exception 59 MessageBox.Show(ex.Message) 60 End 61 Try 62 End If 63 End If 64 PictureBox2.BackColor = Color.White 65 66 End Sub 67 68 Private Sub ConnectToolStripMenuItem_Click(sender As Object, 69 e As EventArgs) Handles ConnectToolStripMenuItem.Click 70 portConfig() 71 72 End Sub 73 74 Private Sub ResetDeviceToolStripMenuItem_Click(sender As 75 Object, e As EventArgs) Handles ResetDeviceToolStripMenuItem.Click 76 sendCommand("x") 77 78 End Sub 79 80 Private Sub ExitToolStripMenuItem_Click(sender As Object, 81 e As EventArgs) Handles ExitToolStripMenuItem.Click 82 Application.Exit() 83 84 End 85 End Sub 86 87 Private Sub Form1_Paint(sender As Object, 88 e As PaintEventArgs) Handles Me.Paint 89 Label1.Parent = PictureBox1 90 91 Label1.BackColor = Color.Transparent 92 93 Label2.Parent = PictureBox1 94 95 Label2.BackColor = Color.Transparent 96 97 Label3.Parent = PictureBox1 98 99 Label3.BackColor = Color.Transparent 100 101 Label4.Parent = PictureBox1 102 103 Label4.BackColor = Color.Transparent 104 105 Label5.Parent = PictureBox1 106 107 Label5.BackColor = Color.Transparent 108 109 Label6.Parent = PictureBox1 110 111 Label6.BackColor = Color.Transparent 112 113 Label7.Parent = PictureBox1 114 115 Label7.BackColor = Color.Transparent 116 117 Label8.Parent = PictureBox1 118 119 Label8.BackColor = Color.Transparent 120 121 Label9.Parent = PictureBox1 122 123 Label9.BackColor = Color.Transparent 124 125 Label10.Parent = PictureBox1 126 127 Label10.BackColor = Color.Transparent 128 End Sub 129 130 Private 131 Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click 132 sendCommand("a") 133 134 End Sub 135 136 Private Sub Label2_Click(sender As Object, e As EventArgs) 137 Handles Label2.Click 138 sendCommand("b") 139 End Sub 140 141 Private 142 Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click 143 sendCommand("c") 144 145 End Sub 146 147 Private Sub Label4_Click(sender As Object, e As EventArgs) 148 Handles Label4.Click 149 sendCommand("d") 150 End Sub 151 152 Private 153 Sub Label5_Click(sender As Object, e As EventArgs) Handles Label5.Click 154 sendCommand("e") 155 156 End Sub 157 158 Private Sub Label6_Click(sender As Object, e As EventArgs) 159 Handles Label6.Click 160 sendCommand("f") 161 End Sub 162 163 Private 164 Sub Label7_Click(sender As Object, e As EventArgs) Handles Label7.Click 165 sendCommand("g") 166 167 End Sub 168 169 Private Sub Label8_Click(sender As Object, e As EventArgs) 170 Handles Label8.Click 171 sendCommand("h") 172 End Sub 173 174 Private 175 Sub Label9_Click(sender As Object, e As EventArgs) Handles Label9.Click 176 sendCommand("j") 177 178 End Sub 179 180 Private Sub Label10_Click(sender As Object, e As EventArgs) 181 Handles Label10.Click 182 sendCommand("i") 183 End Sub 184 185 Private 186 Sub Form1_Resize(sender As Object, e As EventArgs) Handles Me.Resize 187 If 188 Me.WindowState = FormWindowState.Minimized Then 189 NotifyIcon1.Visible 190 = True 191 NotifyIcon1.Icon = SystemIcons.Application 192 NotifyIcon1.BalloonTipIcon 193 = ToolTipIcon.Info 194 NotifyIcon1.BalloonTipTitle = "AV Controller" 195 196 NotifyIcon1.BalloonTipText = "Controller is minimized. Click the icon 197 in the tray to open." 198 NotifyIcon1.ShowBalloonTip(50000) 199 ShowInTaskbar 200 = False 201 End If 202 End Sub 203 204 Private Sub NotifyIcon1_MouseDoubleClick(sender 205 As Object, e As MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick 206 ShowInTaskbar 207 = True 208 Me.WindowState = FormWindowState.Normal 209 NotifyIcon1.Visible 210 = False 211 End Sub 212End Class 213
Github
https://github.com/z3t0/Arduino-IRremote
Documentation
Enclosure
2D Design File. Case Enclosure.
Enclosure
Comments
Only logged in users can leave comments