F
 
      
      The assignment for this week is to design and build a wired &/or wireless network connecting at least two nodes For this week's , I desired to building a wired serial network using redesigned hello.bridge board and two hello.node boards
In this week I decided to build a wired serial network. I start  to study about serial communication  
      Serial communication is the process of sending data one bit at a time, sequentially, over a communication channel or computer bus. This is in contrast to parallel communication, where several bits are sent as a whole, on a link with several parallel channels. 
                          
      Then I start to design  one bridge and two node boards  
 
      
First I Download all the necessary files including the C file, the makefile, hello.bus.45.bridge (board) & the hello.bus.45.node (board . then i start to design modified version of the downloaded board
 First I start to design Bus bridge
      . I used Eagle CAD to create a modified version of the ATtiny45 based hello.bus.45.bridge.cad design and added an extra  LED to board .
      
 
        
         
      
Schematic for bus.45.bridge
       
      
 
         
        Board layout for bus.45.bridge
        
        
        Download designed eagle files of bus bridge from  here 
         Download bus.bridge.45.sz.with2leds.c - AVR C program  
       
       
       Bus node #1
 
       
Then I desired to create a modified version of the ATtiny45 based hello.bus.45.node.cad design by adding  a second LED
      
      Schematic for bus.45.node 
      
      
      Board layout for bus.45.node
      
        Download designed eagle files of bus node#1 from  here 
         
         Downloadbus.node.45.sz.with2leds.pb.c - AVR C program
       
       
          
         
        
 
        Bus node #2
        
          I decided to design a version of the bus node with two LEDs, a pushbutton, and a photo-transistor . For this bus node I  using an ATtiny44 micro controller  so that I could add additional input and output features. 
          
 
       
      
Schematic for bus.44.node 
       
      
 
      
 Board layout for bus.44.node
        
        Download designed eagle files of bus node#2 from  here 
         
         Download bus.node.44.sz.with2leds.c - AVR C program
       
           
 
 
    
        
        
        
        
         
          
 
        Milling and staffing the board:
         
 
After I finished milling one bridge and two nodes I solder the components on the boards
       
        
           
 
        Modifying the C code
 
         1 . modify " hello.bus.45.c " code for each node in the network 
 
           In my network i have two nodes  and one bridge ( the bridge board with FTDI  is       technically a “node”  )
         2 . In  network need different  node id for each node 
            In my net work I set the id " 0 " for bridge , id " 1 " for node #1  and id " 2 " for node #2 in “hello.bus.45.c”
            In  the  C code make change on the line 
            #define node_id '0'
        
             Save the file 
            Next modify the C code again and change node id to 1
           ,then save 
           Finely modify the c code , change node id to 2
          
            Download modify the C code for bridge  from  here 
             
            Download modify the C code for node 1 from  here
            
            Download modify the C code for node 2  from  here 
        
        Programing the boards
  
        To generate .hex file and programing , i just follow these steps.
  
        open a terminal and navigate to where the code is downloaded too. Then run the following commands:
 
      1.) avr-gcc -g -Os -mmcu=
      Tthis produces an object file called flash.o which then needs to be linked using
      2.) avr-gcc -g -mmcu=
      this has now produced a binary file called flash.elf, which is a GNU executable file. we gotta mess with it a bit more and grab some bits out of it to make the hex file
      
      3.) avr-objcopy -j .text -j .data -O ihex file_name.elf file_name.hex
       
       In the folder you wull get your .hex file
       Now programing to ic using avr-dude , follow these step
       4)sudo avrdude -p 
        Setup the network  
 
        After programing all the nodes I put them on the network using bus cable .  FTDI cable connected to bridge 
        
        
           
  
        
       
       For communicating with nodes first I use term.py  ,The program term.py worked but all three nodes just sat there doing nothing 
        Then I try with Arduino IDE.I opened the serial port in Arduino , making sure the correct FTDI port is selected,  and set the rate to 9600 then I entered the ID No..  
        
       
      
 
      Problems Faced:
 
 
 
 
 
No values are transmitting or receiving from the boards to the serial monitor. I solve this problem  by setting correct bit rate on serial monitor