home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / maj / 2364 / minilab / schema9.bas < prev    next >
BASIC Source File  |  1993-10-22  |  7KB  |  128 lines

  1. REM W. Prévost 1993 : MINILAB: SCHEMA9 : OSCILLATEUR SINUSOIDAL
  2.  
  3. DEFINT A-Z: SCREEN 12
  4. debut: LINE (350, 132)-(350, 161), 12: CIRCLE (350, 130), 2, 12
  5. x = 335: y = 115: C = 12: GOSUB plus: GOSUB V: GOSUB cm: GOSUB cm
  6. LINE (350, 188)-(350, 220), 15: CIRCLE (350, 222), 2, 15
  7. x = 335: y = 237: C = 15: GOSUB moins: GOSUB V: GOSUB cm: GOSUB cm
  8. mas = 325: fin = 485: LINE (190, mas)-(fin, mas), 7
  9. LINE -(fin, mas - 20), 7: CIRCLE (fin, mas - 22), 2, 7
  10. x = fin + 10: y = mas - 22: C = 7: GOSUB m0: x = x + 4: GOSUB V
  11. cd = 190: cdy = 200: GOSUB cond1: LINE (cd, 213)-(cd, mas), 14
  12. LINE (cd, 90)-(cd, 100), 14: LINE (cd, 100)-(cd, 200), 14
  13. x = cd + 15: y = 208: C = 14: GOSUB C: xr = 240: yr = 200: cr = 14: GOSUB res1
  14. LINE (xr, yr + 20)-(xr, mas), 14: LINE (320, 160)-(cd, 160), 14               'de + CI
  15. LINE (xr, 160)-(xr, yr), 14
  16. x = xr + 10: y = yr + 10: GOSUB R: xr = 300: yr = 280: cr = 10: GOSUB res1
  17. LINE (320, 190)-(300, 190), cr: LINE -(300, yr), cr
  18. x = xr - 15: y = yr + 10: C = cr: GOSUB Rm: GOSUB 1
  19. LINE (xr, yr + 20)-(xr, mas), cr: LINE (xr, yr - 15)-(xr + 20, yr - 15), cr
  20. LINE (xr + 20, yr - 11)-(xr + 45, yr - 19), cr, B
  21. LINE (xr + 45, yr - 15)-(xr + 80, yr - 15), cr
  22. x = xr + 25: y = yr: GOSUB Rm: GOSUB 2
  23. a = xr + 80: B = yr: D = yr - 30: C = 9: LINE (a, B)-(a, D), C
  24. LINE (a + 30, B - 5)-(a + 30, B + 5), 9: LINE -(a + 40, B), 9: LINE -(a + 30, B - 5), 9
  25. LINE (a + 40, B - 5)-(a + 40, B + 5), 9: PAINT (a + 35, B), 9, 9
  26. LINE (a + 40, D - 5)-(a + 40, D + 5), 9: LINE -(a + 30, D), 9: LINE -(a + 40, D - 5), 9
  27. LINE (a + 30, D - 5)-(a + 30, D + 5), 9: PAINT (a + 35, D), 9, 9
  28. LINE (a, B)-(a + 70, B), C: LINE (a, D)-(a + 70, D), C
  29. LINE (a + 70, yr)-(a + 70, 176), 9
  30. LINE (a + 70, 174)-(a + 70, 90), 14: LINE -(320, 90), 14
  31. LINE (300, 86)-(320, 94), 14, B: x = 310: y = 105: C = 14: GOSUB R
  32. LINE (300, 90)-(262, 90), 14: LINE (190, 90)-(247, 90), 14
  33. cd = 254: cdy = 90: GOSUB condo2: x = 255: y = 108: GOSUB C
  34. LINE (320, 150)-(320, 200), 5: LINE -(385, 175), 5: LINE -(320, 150), 5 'CI
  35. x = 330: y = 175: C = 13: GOSUB a: GOSUB m0: GOSUB P
  36. x = 310: y = 152: C = 5: GOSUB plus: x = 310: y = 195: GOSUB moins
  37. LINE (385, 175)-(fin, 175), 5: LINE -(fin, 195), 5: CIRCLE (fin, 197), 2, 5
  38. ohm$ = CHR$(234)
  39. LOCATE 26, 5: COLOR 14: PRINT "R : 15 k"; ohm$
  40. LOCATE 27, 5: COLOR 10: PRINT "R1 : 1OO k"; ohm$
  41. LOCATE 28, 5: COLOR 10: PRINT "R2 : 22O k"; ohm$
  42. LOCATE 26, 25: COLOR 14: PRINT "C : 4,7 nF"
  43. LOCATE 27, 25: COLOR 9: PRINT "D : 1N 4148": COLOR 15
  44. y = 250: cc2 = 13: k = 20: x = 440: FOR a = 180 TO 360 STEP 6
  45. ang! = a * .01745: PSET (x + a / 6, y + k * SIN(ang!)), cc2: NEXT a
  46. FOR a = 0 TO 180 STEP 4
  47. ang! = a * .01745: PSET (x + 60 + a / 6, y + k * SIN(ang!)), cc2: NEXT a:
  48. attente:     f$ = "": WHILE f$ = "": f$ = INKEY$: WEND: f$ = UCASE$(f$)
  49. IF f$ = "Q" THEN GOTO quitter
  50. IF f$ = "C" THEN GOSUB calcul
  51. GOTO attente: END
  52. quitter: LINE (0, 61)-(639, 479), 0, BF: CHAIN "minilab\SCHEMAS.bas"
  53.  
  54. m0: FOR H = x - 1 TO x + 2: PSET (H, y - 4), C: NEXT H
  55. FOR H = x - 1 TO x + 2: PSET (H, y + 4), C: NEXT H
  56. FOR V = y TO y + 3: PSET (x - 2, V), C: NEXT V
  57. FOR V = y TO y + 3: PSET (x + 3, V), C: NEXT V
  58. FOR V = y - 3 TO y - 1: PSET (x - 2, V), C: NEXT V
  59. FOR V = y - 3 TO y - 1: PSET (x + 3, V), C: NEXT V: x = x + 9: RETURN
  60. a: PSET (x, y - 4), C: PSET (x + 1, y - 4), C
  61. PSET (x - 1, y - 3), C: PSET (x + 2, y - 3), C
  62. FOR vert = y - 2 TO y + 4: PSET (x - 2, vert), C: PSET (x + 3, vert), C: NEXT vert
  63. FOR hor = x - 1 TO x + 2: PSET (hor, y + 1), C: NEXT hor: x = x + 9: RETURN
  64. C: PSET (x, y - 4), C: PSET (x + 1, y - 4), C
  65. PSET (x - 1, y - 3), C: PSET (x + 2, y - 3), C
  66. FOR vert = y - 2 TO y + 2: PSET (x - 2, vert), C: NEXT vert
  67. PSET (x + 3, y - 2), C: PSET (x + 3, y + 2), C
  68. PSET (x, y + 4), C: PSET (x + 1, y + 4), C
  69. PSET (x - 1, y + 3), C: PSET (x + 2, y + 3), C: x = x + 9: RETURN
  70. P: FOR V = y - 4 TO y + 4: PSET (x - 2, V), C: NEXT V
  71. FOR H = x - 1 TO x + 1: PSET (H, y - 4), C: NEXT H
  72. PSET (x + 2, y - 3), C: PSET (x + 3, y - 2), C: PSET (x + 2, y - 1), C
  73. FOR H = x - 1 TO x + 1: PSET (H, y), C: NEXT H: x = x + 9: RETURN
  74. R:  FOR V = y - 4 TO y + 4: PSET (x - 2, V), C: NEXT V
  75. FOR H = x - 1 TO x + 1: PSET (H, y - 4), C: NEXT H
  76. PSET (x + 2, y - 3), C: PSET (x + 3, y - 2), C: PSET (x + 2, y - 1), C
  77. FOR H = x - 1 TO x + 1: PSET (H, y), C: NEXT H
  78. FOR V = y + 1 TO y + 4: PSET (x + 2, V), C: NEXT V: x = x + 9: RETURN
  79. V: FOR V = y - 4 TO y + 1: PSET (x - 2, V), C: PSET (x + 3, V), C: NEXT V
  80. FOR V = y + 2 TO y + 3: PSET (x - 1, V), C: PSET (x + 2, V), C: NEXT V
  81. PSET (x, y + 4), C: PSET (x + 1, y + 4), C: x = x + 9: RETURN
  82. plus: x = x + 2: FOR H = x - 3 TO x + 3: PSET (H, y), C: NEXT H
  83. FOR V = y - 3 TO y + 3: PSET (x, V), C: NEXT V: x = x + 8: RETURN
  84. moins: x = x + 2: FOR H = x - 3 TO x + 3: PSET (H, y), C: NEXT H
  85. x = x + 8: RETURN
  86. 1 : y = y + 1: PSET (x - 1, y - 3), C: FOR V = y - 3 TO y + 2: PSET (x, V), C: NEXT V
  87. FOR H = x - 1 TO x + 1: PSET (H, y + 3), C: NEXT H: y = y - 1: x = x + 7: RETURN
  88. 2 : y = y + 1: FOR H = x - 1 TO x + 1: PSET (H, y - 3), C: NEXT H
  89. PSET (x - 2, y - 2), C: PSET (x + 2, y - 2), C: PSET (x + 2, y - 1), C
  90. FOR H = x - 1 TO x + 1: PSET (H, y), C: NEXT H: PSET (x - 2, y + 1), C
  91. PSET (x - 2, y + 2), C
  92. FOR H = x - 2 TO x + 2: PSET (H, y + 3), C: NEXT H: y = y - 1: x = x + 7: RETURN
  93. cm: y = y + 1: FOR H = x - 1 TO x + 1: PSET (H, y - 3), C: NEXT H
  94. PSET (x - 2, y - 2), C: PSET (x + 2, y - 2), C
  95. FOR V = y - 1 TO y + 1: PSET (x - 2, V), C: NEXT V
  96. PSET (x - 2, y + 2), C: PSET (x + 2, y + 2), C
  97. FOR H = x - 1 TO x + 1: PSET (H, y + 3), C: NEXT H
  98. x = x + 7: y = y - 1: RETURN
  99. Rm: y = y + 1: FOR V = y - 3 TO y + 3: PSET (x - 2, V), C: NEXT V
  100. PSET (x + 2, y - 2), C
  101. FOR H = x - 1 TO x + 1: PSET (H, y - 3), C: NEXT H: x = x + 7: y = y - 1: RETURN
  102. condo2: LINE (cd - 7, cdy - 8)-(cd - 2, cdy + 8), 14, B
  103. LINE (cd + 7, cdy - 8)-(cd + 2, cdy + 8), 14, B: RETURN
  104. cond1: LINE (cd - 7, cdy)-(cd + 7, cdy + 4), 14, B
  105. LINE (cd - 7, cdy + 8)-(cd + 7, cdy + 12), 14, B: RETURN
  106. res1: LINE (xr - 3, yr)-(xr + 3, yr + 20), cr, B: RETURN
  107. calcul: a = 380: aa = 639: B = 123: bb = 355: cf = 0: GOSUB box2
  108. LOCATE 10, 51: COLOR 3: PRINT "FREQUENCE (f):": LINE (398, 161)-(508, 161), 3
  109. LOCATE 12, 51: PRINT "f"
  110. COLOR 15: LOCATE 12, 52: PRINT " = 1 / 2 "; CHR$(227); " R C"
  111. LOCATE 14, 51: PRINT "  = 1 / 6,28 x "
  112. COLOR 14: LOCATE 14, 66: PRINT "15 k"; ohm$; " x 4,7 nF"
  113. COLOR 15: LOCATE 16, 51: PRINT "  = 2,26 kHz"
  114. LOCATE 18, 51: PRINT "Ce montage oscille quand :"
  115. LOCATE 20, 51: PRINT "R2 = 2 x R1 environ"
  116. f$ = "": WHILE f$ = "": f$ = INKEY$: WEND: LINE (a, B)-(aa, bb), 0, BF
  117. LINE (639, B)-(639, bb), 9: GOTO debut
  118. box2: LINE (a, B)-(aa, bb), 1, BF
  119. LINE (a, B)-(aa, bb), 0, B: LINE (a + 5, B + 5)-(aa - 5, bb - 5), 0, B
  120. PAINT (a + 3, B + 10), 7, 0: LINE (a + 6, B + 6)-(aa - 6, bb - 6), cf, BF
  121. LINE (a + 1, B + 1)-(a + 1, bb - 1), 15: LINE -(aa - 1, bb - 1), 15
  122. LINE (a + 35, B)-(a + 35, B + 5), 8: LINE (a + 35, bb - 5)-(a + 35, bb - 1), 8
  123. LINE (aa - 35, B)-(aa - 35, B + 5), 8: LINE (aa - 35, bb - 5)-(aa - 35, bb - 1), 8
  124. LINE (a + 1, B + 35)-(a + 5, B + 35), 8: LINE (a + 1, bb - 35)-(a + 5, bb - 35), 8
  125. LINE (aa, B + 35)-(aa - 5, B + 35), 8: LINE (aa, bb - 35)-(aa - 5, bb - 35), 8
  126. RETURN
  127.  
  128.