<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.microrusty.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Adding_Console_Port_using_RS232</id>
	<title>Adding Console Port using RS232 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.microrusty.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Adding_Console_Port_using_RS232"/>
	<link rel="alternate" type="text/html" href="http://www.microrusty.com/mediawiki/index.php?title=Adding_Console_Port_using_RS232&amp;action=history"/>
	<updated>2026-04-23T20:53:54Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://www.microrusty.com/mediawiki/index.php?title=Adding_Console_Port_using_RS232&amp;diff=42&amp;oldid=prev</id>
		<title>U731219879 rc: Created page with &quot;ATmega328P Target Board Lesson 3 &lt;br&gt; This Project we will setup ATmega328P Target Bd at 16 MHz and Flash the DHT11_AVRdude program to chip.&lt;br&gt; The program will turn on a red...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.microrusty.com/mediawiki/index.php?title=Adding_Console_Port_using_RS232&amp;diff=42&amp;oldid=prev"/>
		<updated>2019-03-23T03:55:37Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;ATmega328P Target Board Lesson 3 &amp;lt;br&amp;gt; This Project we will setup ATmega328P Target Bd at 16 MHz and Flash the DHT11_AVRdude program to chip.&amp;lt;br&amp;gt; The program will turn on a red...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;ATmega328P Target Board Lesson 3 &amp;lt;br&amp;gt;&lt;br /&gt;
This Project we will setup ATmega328P Target Bd at 16 MHz and Flash the DHT11_AVRdude program to chip.&amp;lt;br&amp;gt;&lt;br /&gt;
The program will turn on a red LED and then read a DHT11 Temp and humidity sensor. The program will process the data and send it out the RS232 port on the ATmega328P bd.Learn how to use &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Prerequisites&amp;#039;&amp;#039;&amp;#039;: Know how to use &amp;#039;&amp;#039;&amp;#039;AVRdude&amp;#039;&amp;#039;&amp;#039; with a &amp;#039;&amp;#039;&amp;#039;USB programmer&amp;#039;&amp;#039;&amp;#039;. (usbtiny, usbasp, etc.....)&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;avrdude -p m328p -c usbtiny -v&amp;#039;&amp;#039;&amp;#039; | &amp;#039;&amp;#039;&amp;#039;avrdude -p m328p -c usbasp -P usb -v&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;The Arduino IDE&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Putty&amp;#039;&amp;#039;&amp;#039; already installed. (any other serial program can be used)&lt;br /&gt;
&lt;br /&gt;
* Connect &amp;#039;&amp;#039;&amp;#039;USBtiny&amp;#039;&amp;#039;&amp;#039; to &amp;#039;&amp;#039;&amp;#039;ATmega328P Target Board&amp;#039;&amp;#039;&amp;#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
* Test the connection to programmer:  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;avrdude -p m328p -c usbtiny -v&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt;&lt;br /&gt;
* Set Clock Fuse to 16 MHz &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;avrdude -p m328p -c usbtiny -v -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFF:m&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Connecting the DHT11 Temperature and Humidity Sensor&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Connect &amp;#039;&amp;#039;&amp;#039;DHT11&amp;#039;&amp;#039;&amp;#039; data pin to D2 on the &amp;#039;&amp;#039;&amp;#039;ATmega328P Target bd&amp;#039;&amp;#039;&amp;#039;. Pull up 4.7K resistor is optional for this project. &amp;lt;br&amp;gt;&lt;br /&gt;
* Connect +5 and Ground to the appropriate &amp;#039;&amp;#039;&amp;#039;DHT11&amp;#039;&amp;#039;&amp;#039; pins.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Completed_Breadbd_DHT_OLED.PNG |500px ]][[File:RS232Pins.PNG |212px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Connecting RS232 for the project&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Connect &amp;#039;&amp;#039;&amp;#039;PL2303TA USB to TTL Serial Cable&amp;#039;&amp;#039;&amp;#039; Tx Green wire to the RX pin and the Rx White wire to TX pin on the &amp;#039;&amp;#039;&amp;#039;ATmega328P Target bd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* Don&amp;#039;t forget to connect the Black wire to ground pin. Do not connect the Red wire to +5.&amp;lt;br&amp;gt; &lt;br /&gt;
* Use Device Manager to find out the comm port. This will be used later in the project&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Open &amp;#039;&amp;#039;&amp;#039;Arduino IDE&amp;#039;&amp;#039;&amp;#039; and change the following settings: Under the &amp;#039;&amp;#039;&amp;#039;Tools&amp;#039;&amp;#039;&amp;#039; tab &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Board:&amp;#039;&amp;#039;&amp;#039; =&amp;#039;&amp;#039;&amp;#039;&amp;quot;Arduino/Genunio Uno&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Programmer:&amp;#039;&amp;#039;&amp;#039; = &amp;#039;&amp;#039;&amp;#039;&amp;quot;USBtiny or USBasp&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Comm Port = Device manager assigned Port number&amp;#039;&amp;#039;&amp;#039; (optional step)&lt;br /&gt;
&lt;br /&gt;
 [[File:Library manager1.PNG |600px ]]&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;Add DHT.h Library&amp;#039;&amp;#039;&amp;#039; using Arduino Library Manager&lt;br /&gt;
* Copy-Paste/Load &amp;#039;&amp;#039;&amp;#039;RS232ATmega328P.ino&amp;#039;&amp;#039;&amp;#039; Arduino file. Flash the Program to the &amp;#039;&amp;#039;&amp;#039;ATmega328P Target Board&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 /*RS232ATmega328P.ino&lt;br /&gt;
 Program has the following functions:&lt;br /&gt;
 Reads a DHT11 Temperature and Humidity sensor on Digital Pin 2,&lt;br /&gt;
 Display the values out the RS232 port using Pins D0 and D1. Baud 9600 &lt;br /&gt;
 Any temperature reading over 82 degrees will enable a negative output on digital pin 3&lt;br /&gt;
 that will activate the relay.&lt;br /&gt;
 Written by Rusty Cain Nov 4 2018. &lt;br /&gt;
 This program is a simple example. Any suggestions for improvements are greatly appreciated.&lt;br /&gt;
 Please use and modify as appropriate.  */&lt;br /&gt;
 #include &amp;quot;DHT.h&amp;quot;                             // DHT library&lt;br /&gt;
 #define DHTTYPE DHT11                        // DHT 11&lt;br /&gt;
 #define DHTPIN 2                             // what digital pin we&amp;#039;re connected to&lt;br /&gt;
 DHT dht(DHTPIN, DHTTYPE);&lt;br /&gt;
 float t;                                      // Variable for temperature &lt;br /&gt;
 float h;                                      // Variable for Humidity &lt;br /&gt;
 int FanOn = 1;                                // 1 = FanOn - 0 = Fan Off&lt;br /&gt;
 void setup(void) {&lt;br /&gt;
    pinMode(3, OUTPUT);                       // Set up FanOn Pin&lt;br /&gt;
    Serial.begin(9600);                       // Start commuication with serial console   &lt;br /&gt;
    FanOn = 0;                                // Fan Status 1 = On | 0 = Off&lt;br /&gt;
    Serial.println(&amp;quot;Startup Please wait &amp;quot;);   // Print Start Banner&lt;br /&gt;
    Serial.println(&amp;quot; &amp;quot;);                      // Print Line space&lt;br /&gt;
    }&lt;br /&gt;
 void loop(void)  {&lt;br /&gt;
    FanOn = 0;                                // Fan Status = Off&lt;br /&gt;
    Serial.println(&amp;quot; &amp;quot;);                      // Print Line space&lt;br /&gt;
    Serial.println(&amp;quot;DMS Nov 2018 Workshop &amp;quot;); // Print Start Banner&lt;br /&gt;
    Serial.println(&amp;quot;Using RS232 ATmega328P&amp;quot;); // Print Start Banner    &lt;br /&gt;
    Serial.println(&amp;quot;Reading the DHT Sensor&amp;quot;); // Print Status Bannerto console port&lt;br /&gt;
    delay (1000);                             // Give Sensor time to read (min - 2sec)&lt;br /&gt;
    h = read_hum();                           // Read Humidity Sensor  &lt;br /&gt;
    t = read_temp();                          // Read Temperature Sensor  &lt;br /&gt;
      if ( t &amp;gt; 82.00 )                        // Check temperature value if over the limit turn on Fan&lt;br /&gt;
      {&lt;br /&gt;
        FanOn = 1;                            // Set Fan Status On = 1. &lt;br /&gt;
        TurnFanOnFunction();                  // Call Function to turn on Fan&lt;br /&gt;
      }&lt;br /&gt;
    if ( t &amp;lt; 82.00 )                          // Check temperature value if under the limit turn Fan off &lt;br /&gt;
      {&lt;br /&gt;
        FanOn = 0;                            // Set Fan Status = Off&lt;br /&gt;
        TurnFanOnFunction();                  // Call Function to turn off Fan&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
 float read_temp() {&lt;br /&gt;
    float temp = dht.readTemperature(DHTPIN); // Read apin on DHT11&lt;br /&gt;
    Serial.print(&amp;quot;Temp = &amp;quot;);                  // Send Value to console port&lt;br /&gt;
    Serial.print(temp);                       // Send Value to console port &lt;br /&gt;
    Serial.println(&amp;quot; F &amp;quot;);                    // Send Value to console port&lt;br /&gt;
    return temp;                              // Return Value for evaluation  &lt;br /&gt;
  }&lt;br /&gt;
 float read_hum() {&lt;br /&gt;
    float hum = dht.readHumidity(DHTPIN);     // Read apin on DHT11&lt;br /&gt;
    Serial.print(&amp;quot;Humidity = &amp;quot;);              // Send Value to console port&lt;br /&gt;
    Serial.print(hum);                        // Send Value to console port &lt;br /&gt;
    Serial.println(&amp;quot;% &amp;quot;);                     // Send Value to console port &lt;br /&gt;
    return hum;                               // Return Value for evaluation&lt;br /&gt;
  }&lt;br /&gt;
 int TurnFanOnFunction()&lt;br /&gt;
  {&lt;br /&gt;
  if( FanOn == 0 ) &lt;br /&gt;
  {&lt;br /&gt;
   digitalWrite(3, HIGH);                     // Turn Fan On&lt;br /&gt;
   Serial.println(&amp;quot;DHTxx Fan is Off! &amp;quot;);      // Send Status of Fan to console port &lt;br /&gt;
   Serial.print(&amp;quot;FanOn Value = &amp;quot;);            // Send Value of FanOn to console port&lt;br /&gt;
   Serial.println(FanOn);                     // Send Status of Fan to console port &lt;br /&gt;
   FanOn = 0;&lt;br /&gt;
  }&lt;br /&gt;
  if( FanOn == 1 )                            // FanOn =1 Fan be activated&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(3, LOW);                     // Turn Fan On&lt;br /&gt;
    Serial.println(&amp;quot;DHTxx Fan is On! &amp;quot;);      // Send Status of Fan to console port &lt;br /&gt;
    Serial.print(&amp;quot;FanOn Value = &amp;quot;);           // Send Value of FanOn to console port&lt;br /&gt;
    Serial.println(FanOn);                    // Send Value of FanOn to console port &lt;br /&gt;
    delay (1);&lt;br /&gt;
  }&lt;br /&gt;
    return (0); &lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Accessing your RS232 Comm Port&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Using the &amp;#039;&amp;#039;&amp;#039;PL2303TA USB to TTL Serial Cable&amp;#039;&amp;#039;&amp;#039; Open the Comm Port using Putty.&amp;lt;br&amp;gt;&lt;br /&gt;
Use the port number assigned by the Device Managerand set the baud rate to 9600.&lt;br /&gt;
&lt;br /&gt;
You should now be able to see the output from the Target Board&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==[[ AVRDUDE Class]]==&lt;/div&gt;</summary>
		<author><name>U731219879 rc</name></author>
		
	</entry>
</feed>