Facebook
From Huy, 1 Month ago, written in Python.
Embed
Download Paste or View Raw
Hits: 154
  1. NUM_MAPS =[[1, 1, 1, 1, 1, 1, 0], #0
  2.  [0, 1, 1, 0, 0, 0, 0], #1
  3.  [1, 1, 0, 1, 1, 0, 1], #2
  4.  [1, 1, 1, 1, 0, 0, 1], #3
  5.  [0, 1, 1, 0, 0, 1, 1], #4
  6.  [1, 0, 1, 1, 0, 1, 1], #5
  7.  [1, 0, 1, 1, 1, 1, 1], #6
  8.  [1, 1, 1, 0, 0, 0, 0], #7
  9.  [1, 1, 1, 1, 1, 1, 1], #8
  10.  [1, 1, 1, 1, 0, 1, 1]] #9
  11. SEGMENT_PINS = [2,3,4,17,27,22,10]
  12. import RPi.GPIO as GPIO
  13. import time
  14. GPIO.setmode(GPIO.BCM)
  15. GPIO.setup(SEGMENT_PINS,GPIO.OUT)
  16. def displayDigit(digit):
  17.  if((digit < 0) or (digit > 9)):
  18.  return
  19.  for i in range(7):
  20.  GPIO.output(SEGMENT_PINS[i],NUM_MAPS[digit][i]
  21. )
  22.  time.sleep(0.0005)
  23.  GPIO.output(SEGMENT_PINS[i],GPIO.LOW)
  24. num = 0;
  25. counter = 0;
  26. while (1):
  27.  display4Digit(num);
  28.  counter += 1
  29.  if(counter == 200):
  30.  counter = 0
  31.  num += 1
  32.  if(num > 9):
  33.  num = 0;
  34.  
  35.  
  36. import RPi.GPIO as GPIO
  37. import time
  38. KEY_MAPS = [[ '1', '2', '3', '4'],
  39.  [ '5', '6', '7', '8'],
  40.  [ '9','10','11','12'],
  41.  ['13','14','15','16']];
  42. COL_PINS = [0,1,2,3];
  43. ROW_PINS = [4,5,6,7];
  44. GPIO.setmode(GPIO.BCM)
  45. GPIO.setup(COL_PINS,GPIO.OUT)
  46. GPIO.setup(ROW_PINS,GPIO.IN)
  47. def getKey():
  48.  key = '\0';
  49.  for i in range(4):
  50.  GPIO.output(COL_PINS[i],GPIO.HIGH)
  51.  for j in range(4):
  52.  if(GPIO.input(ROW_PINS[j]) == 1):
  53.  key = KEY_MAPS[j][i];
  54.  time.sleep(0.250);
  55.  GPIO.output(COL_PINS[i],GPIO.LOW)
  56.  return key;
  57. while(1):
  58.  key = getKey()