Updated 24 September 2020

Kits and Gadgets Electronics Inc.
Farwaniya, Kuwait 80003
Kuwait

ph: +965 99571844

kits@kits-gadgets.com

  • Electronic Kits
  • Parts on Sale
  • Parts in StockClick to open the Parts in Stock menu
    • Resistor
    • Potentiometer
    • Capacitor
    • Trimmer Capacitor
    • Transistor
    • Crystal
    • Diode
    • LED
    • Diac
    • Thyristor
    • IC Socket
    • IC - Logic
    • IC - Linear
    • IC - Op-Amp
    • IC - VLSI
    • Relay
    • Motor
    • Lamp
    • Transducer
    • Gear
    • Switch
    • Heatsink
    • Parts Store Inventory
  • Brand New Items
  • Used Items
  • Power Supply
  • Raspberry Pi VaultClick to open the Raspberry Pi Vault menu
    • Demonstration Kit
    • Demonstration Kit - R3
    • The P1 Header Guide
    • BBC BASIC Tutorials
    • Activating the GPIO
    • LED Program
    • Motor Program
    • Solenoid Program
    • Stepper Motor
    • 8 Relay Program
    • GPIO as Input
    • Motors and Sensors Connection Diagram
    • Autonomous Program
    • Infrared Sensor
    • Ultrasonic Sensor
    • Camera Controller
    • PWM Program
    • Robotic Arm
    • STRYDER Robot
    • Demo Kit Program
  • Arduino VaultClick to open the Arduino Vault menu
    • Stepper Motor w/ LED
    • DCMotor
  • NodeMCU ProjectsClick to open the NodeMCU Projects menu
    • Running 8 LEDs
    • 8 LEDs and ULN2803
    • 8 LED Active Modes
    • ON-OFF Switch
    • Switch, Relay and LEDs
    • Motor Drive Interface
    • Connecting to Wi-Fi
    • IR Sensor
  • More GPIOsClick to open the More GPIOs menu
    • Accessing the P5 GPIOs
  • Prototypes
  • Computer Parts
  • Picture GalleryClick to open the Picture Gallery menu
    • Other Prototypes
    • Revived HP Laptop
    • Dismantled Helicopter
    • Dismantled Phone
    • ACER Laptop Repair
    • Revived Laptop
    • Inside of Electric Drill
    • Video Cam Automation
    • My Tours and Travels
  • My Original DesignClick to open the My Original Design menu
    • Handycam Automation
    • Autonomous Robot
  • What's New!Click to open the What's New! menu
    • Article-1
    • Article-2
    • Article-3
    • Article-4
    • Article-5
    • Article-6
    • Article-7
    • Article-8
    • Article-9
    • Article-10
    • Article-11
    • Article-12
    • Article-13
    • Article-14
    • Article-15
    • Article-16
    • Article-17
    • Article-18
    • Article-19
    • Article-20
    • Article-21
    • Article-22
    • Article-23
    • Article-24
    • Article-25
    • Article-26
    • Article-27
    • Article-28
    • Article-29
    • Article-30
    • Article-31
  • Forum
  • Video GalleryClick to open the Video Gallery menu
    • IR Proximity Sensor
    • Robot Vacuum Cleaner
    • Robotic Arm - RPi
    • Raspberry Pi Demo Kit
  • About Us
  • Contact Us

Demo Kit Program

THE PROGRAM FOR ABOVE DEMONSTRATION KIT

  

    1 MODE 20: GCOL 3
    2 COLOUR 26: PRINT TAB(1,10); "Press Key to activate:"
    3 COLOUR 7: PRINT TAB(1,14); "S= RESTART TEST"
    4 PRINT TAB(1,16); "H= ACTIVATE SOLENOID"
    5 PRINT TAB(1,18); "F & ->= ACTIVATE MOTOR"
    6 PRINT TAB(1,20); "L= RUN LED LEFT"
    7 PRINT TAB(1,22); "R= RUN LED RIGHT"
    8 PRINT TAB(1,24); "1-8= INDIVIDUAL LED"
    9 PRINT TAB(1,26); "O= TO SWITCH 'OFF' LEDs"
   10 PRINT TAB(1,28); "SPACEBAR= TO DEACTIVATE MOTOR OR SOLENOID"
   11 PRINT TAB(1,30); "A= TO INCREASE MOTOR SPEED"
   12 PRINT TAB(1,32); "Z= TO DECREASE MOTOR SPEED"
   14 PRINT TAB(1,34); "W= TO OUTPUT PWM SIGNAL ON GPIO 18"
   20
   30 COLOUR 18: PRINT TAB(1,1); "Raspberry Pi Demonstration Kit"
   40
   50 COLOUR 12: PRINT TAB(36,1); "BUILT & PROGRAMMED BY: Rolly Estomaguio"
   60
   70 REM Programmed on: 12 May 2014
   80
   90 COLOUR 31: PRINT TAB(42,3); "http://www.kits-gadgets.com"
  100
  110 ON ERROR PRINT REPORT$;" at line ";ERL:END
  120 PROCinit
  130 COLOUR 10: PRINT TAB(1,50); "Press Escape to finish": OFF
  140
  150   FOR Loop% = 1 TO 4
  160
  170   FOR J% = 0 TO 8
  180  
  185  FOR Loop% = 1 TO 4
  190  SYS "GPIO_WriteData",A%(J%),1
  200
  210   NEXT
  220
  230   TIME=0:REPEAT UNTIL TIME > 50
  240
  250   FOR J% = 0 TO 8
  260
  270     SYS "GPIO_WriteData",A%(J%),0
  280
  290   NEXT
  300
  310   TIME=0: REPEAT UNTIL TIME >30
  320
  330 NEXT
  340
  350 FOR I%=1 TO 4
  360
  370   FOR J%= 0 TO 8
  380
  390     SYS "GPIO_WriteData",A%(J%),1
  400
  410     TIME=0:REPEAT UNTIL TIME>5
  420
  430     SYS"GPIO_WriteData",A%(J%),0
  440
  450   NEXT
  460 NEXT
  470   FOR J%= 8 TO 0 STEP-1
  480
  490     SYS "GPIO_WriteData",A%(J%),1
  500
  510     TIME=0:REPEAT UNTIL TIME>5
  520
  530    SYS"GPIO_WriteData",A%(J%),0
  540
  550   NEXT
  560
  570
  580
  590 FOR I%=1 TO 4
  600
  610   FOR J%= 0 TO 8
  620
  630     SYS "GPIO_WriteData",A%(J%),1
  640
  650     TIME=0:REPEAT UNTIL TIME>1
  660
  670     SYS"GPIO_WriteData",A%(J%),0
  680
  690   NEXT
  700
  710 NEXT
  720
  730   FOR J%= 8 TO 0 STEP-1
  740
  750     SYS "GPIO_WriteData",A%(J%),1
  760
  770     TIME=0:REPEAT UNTIL TIME>1
  780
  790     SYS"GPIO_WriteData",A%(J%),0
  800
  810   NEXT
  820
  830 REM FOR I%=1 TO 20
  840
  850   FOR J%= 0 TO 8
  860
  870     SYS "GPIO_WriteData",A%(J%),1
  880
  890     FOR T%=1 TO 100000:NEXT
  900
  910     SYS"GPIO_WriteData",A%(J%),0
  920
  930   NEXT
  940
  950   FOR J%= 8 TO 0 STEP-1
  960
  970     SYS "GPIO_WriteData",A%(J%),1
  980
  990     FOR T%=1 TO 100000:NEXT
 1000
 1010     SYS"GPIO_WriteData",A%(J%),0
 1020
 1030   NEXT
 1040
 1050
 1060
 1070
 1080 PROC_switch
 1090
 1100 DEFPROCinit
 1110
 1120 OSCLI"RMEnsure GPIO 0.00 RMLoad GPIO"
 1130
 1140 OSCLI"RMensure GPIO 0.40 ERROR Please install the GPIO module"
 1150 SYS"GPIO_EnableI2C",0
 1160 SYS"GPIO_ExpAsGPIO",2
 1170 SYS"GPIO_GetBoard" TO PiType%
 1180
 1190 DIM A%(30)
 1200 IF PiType%=12 A%()= 3,4,17,27,22,10,9,11,7,8,25,23,15,14,24,28,29,30,31,2,18
 1204 
 1210 
 1220  ENDPROC
 1225 REPEAT
 1230 DEFPROC_switch
 1240 REM INPUT 1,2,3,4,10,11,12,13 FOR 8 LEDSs
 1250 L$= GET$: OFF : REM ORIGINALLY LINE 220
 1260 REM FOR R%= 1 TO 8: REM FOR INDIVIDUAL LED TO PRESS "X"
 1270 IF L$= "1" THEN N% = 1
 1280 IF L$= "2" THEN N% = 2
 1290 IF L$= "3" THEN N% = 3
 1300 IF L$= "4" THEN N% = 4
 1310 IF L$= "5" THEN N% = 5
 1320 IF L$= "6" THEN N% = 6
 1330 IF L$= "7" THEN N% = 7
 1340 IF L$= "8" THEN N% = 8
 1350 IF L$= "R" OR L$= "r" THEN PROC_rightmov
 1360 IF L$= "L" OR L$= "l" THEN PROC_leftmov
 1370 IF L$= "O" OR L$= "o" THEN PROC_off_led
 1380 IF L$= "W" OR L$= "w" THEN PROC_wave_pwm
 1390 IF L$= "F" OR L$= "f" THEN PROC_pwm_motor
 1400 IF L$= "H" OR L$= "h" THEN PROC_sol
 1410 IF L$= "Q" OR L$= "q" THEN QUIT
 1420 IF L$= "S" OR L$= "s" THEN RUN
 1430 IF L$= "E" OR L$= "e" THEN N% = 11
 1432 IF L$= "D" OR L$= "d" THEN PROC_p5_test
 1234 REM P5 PIN 5= GPIO 30
 1440  SYS "GPIO_WriteData",A%(N%),1
 1450
 1460
 1470
 1480
 1490 PROC_switch
 1500
 1510
 1520 DEFPROC_off_led
 1530 FOR E%= 1 TO 17
 1540 SYS "GPIO_WriteData",A%(E%),0
 1550  NEXT
 1560 PROC_switch
 1570 DEFPROC_rightmov
 1580 FOR R%= 1 TO 8
 1590 SYS "GPIO_WriteData",A%(R%),1
 1600 FOR D%= 1 TO 1000000: NEXT
 1610 NEXT
 1620
 1630 PROC_switch
 1640 DEFPROC_leftmov
 1650 FOR L%= 8 TO 1 STEP -1
 1660 SYS "GPIO_WriteData",A%(L%),1
 1670 FOR D%= 1 TO 1000000: NEXT
 1680 NEXT
 1690
 1700 PROC_switch
 1710 DEFPROC_pwm_motor
 1720 SYS "GPIO_WriteData",18,1
 1730 SYS "GPIO_ReadData",8 TO J%: IF J%= 1 THEN PROC_motor_stop
 1740 S%= 450000
 1750
 1760  FOR D%= 1 TO 30000: NEXT
 1770 G%= INKEY (1)
 1780 IF INKEY (-99) THEN 1900: REM RESET MOTOR TO LOW
 1790 IF INKEY (-122) THEN SYS "GPIO_WriteData",15,0: SYS "GPIO_WriteData",14,1
 1800 IF INKEY (-26) THEN SYS "GPIO_WriteData",14,0: SYS "GPIO_WriteData",15,1
 1810 IF INKEY (-42) OR INKEY (-98) THEN S%=S% + 450000 : REM ARROW DWN DOWN SPEED
 1820 IF INKEY (-58) OR INKEY (-66) THEN S%=S% - 550000 : REM ARROW UP UP  SPEED
 1830
 1840 SYS "GPIO_WriteData",18,0
 1850 FOR D%= 1 TO S%: NEXT
 1860 SYS "GPIO_WriteData",18,0: REM THIS TO DELAY MOTOR CW AND CCW
 1870 FOR N%=1 TO 100000: NEXT
 1880 PROC_pwm_motor
 1890
 1900 SYS "GPIO_WriteData",15,0
 1910 SYS "GPIO_WriteData",14,0
 1920 PROC_switch
 1930
 1940 DEFPROC_sol
 1950
 1960 SYS "GPIO_ReadData",25 TO E%: FOR D%= 1 TO 50000: NEXT: IF E%= 1 THEN PROC_sol_stop
 1970  K%= INKEY (1)
 1980
 1990 SYS "GPIO_WriteData",24,1: SYS "GPIO_WriteData",23,0
 1995
 2000
 2010 SYS "GPIO_WriteData",23,1: SYS "GPIO_WriteData",24,0
 2015
 2020 IF INKEY (-99) THEN SYS "GPIO_WriteData",24,0: SYS "GPIO_WriteData",23,0: PROC_switch
 2030 FOR D%= 1 TO 1500000: NEXT
 2040   SYS "GPIO_WriteData",24,0
 2050   SYS "GPIO_WriteData",23,0
 2060 FOR D%= 1 TO 1000000: NEXT
 2070 PROC_sol
 2080 PROC_switch
 2090 DEFPROC_wave_pwm
 2100 F$= GET$: OFF
 2110 IF F$= "A" THEN T%= 2700
 2120 IF F$= "B" THEN T%= 3700
 2130 IF F$= "1" THEN T%= 47000
 2140 IF F$= "2" THEN T%= 50000
 2150 IF F$= "3" THEN T%= 57000
 2160 IF F$= "4" THEN T%= 60000
 2170 IF F$= "5" THEN T%= 67000
 2180 IF F$= "6" THEN T%= 70000
 2190 IF F$= "7" THEN T%= 77000
 2200 IF F$= "8" THEN T%= 80000
 2210 SYS "GPIO_WriteData",18,1
 2220 FOR D%= 1 TO T%: NEXT
 2230 SYS "GPIO_WriteData",18,0
 2240
 2250 W%= INKEY (1)
 2260 IF INKEY (-99) THEN SYS "GPIO_WriteData",18,0: PROC_switch
 2270
 2280 SYS "GPIO_WriteData",18,1
 2290 FOR D%= 1 TO T%: NEXT
 2300 PROC_wave_pwm
 2310
 2320 DEFPROC_sine
 2320 SYS "GPIO_WriteData",1,1
 2330 FOR D%= 1 TO T%: NEXT : REM THIS DELAY IS FOR PULSE WIDTH, THE VALUE CREATED A SYMMETRICAL 100HZ SQUARE WAVE WITH JITTER OF ABOUT 200 MICRO SECOND
 2340 SYS "GPIO_WriteData",18,0
 2350
 2360 W%= INKEY (1)
 2370 IF INKEY (-99) THEN SYS "GPIO_WriteData",18,0 : PROC_switch
 2380
 2390
 4000 DEFPROC_motor_stop
 4010 SYS "GPIO_WriteData",18,0
 4020 SYS "GPIO_ReadData",8 TO E%: IF E%= 1 THEN 4000
 4030 FOR D%= 1 TO 500000: NEXT
 4040 PROC_pwm_motor
 4050 DEFPROC_sol_stop
 4060 SYS "GPIO_WriteData",23,0
 4070 SYS "GPIO_WriteData",24,0
 4080 FOR D%= 1 TO 5000000: NEXT
 4090 PROC_sol
 4100
 5000 DEFPROC_p5_test : REM THIS MAY NOT WORK YET.
 5010
 5020 SYS "GPIO_WriteData",28,1
 5022 SYS "GPIO_WriteData",29,1
 5024 SYS "GPIO_WriteData",30,1
 5026 SYS "GPIO_WriteData",31,1
 5030 FOR D%= 1 TO 500000: NEXT
 5040 M%= INKEY (1)
 5050 IF INKEY (-99) THEN PROC_switch
 5060 GOTO 5000

 

NOTE: 

Line numbers without commands are relics of modifications and can be excluded or you can entirely remove all the line numbers but no guarantee that it will work without a glitch. Send me an email for an updated version at  kits@kits-gadgets.com.

 

 

Copyright 2013 Kits and Gadgets Electronics Inc. All rights reserved.

Web Hosting by Yahoo

Kits and Gadgets Electronics Inc.
Farwaniya, Kuwait 80003
Kuwait

ph: +965 99571844

kits@kits-gadgets.com