#Pico Geiger Nuclear GSM Alert #La Pico W este conectat sensorul de radiatii nucleare Pocket Geiger, #LCD de ip Nokia 5110, modul GSM de SIM800L EVB modificat. #Conexiuni la Pico board cu numerotare conector fizic : #Pocket Geiger -2 (GP1) #GSM: #Tx - 7 (GP5) #Rx - 6 (GP4) #Nokia LCD: #RST -17 (GP13) #CE -19 (GP14) #DC -20 (GP15) #DIN -15 (GP11) #ClK -14 (GP10) #Vcc -36 #GND -38 #BL -12 #LED green -21 #LED red -9 import pcd8544_fb # Lib for Nokia 5110 from machine import Pin, SPI, UART from utime import sleep spi=SPI(1) # implicit foloseste sck-GP10, mosi-GP11 # miso -GP8, baud=1900000, spi.init(baudrate=1000000,polarity=0,phase=0) ser = UART(1,9600) # Pico Tx este la pin6, Rx la pin 7 # Am conectat si Rx pentru ser.read() cs = Pin(14, Pin.OUT) #Nokia cs dc = Pin(15,Pin.OUT) #Nokia dc rst= Pin(13,Pin.OUT) #Nokia rst back_light = Pin(9,Pin.OUT,value=1) #Nokia bl lcd=pcd8544_fb.PCD8544_FB(spi,cs,dc,rst) ledred = Pin(6, Pin.OUT) # pin 9 ledgreen= Pin(16, Pin.OUT) # pin 21 geiger=Pin(1,Pin.IN,Pin.PULL_UP) # pocket geiger global a # contor pulsuri Geiger a=0 a=0 def numar(pin): # contor pulsuri gama sleep(0.001) global a a=a+1 # incrementare contor pulsuri ledred.off() # aprind led/sun sleep(0.1) ledred.on() # sting led geiger.irq(trigger=Pin.IRQ_RISING, handler=numar) # intrerupere def sendsms(): ser.write("AT\r\n") # initializare GSM modem sleep(0.5) ser.write("AT+CMGF=1\r\n") # mod lucru SMS sleep(0.5) ser.write("AT+CMGS=\"+40746831351\"\r\n") # numar telefon sleep(0.3) ser.write("La Barnova nivelul radiatiilor gama este normal") # mesaj sleep(0.3) ser.write(chr(26)) # send SMS sleep(0.2) while 1 : global a #a=a+1 if a>10 : # depasire nivel natural sendsms() # send SMS a=0 # clear contor lcd.fill(0) # clear dsplay Nokia 5110 sleep(0.6) lcd.text("Gamma Ray:",0,0,1) # afisare header lcd.text(str(a),0,30,1) # afisare ni