View allAll Photos Tagged microcontroller

Die shot of Fujitsu MBL8742H that is Intel 8742 EPROM-microcontroller in MCS-48 series.

Displays the live A/D converter value at port A.

Microchip Technology's 32-bit PIC32 microcontrollers now operate from - 40°C to 105°C, enabling their use in a wide range of robust applications.

Five minute project: Chip Earrings.

 

Read more about this project here.

Russ connected an MCP4822 dual 12-bit digital-to-analog converter (DAC) to the fine Tektronix 2213A oscilloscope. A program (sketch) on the Arduino microcontroller drives the DAC and generates the image by steering the scope's CRT beam along the lines in the drawing (vector-scan). en.wikipedia.org/wiki/Vector_monitor

 

Russ has updated the software with some animation: www.youtube.com/watch?v=g0dRNZrtVjg

 

Photographed at the Bristol Hackspace: bristol.hackspace.org.uk/

 

This is our TinyG Stepper Controller Board. I tossed some code up on the xmega to test inputs from these "encoder ports" All I am doing is putting 3v onto each pin and it turns off the led that corresponds to the port.

 

===========CODE===============

#include

#include

#define F_CPU 32000000UL

#include

 

void Config32MHzClock(void);

   

int main(void)

{

int data;

Config32MHzClock();

 

CLK.PSCTRL = 0x00; // no division on peripheral clock

 

PORTCFG.CLKEVOUT = PORTCFG_CLKOUT_PE7_gc;

  

PORTA.DIR = (1 << 5);

PORTD.DIR = (1 << 5); //Sets Pin5 as an output

PORTD.DIR = (1 << 5);

PORTE.DIR = (1 << 5);

PORTF.DIR = (1 << 5);

  

//011 PULLUP Totempole Pull-up (on input) is what is set

//PORT A F D E 6 & 7 ENCODER PORTS

PORTA.PIN6CTRL = (0x30); //Sets Pullup on Input on pin 6

PORTA.PIN7CTRL = (0x30); //Sets Pullup on Input on pin 7

 

PORTF.PIN6CTRL = (0x30); //Sets Pullup on Input on pin 6

PORTF.PIN7CTRL = (0x30); //Sets Pullup on Input on pin 7

 

PORTD.PIN6CTRL = (0x30); //Sets Pullup on Input on pin 6

PORTD.PIN7CTRL = (0x30); //Sets Pullup on Input on pin 7

 

PORTE.PIN6CTRL = (0x30); //Sets Pullup on Input on pin 6

PORTE.PIN7CTRL = (0x30); //Sets Pullup on Input on pin 7

 

PORTA.OUT = (1<<5);

 

while(1){

if (PORTA.IN & (1<<6))

PORTA.OUT = (0x00);

 

else if (PORTD.IN & (1<<6))

PORTD.OUT = (0x00);

 

else if (PORTE.IN & (1<<6))

PORTE.OUT = (0x00);

 

else if (PORTF.IN & (1<<6))

PORTF.OUT = (0x00);

   

_delay_ms(10); //Cleans up the light coming back on

PORTA.OUT = (1 << 5);

PORTD.OUT = (1 << 5);

PORTE.OUT = (1 << 5);

PORTF.OUT = (1 << 5);

//_delay_ms(100);

//PORTA.OUT ^= PORTA.OUT;

//PORTD.OUT ^= PORTD.OUT;

//PORTE.OUT ^= PORTE.OUT;

//PORTF.OUT ^= PORTF.OUT;

//_delay_ms(100);

}

}

  

void Config32MHzClock(void)

{

CCP = CCP_IOREG_gc; //Security Signature to modify clock

// initialize clock source to be 32MHz internal oscillator (no PLL)

OSC.CTRL = OSC_RC32MEN_bm; // enable internal 32MHz oscillator

while(!(OSC.STATUS & OSC_RC32MRDY_bm)); // wait for oscillator ready

CCP = CCP_IOREG_gc; //Security Signature to modify clock

CLK.CTRL = 0x01; //select sysclock 32MHz osc

};

  

Dorkbot Bristol, December 2008: Drew operating the dropper on his high-speed photography rig. It's based on an Arduino and triggers the camera shutter and flash at precisely the right moment to capture the splash.

It's an alphanumeric persistence of vision display. This photo was taken by setting the camera on self-timer with a 2.5 s exposure. When the picture started going, I just walked through the frame at normal speed. Ha! I'm invisible.

 

Learn how to make it here.

An Atmel ATtiny24 microcontroller drives an R/C servo wich in turn rotates a line LASER taken from a LASER level.

The microcontroller runs a software real time clock and turns the servo and the line LASER to mimic the shadow cast from the style of a sundial as the time goes.

http://www.5volt.eu.

Microchip and Digilent's chipKIT(tm) Development Platform is the first 32-bit-microcontroller-based, open-source development platform that is compatible with Arduino™ hardware and software. More information is available at: www.digilentinc.com/chipkit.

The Rainbow Lighter V2.2 completed, it took several evenings to get it all put together. I grabbed an Altoids tin from my bits'n'pieces supply bag for the 9-volt battery holder.

 

There is a piece of 1mm black foam (neoprene) attached to the back of the circuit board. The Altoids tin attaches to the foam with a piece of velcro to hold it in place.

 

Thanks to El Endemoniau for inspiring me to create my own Cr@p Lighter.

 

My version is using tri-color (manually controlled) LEDs so each individual LED is three LEDs combined. Each one can be lit up to be red, green, or blue...the cool part being that you can then generate different colors using combinations of these three colors. For example, red & green = yellow, green & blue = cyan.

 

The next step is to develop software for the AVR microcontroller so I can display patterns and text. ;-)

One of the microcontroller boards from the Cybot mobile robot.

The four-member PIC24FJ256GB210 microcontroller family integrates USB for Embedded Host/Peripheral/On-the-Go and 96 Kbytes of RAM. This large RAM enables the buffering of sizeable amounts of data and better overall throughput, for applications such as Ethernet connectivity, remote sensing, data logging and audio streaming. It can also be used to store generated images or data for dynamic content, such as real-time, remote sensor data graphs. In combination with Microchip’s free USB software library and TCP/IP stack, these MCUs lower system costs and footprints in a broad range of industrial, instrumentation/measurement, medical and consumer applications. For additional information, visit: www.microchip.com/wwwproducts/Devices.aspx?dDocName=en547864

DCF-Empfangsmodul DCF1

Pollin Best.Nr.: 810054

 

Technische Daten:

- Betriebsspannung 1,2...3,5V

- Stromaufnahme < 90uA

- Empfangsfrequenz 77,5 kHz

USB Interface for SHARP PC-140x Series (sketch)

 

You will find more infos about this project on my blog:

manib.bplaced.net/blog/?p=874

Homemade Sprinkler or Universal Timer

For more details have a look at the project Website.

alan-parekh.com/projects/gear-clock/

Microchip's mTouch™ Projected Capacitive Development Kit (part # DM160211, $119.99) includes a 3.5” sensor mounted on a sensor board, a projected-capacitive board with the PIC16F707 MCU and fully functional firmware. The kit enables users to connect sensors to up to 24 channels, without modifying the firmware. The open source code supports sensors with up to 32 channels, and the kit includes a Graphical User Interface (GUI) tool that enables customers to easily adjust key parameters that are important to their design. The kit can be purchased today, at microchipDIRECT (http://www.microchip.com/get/746C).

Building a bulbdial clock. Read more about this project here.

Microchip Technology's AR1100 Analog Resistive Touch-Screen Controller With USB

Light bulb RGB mood light : remote control receiver detail. For more info :

www.5volt.eu/archives/10

All parts you'll need and where get it from.

Microchip's PIC12LF1840T48A is the first in a family of single-chip devices that integrate an eXtreme Low Power (XLP), 8-bit PIC® microcontroller with a sub-GHz RF transmitter. The PIC12LF1840T48A’s combination of features in a single, 14-pin TSSOP package makes it ideal for space-, power- and cost-constrained applications, such as remote keyless entry fobs for automobiles, garage doors and home security systems, as well as a broad range of other home and building automation systems. Additionally, the device is optimized to run Microchip’s royalty-free KEELOQ® advanced code-hopping technology, a proven security technology used worldwide by leading manufacturers. For more info visit: www.microchip.com/get/K4KF

Microchip's new 8-bit PIC® microcontrollers—the PIC16F527 and PIC16F570, which combine the ease-of-use of a PIC MCU with low-cost analog peripherals to create a well-integrated, cost-effective family suitable for a wide range of applications. Microchip's new 8-bit PIC® microcontrollers—the PIC16F527 and PIC16F570, which combine the ease-of-use of a PIC MCU with low-cost analog peripherals to create a well-integrated, cost-effective family suitable for a wide range of applications. With an on-chip dual Op Amp module, 8-bit ADC and two comparators, these MCUs are ideal for systems that require signal conditioning and amplification to interpret analog inputs. The PIC16F527 and PIC16F570 employ a small and highly efficient 8-bit architecture, and add several features to support ease of use and system robustness. For more info visit, www.microchip.com/get/9S4G

Final project for Creative Computing, group project. We created two game controllers and code that works though Arduino to create a soccer/pong type game on the computer. We incorporated sound bytes, LED's and push buttons to acknowledge when some one scores and to move the player across the screen.

  

Code,

part 1:

 

int button1 = 0;

int button2 = 0;

int button3 = 0;

int button4 = 0;

int button5 = 0;

int button6 = 0;

int button7 = 0;

int button8 = 0;

int button9 = 0;

int button10 = 0;

// buttons 3-10

int ledPower = 0;

int player1 = 0;

int player2 = 0;

 

int inByte;

 

void setup(){

Serial.begin(9600); // begin serial communication

// '9600' speed of our arduino

pinMode(button1, INPUT); //variable name of your button

pinMode(button2, INPUT);

pinMode(button3, INPUT);

pinMode(button4, INPUT);

pinMode(button5, INPUT);

pinMode(button6, INPUT);

pinMode(button7, INPUT);

pinMode(button8, INPUT);

pinMode(button9, INPUT);

pinMode(button10, INPUT);

// buttons 3-10

pinMode(ledPower, OUTPUT);

pinMode(player1, OUTPUT);

pinMode(player2, OUTPUT);

  

}//END SETUP

 

void loop(){

if (Serial.available() > 0){ // If data coming from the Serial port is greater than 0,

inByte = Serial.read(); // Then let the variable 'inbyte' hold that data.

 

//READING SENSOR DATA

button1 = digitalRead(0); //pin on the Arduino

button2 = digitalRead(1); // read button 2

button3 = digitalRead(2); // read button 3

button4 = digitalRead(3); // read button 4

button5 = digitalRead(4); // read button 5

button6 = digitalRead(5); // read button 6

button7 = digitalRead(6); // read button 7

button8 = digitalRead(7); // read button 8

button9 = digitalRead(8); // read button 9

button10 = digitalRead(9); // read button 10

// buttons 3-10

 

// send sensor values:

Serial.print(button1, DEC); // Sending the data as a whole, human readable number, either 1 or 0.

Serial.print(',', BYTE);

Serial.print(button2, DEC); // Sending the data as a whole, human readable number, either 1 or 0.

Serial.print(',', BYTE);

Serial.print(button3, DEC); // Byte = machine code for a comma, to note separation.

Serial.print(',', BYTE);

Serial.print(button4, DEC);

Serial.print(',', BYTE);

Serial.print(button5, DEC);

Serial.print(',', BYTE);

Serial.print(button6, DEC);

Serial.print(',', BYTE);

Serial.print(button7, DEC);

Serial.print(',', BYTE);

Serial.print(button8, DEC);

Serial.print(',', BYTE);

Serial.print(button9, DEC);

Serial.print(',', BYTE);

Serial.print(button10, DEC);

Serial.print(',', BYTE);

   

Serial.print('*', BYTE); // Send a '*' to denote the end of the data

}

}

  

Code,

part 2:

  

import processing.serial.*; // Open up the Processing Serial Library Instructions

Serial port; // Create a new Serial Port object.

boolean madeContact = false; // A variable to hold see if Processing/computer has connected with the Arduino microcontroller

 

int RedX = 160;

int RedY = 500;

 

int BlueX = 1140;

int BlueY = 500;

  

float x = 650;

float y = 500;

float speedx = -6;

float speedy = 8;

 

float rx=RedX-3;

float ry=RedY-25;

 

float rw=6;

float rh=50;

float bw=6;

float bh=50;

 

float bx=BlueX-3;

float by=BlueY-25;

 

// variables for buttons

int button1 = 0;

int button2 = 0;

int button3 = 0;

int button4 = 0;

int button5 = 0;

int button6 = 0;

int button7 = 0;

int button8 = 0;

int button9 = 0;

int button10 = 0;

  

void setup(){

size(1300,1000);

// List all the available serial ports, in array format.

// The fisrt port in the serial list on my macis usually my Arduino module, so I open Serial.list()[0].

println(Serial.list()); // prints out all available ports on your computer

port = new Serial(this, Serial.list()[0], 9600); // Chooses to connect with the first port listed

 

}

 

void draw(){

if (!madeContact){ // If I have made contact, 'madeContact' was assigned as 'false',

port.write(65); // Send ASCII code to Arduino asking to send more data.

}

 

background(0);

field();

 

playerRed();

playerBlue();

 

smooth();

noStroke();

fill(255);

ellipse(x,y,20,20);

x = x + speedx;

y = y + speedy;

   

if (x> 1240 || x 940 || y < 60) {

speedy = speedy*-1;

}

 

if (x == rx||x== ry|| x== rx-rw||x==ry-rh ){

speedx = speedx* -1;

}

 

if (x == bx||x== by|| x== bx-bw||x==by-bh ){

speedx = speedx* -1;

}

   

if (x =465 && y =1240 && y>=465 && y <=538){

fieldB();

 

noLoop ();

}

 

}

   

void keyPressed(){

 

if(key=='w'|key=='W'){

//fill(255,0,0);

//ellipse (RedX,RedY,50,50);

RedY=RedY-10;

ry=ry-10;

}

if(key=='a'|key=='A'){

//fill(255,0,0);

//ellipse (RedX,RedY,50,50);

RedX=RedX-10;

rx=rx-10;

}

if(key=='s'|key=='S'){

//fill(255,0,0);

//ellipse (RedX,RedY,50,50);

RedY=RedY+10;

ry=ry+10;

}

if(key=='d'|key=='D'){

//fill(255,0,0);

//ellipse (RedX,RedY,50,50);

RedX=RedX+10;

rx=rx+10;

}

if(key=='8'|key=='i'|key=='I'){

//fill(255,0,0);

//ellipse (BlueX,BlueY,50,50);

BlueY=BlueY-10;

by=by-10;

}

if(key=='4'|key=='j'|key=='J'){

//fill(255,0,0);

//ellipse (BlueX,BlueY,50,50);

BlueX=BlueX-10;

bx=bx-10;

}

if(key=='5'|key=='k'|key=='K'){

//fill(255,0,0);

//ellipse (BlueX,BlueY,50,50);

BlueY=BlueY+10;

by=by+10;

}

if(key=='6'|key=='l'|key=='L'){

//fill(255,0,0);

//ellipse (BlueX,BlueY,50,50);

BlueX=BlueX+10;

bx=bx+10;

}

}

 

void playerBlue(){

strokeWeight(4);

stroke(255);

fill(0,0,255);

ellipse(BlueX,BlueY,50,50);

noStroke();{

fill (255,255,255);

ellipse(BlueX,BlueY,25,25);

rect(bx,by,bw,bh);

 

}

}

 

void playerRed(){

strokeWeight(4);

stroke(255);

fill(255,0,0);

ellipse(RedX,RedY,50,50);

noStroke();{

fill (255,255,255);

ellipse(RedX,RedY,25,25);

rect(rx,ry,rw,rh);

 

}

}

 

void field(){

background(0,175,30);

smooth();

stroke(255);

strokeWeight(4);

noFill();

ellipse(160,500,180,180);

ellipse(1140,500,180,180); // right side

ellipse(650,500,180,180); //centre

 

fill(0,175,30);

rect(50,300,165,400);

rect(1085,300,165,400); // rigfht side

fill(255);

ellipse(160,500,10,10);

ellipse(650,500,10,10); //centre

ellipse(1140,500,10,10); // right side

noFill ();

rect(50,50,1200,900);

rect(50,300,165,400);

rect(50,410,55,183);

rect(26,465,24,73);

line(650,50,650,950);

//right side

rect(1195,410,55,183);

rect(1250,465,24,73);

 

arc(50,50,30,30,0, PI/2);

arc(50,950,30,30,TWO_PI-PI/2, TWO_PI);

arc(1250,950,30,30,PI, TWO_PI-PI/2);

arc(1250,50,30,30,PI/2, PI);

}

 

void fieldB(){

background(255,13,13);

smooth();

stroke(255);

strokeWeight(4);

noFill();

ellipse(160,500,180,180);

ellipse(1140,500,180,180); // right side

ellipse(650,500,180,180); //centre

 

fill(255,13,13);

rect(50,300,165,400);

rect(1085,300,165,400); // rigfht side

fill(255);

ellipse(160,500,10,10);

ellipse(650,500,10,10); //centre

ellipse(1140,500,10,10); // right side

noFill ();

rect(50,50,1200,900);

rect(50,300,165,400);

rect(50,410,55,183);

rect(26,465,24,73);

line(650,50,650,950);

//right side

rect(1195,410,55,183);

rect(1250,465,24,73);

 

arc(50,50,30,30,0, PI/2);

arc(50,950,30,30,TWO_PI-PI/2, TWO_PI);

arc(1250,950,30,30,PI, TWO_PI-PI/2);

arc(1250,50,30,30,PI/2, PI);

}

   

// -------------------------------------------------- VOID SERIAL EVENT !!

 

void serialEvent(Serial port){ // Function to read from the Serial Port

 

madeContact = true; // If Processing has made contact with Arduino, via USB cable

 

String input = port.readStringUntil('*'); // Read the data string until the bookmarker '*'.

 

if(input != null){ // If the data string is NOT empty, 'null' . . .

int sensors[] = int(splitTokens(input, ",*")); // Put them into an array called 'sensors' & separate the data by commas

// with the "*' marker at the end to note the end of the incoming data

 

// The number here changes according to how many INPUT sensors you have connected to the Arduino.

if (sensors.length == 10){ // If the number of sensors is equal to 2

button1 = sensors[0]; // Associate the leftButton to the 1st index of the 'sensor' array.

button2 = sensors[1]; // Associate the rightButton to the 2nd index of the 'sensor' array.

button3 = sensors[2];

button4 = sensors[3];

button5 = sensors[4];

button6 = sensors[5];

button7 = sensors[6];

button8 = sensors[7];

button9 = sensors[8];

button10 = sensors[9];

//button3-10

 

print("Button1: " + button1 + "\t Button2: " + button2 + "\t Button3: " + button3 + "\t Button4: " + button4 + "\t Button5: " + button5 + "\t Button6: " + button6 + "\t Button7: " + button7 + "\t Button8: " + button8 + "\t Button9: " + button9 + "\t Button10: " + button10); // A print statement for your sensors

println(input);

port.write(65); // Send the ASCII code to request more data,

// To start the process all over again.

}

}

}

    

`This is a die photograph of the Chipcon CC1110, an 8051 microcontroller combined with a sub-GHz radio.

Have you ever thought that most of our perception about the robot is based on the Hollywood movie! The well-known 3CPO and R2D2 from Star Wars until the little cute garbage compacting robot named WALL-E; all of these machines are example of our dreams or should I say our quest to what we all think about the robot should be. Although the robot that we are going to build here is still far away from the technologies shown on those movies but at least it will give you an introductory to the robotics world. for more information please visit www.ermicro.com/blog/?p=983

  

A Universal Direct Conversion Receiver For PSK-31

by John E. Post

Exclusive Online Article: Decode and read text message communications being sent over shortwave amateur radio frequencies. Page 0

 

Radio Locator Beacon For Flying Objects

by Dan Gravatt

Exclusive Online Article: The locator beacon weighs about an ounce with its 12-volt A23 alkaline battery, and could be made lighter with the use of surface-mount parts. It’s also simple and inexpensive, so you can afford to build another one if necessary. Page 0

 

Analog Mathematics

by Gerard Fonte

Even in the midst of the digital revolution, there's still a place for analog mathematics to streamline your designs. Page 54

Projects

 

Build the rCube: A Talking Memo Alarm Clock

Electronic Gadgets

by Dave Decker

This unique talking clock and MP3 speaker can record voice memos or your favorite song for your alarm, plus it's an interactive nightlight too! Page 40

 

How to Parallel Power Supplies for Higher Output

Electronic Gadgets

by Fernando Garcia

Assemble this power supply for higher performance from your class-D amplifier. Page 48

Columns

 

Techknowledgey

by Jeff Eckert

TechKnowledgey 2009

Topics covered include super charged lithium-ions, fuel cell buses, viewing Mars, plus other cool stuff. Page 12

 

Personal Robotics

The Saga of a Sonar Station

Follow the unique build experience of an interactive kiosk. Page 16

 

Getting Started With PICS

by Chuck Hellebuyck

Counting Pulses with Timer 0

Keep track of your distance traveled on the golf coarse with this counting application. Page 26

 

Q&A

by Russell Kincaid

Q&A

Analog tachometer, calulated inductance, soft start AC circuits, plus more. Page 32

 

Smiley’s Workshop

by Joe Pardue

Smiley’s Workshop: An AVR C Programming Series (Part 10)

Moving Beyond Arduino. Learn how to convert Arduino programs into regular C programs. Page 62

 

Stamp Applications

by Jon Williams

Spinning Up Embedded Control Projects

Get in touch with your Propeller side. Page 68

 

The Design Cycle

by Fred Eady

And Now, A Riff From Jeff Beck

Designing a wireless guitar. Page 74

 

Near Space

by L. Paul Verhage

Your Own Micro Datalogger

Build a bigger and more powerful flight computer. Page 80

Departments

 

Developing Perspectives

by Bryan Bergeron

Please visit our Developing Perspectives blog to read the full article and comment. Page 8

 

These are the Images of My GSM based robotic project that I created in Dec. 2013.

Microchip Technology's low-cost, stand-alone MCP794XX Real-Time Clock/Calendar (RTCC) devices feature EEPROM & SRAM, unique ID, digital trimming and battery switchover for $0.70 each, in 10k-unit quantities.

 

testing the microcontroller

Microchip Technology's PIC32 “MX1” and “MX2” MCUs are the smallest and lowest-cost PIC32 microcontrollers, and are the first PIC32s to feature dedicated audio and capacitive-sensing peripherals.

A Kraftwerk-inspired LED tie. Read more about this project here.

Picture of a small microcontroller lid with a diffused overhead light source in order to get the black paper background darker I went it and then use a polarizing filter to remove the shine left by the polarized reflection of the water

Well...

Fire up your iron...

For more details have a look at the project Website.

alan-parekh.com/projects/gear-clock/

As the electronics hobbyist one of knowledge that we have to be familiar with is how to make our own printed circuit board (PCB). Making our own simple single side PCB actually is not require a sophisticated technique and technology as you might think, instead most of the required materials is already available at your home. For more information please visit www.ermicro.com/blog/?p=1526

1 2 ••• 15 16 18 20 21 ••• 79 80