User Tools

Site Tools


digispark:tutorials:probetashield

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

digispark:tutorials:probetashield [2014/06/24 18:47]
digistump
digispark:tutorials:probetashield [2016/06/09 12:03]
Line 1: Line 1:
- ​====== Digispark Pro Beta Shield Assembly====== 
- 
-Parts included: 
-   * One 33k resistor 
-   * Two 10k resistors 
-   * One Light Dependent Resistor (LDR) 
-   * One 8x8 Red LED Matrix - Common Cathode 
-   * One 10uf Capacitor 
-   * One 0.1uf Capacitor 
-   * One 24 Pin DIP Socket 
-   * One MAX7219 LED Driver IC 
-   * One PS2 style joystick 
-   * One joystick cap 
-   * One Beta Shield PCB 
- 
-Assembly: 
- 
-Read all of the steps before assembling so that you know what to expect. 
- 
- 
-Note: The current steps instruct you to solder two 9 pin male headers after soldering the 8x8 LED Matrix. However, in practice you may find that this does not leave much room for the soldering tip to reach the header pins.  It may work better to solder the header pins before soldering the 8x8 LED Matrix.  ​ 
- 
-Try place the parts onto the board and see what order gives you the better clearance for attaching all the components. 
- 
- 
-Insert resistors as labeled - solder connection on the bottom. Trim excess leads. 
- 
-Insert LDR in oval spot next to 10 k resistors. Solder connection on bottom. Trim excess leads. 
- 
-Insert joystick into position - solder connections on bottom. It only fits one way. 
- 
-Insert DIP socket and solder connection on bottom. 
- 
-Insert two 9 pin male headers from the bottom of the PCB and solder on the top - plug Digispark Pro with female headers into the bottom. 
- 
-Insert capacitors as labeled - solder connection on the bottom. Trim excess leads. 
- 
-Insert 8x8 LED Matrix with the black writing on the edge of the Matrix facing downward to the bottom edge of the board - NOT facing the capacitors. Solder connections. 
- 
-Insert MAX7219 into socket - with the key facing the right edge of the board - not facing the capacitors. 
- 
-Snap joystick cap on to joystick. 
- 
- 
-Use the LED control library to control the LED Matrix (included with the IDE addons) - use the following init string for proper pin settings: 
-<​code>​ 
-/* 
- pin 10 is connected to the DataIn ​ 
- pin 11 is connected to the CLK  
- pin 12 is connected to LOAD  
- We have only a single MAX72XX. 
- */ 
-LedControl lc=LedControl(10,​11,​12,​1);​ 
-</​code>​ 
- 
-The joystick is an X and Y potentiometer which shows a voltage on A5 and A8 
- 
-The push button pulls Pin 1 low. 
- 
-The LDR reports a voltage on A9 based on the light level. 
- 
-The pins are written on the board itself for reference as well. 
- 
-Assembled photo: 
- 
-{{ :​digispark:​tutorials:​6ef3983ff188369f9adc97bfb5326c4e_large.jpg?​nolink |}} 
- 
-Here's [[https://​gist.github.com/​netguy204/​7c336bbdbe50113b2abc|a sketch that uses all of the inputs and outputs on the board]]: 
- 
-<​code>​ 
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) 
-#include <​LedControl.h>​ 
-  
-#define JOYX A5 
-#define JOYY A8 
-#define BUTTON 1 
-#define LIGHT A9 
-  
-LedControl lc = LedControl(10,​11,​12,​1);​ 
-  
-void setup() { 
-  lc.shutdown(0,​ false); 
-  lc.setIntensity(0,​ 8); 
-  lc.clearDisplay(0);​ 
-  ​ 
-  pinMode(JOYX,​ INPUT); 
-  pinMode(JOYY,​ INPUT); 
-  pinMode(BUTTON,​ INPUT); 
-  pinMode(LIGHT,​ INPUT); 
-} 
-  
-void loop() { 
-  lc.setIntensity(0,​ map(analogRead(LIGHT),​ 0, 1024, 0, 15)); 
-  lc.clearDisplay(0);​ 
-  if(!digitalRead(BUTTON)) { 
-    for(int x = 0; x < 8; x++) { 
-      for(int y = 0; y < 8; y++) { 
-        lc.setLed(0,​ x, y, true); 
-      } 
-    } 
-    delay(10); 
-    return; 
-  } 
-  ​ 
-  long xint = analogRead(JOYX);​ 
-  long yint = analogRead(JOYY);​ 
-  ​ 
-  long x = map(xint, 0, 1023, 15, 0); 
-  long y = map(yint, 0, 1023, 15, 0); 
-  ​ 
-  if(x % 2 == 1) { 
-    lc.setLed(0,​ (x / 2) + 1, y/2, true); 
-  } 
-  if(y % 2 == 1) { 
-    lc.setLed(0,​ x/2, (y / 2) + 1, true); 
-  } 
-  if(x % 2 == 1 && y % 2 == 1) { 
-    lc.setLed(0,​ (x / 2) + 1, (y / 2) + 1, true); 
-  } 
-  ​ 
-  lc.setLed(0,​ x/2, y/2, true); 
-  delay(10); 
-} 
-</​code>​ 
- 
  
digispark/tutorials/probetashield.txt · Last modified: 2016/06/09 12:03 (external edit)